mov qword ptr ss:[rsp+18],rbx
mov qword ptr ss:[rsp+20],rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp,30
xor r13d,r13d
mov r12d,r9d
mov r14,r8
mov rsi,rdx
mov rdi,rcx
cmp dword ptr ds:[rdx+C],r13d
je metroexodus.14F245504
mov r9,r8
mov qword ptr ss:[rsp+28],r13
mov r8,qword ptr ds:[rdx]
mov ebp,1
xor edx,edx
mov dword ptr ss:[rsp+20],ebp
mov rcx,rsi
call metroexodus.140A32830
mov rbx,rax
test rax,rax
je metroexodus.14F245504
movzx ecx,word ptr ds:[rax+6]
mov qword ptr ss:[rsp+60],r15
mov qword ptr ss:[rsp+68],r13
lea rdx,qword ptr ds:[rcx+rcx*2]
shl rdx,4
lea rcx,qword ptr ds:[1415D7990]
add rsi,rdx
call qword ptr ds:[<&RtlEnterCriticalSection>]
mov rdx,qword ptr ss:[rsp+80]
test rdx,rdx
je metroexodus.14F245438
mov eax,dword ptr ds:[rbx+8]
cmp eax,dword ptr ds:[rbx+C]
cmove eax,r13d
mov dword ptr ds:[rdx],eax
lea rcx,qword ptr ds:[rsi+D0]
call metroexodus.140A32770
mov edx,dword ptr ds:[rbx+10]
xor r8d,r8d
mov r15,rax
mov ecx,dword ptr ds:[rax]
call qword ptr ds:[<&_lseek>]
cmp eax,FFFFFFFF
je metroexodus.14F245460
mov dword ptr ds:[r15+4],eax
jmp metroexodus.14F245468
mov rcx,r14
call metroexodus.140A34090
test r12d,r12d
je metroexodus.14F245475
mov esi,dword ptr ds:[rbx+C]
mov r8d,r13d
jmp metroexodus.14F24547C
mov esi,dword ptr ds:[rbx+8]
mov r8d,dword ptr ds:[rbx+C]
mov edx,esi
mov rcx,r15
call metroexodus.140A2CC90
<<<<<=====mov r15,rax
call metroexodus.140A26030
mov rcx,rax
mov r14,rax
inc dword ptr ds:[rax+140]
call qword ptr ds:[<&RtlEnterCriticalSection>]
mov rcx,qword ptr ds:[r14+30]
mov edx,30
call metroexodus.140A28630
mov rbx,rax
test rax,rax
jne metroexodus.14F2454BB
call metroexodus.140A25E40
mov rcx,r14
call qword ptr ds:[<&RtlLeaveCriticalSection>]
mov qword ptr ds:[rbx+8],r13
lea rax,qword ptr ds:[1413432D0]
mov dword ptr ds:[rbx+10],r13d
lea rcx,qword ptr ds:[1415D7990]
mov dword ptr ds:[rbx+14],r13d
mov qword ptr ds:[rbx+18],r15
mov dword ptr ds:[rbx+20],r13d
mov dword ptr ds:[rbx+24],esi
mov dword ptr ds:[rbx+28],r13d
mov qword ptr ds:[rbx],rax
call qword ptr ds:[<&RtlLeaveCriticalSection>]
mov qword ptr ds:[rdi],rbx
lock add dword ptr ds:[rbx+14],ebp
mov r15,qword ptr ss:[rsp+60]
jg metroexodus.14F245507
mov qword ptr ds:[rdi],r13
mov rbx,qword ptr ss:[rsp+70]
mov rax,rdi
mov rbp,qword ptr ss:[rsp+78]
add rsp,30
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret