Function at 0x405fb0
Capabilities:
Read file on windows

Disassembly:
jmp 0x405fb0
push 0xffffffffffffffff
push 0x49af88
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4caff4]
xor eax, esp
push eax
lea eax, [esp + 0x1c]
mov dword fs:[0], eax
call fcn.004281c4
xor ecx, ecx
xor ebx, ebx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405ff3
push 0x80004005
call fcn.004017c6
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x2c]
push 0x4a6730
push ecx
mov dword [esp + 0x2c], ebx
call fcn.00452c0a
mov esi, eax
add esp, 8
cmp esi, ebx
jne 0x406036
push 0x4be528
lea edx, [esp + 0x34]
push edx
mov dword [esp + 0x38], 3
call fcn.004517ae
push esi
push 2
lea eax, [esp + 0x1c]
push 1
push eax
call fcn.00452b2b
add esp, 0x10
test eax, eax
jne 0x406063
push 0x4be528
lea ecx, [esp + 0x34]
push ecx
mov dword [esp + 0x38], 7
call fcn.004517ae
mov ax, word [esp + 0x14]
cmp ax, bx
jne 0x406084
push 0x4be528
lea edx, [esp + 0x34]
push edx
mov dword [esp + 0x38], 7
call fcn.004517ae
mov ecx, dword [esp + 0x30]
movzx eax, ax
push eax
call fcn.00401109
test eax, eax
jne 0x4060a8
push 0x4be528
lea ecx, [esp + 0x34]
push ecx
mov dword [esp + 0x38], ebx
call fcn.004517ae
cmp word [esp + 0x14], bx
mov dword [esp + 0x2c], ebx
jb 0x4061b5
mov edx, dword [esp + 0x30]
mov edi, dword [edx + 8]
push esi
push 2
add edi, ebx
push 1
push edi
call fcn.00452b2b
push esi
call fcn.00452855
add esp, 0x14
test eax, eax
jne 0x4061e3
push esi
call fcn.00452884
add esp, 4
test eax, eax
jne 0x4061fa
push esi
push 2
lea ebp, [edi + 2]
push 1
push ebp
call fcn.00452b2b
push esi
call fcn.00452855
add esp, 0x14
test eax, eax
jne 0x406211
push esi
call fcn.00452884
add esp, 4
test eax, eax
jne 0x406228
movzx eax, word [ebp]
test ax, ax
jbe 0x40617b
movzx eax, ax
add eax, 1
push eax
call fcn.00410c12
add esp, 4
test eax, eax
mov dword [edi + 0xc], eax
je 0x40623f
movzx ecx, word [ebp]
push esi
push 1
push ecx
push eax
call fcn.00452b2b
movzx edx, word [ebp]
mov eax, dword [edi + 0xc]
push esi
mov byte [edx + eax], 0
call fcn.00452855
add esp, 0x14
test eax, eax
jne 0x406256
push esi
call fcn.00452884
add esp, 4
test eax, eax
jne 0x40626d
push esi
push 4
push 1
add edi, 8
push edi
call fcn.00452b2b
push esi
call fcn.00452884
add esp, 0x14
test eax, eax
jne 0x406284
mov eax, dword [esp + 0x2c]
movzx ecx, word [esp + 0x14]
add eax, 1
add ebx, 0x10
cmp eax, ecx
mov dword [esp + 0x2c], eax
jle 0x4060b7
push esi
call fcn.004527d9
push esi
call fcn.00452855
add esp, 8
test eax, eax
je 0x40629b
push 0x4be528
lea ecx, [esp + 0x34]
push ecx
mov dword [esp + 0x38], 6
call fcn.004517ae
push 0x4be528
lea edx, [esp + 0x34]
push edx
mov dword [esp + 0x38], 1
call fcn.004517ae
push 0x4be528
lea eax, [esp + 0x34]
push eax
mov dword [esp + 0x38], 4
call fcn.004517ae
push 0x4be528
lea ecx, [esp + 0x34]
push ecx
mov dword [esp + 0x38], 1
call fcn.004517ae
push 0x4be528
lea edx, [esp + 0x34]
push edx
mov dword [esp + 0x38], 4
call fcn.004517ae
push 0x4be528
lea eax, [esp + 0x34]
push eax
mov dword [esp + 0x38], 0
call fcn.004517ae
push 0x4be528
lea ecx, [esp + 0x34]
push ecx
mov dword [esp + 0x38], 1
call fcn.004517ae
push 0x4be528
lea edx, [esp + 0x34]
push edx
mov dword [esp + 0x38], 4
call fcn.004517ae
push 0x4be528
lea eax, [esp + 0x34]
push eax
mov dword [esp + 0x38], 4
call fcn.004517ae
mov dx, word [esp + 0x14]
mov eax, dword [esp + 0x30]
mov word [eax + 4], dx
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov dword [esp + 0x24], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4062d0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
mov ecx, dword [esp + 0x1c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 8