Function at 0x41d960
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4c0e20
mov eax, dword fs:[0]
push eax
sub esp, 0x44
mov eax, dword [0x4f4524]
xor eax, esp
mov dword [esp + 0x40], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4f4524]
xor eax, esp
push eax
lea eax, [esp + 0x58]
mov dword fs:[0], eax
mov edi, dword [esp + 0x68]
mov ebx, dword [esp + 0x70]
push 1
mov esi, ecx
call fcn.00413790
test al, al
je 0x41d9ae
xor al, al
jmp 0x41dd45
cmp byte [esi + 0x190], 0
jne 0x41d9a7
xor ebp, ebp
cmp dword [esi + 0xb8], ebp
je 0x41d9d5
xor eax, eax
cmp byte [esi + 0xfc], al
setne al
lea eax, [eax + eax - 1]
cmp eax, 0xffffffff
je 0x41d9a7
mov eax, dword [esi + 0x144]
sub eax, dword [esi + 0x140]
sar eax, 2
cmp eax, 0xffff
je 0x41d9a7
mov dword [esp + 0x20], ebp
cmp ebx, ebp
je 0x41da28
lea eax, [esp + 0x20]
push eax
push ebx
call fcn.00422050
add esp, 8
test al, al
je 0x41d9a7
lea ecx, [esp + 0x24]
push ecx
push ebx
call fcn.00422070
add esp, 8
test al, al
jne 0x41da28
push ebp
call fcn.004485f4
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov edx, dword [esi + 0x78]
push ebp
push edx
lea ecx, [esi + 0x7c]
call fcn.004207a0
mov ecx, edi
cmp ebx, ebp
je 0x41da54
lea eax, [esp + 0x24]
push eax
call fcn.004122d0
mov ecx, dword [esp + 0x20]
push ecx
push edi
mov ecx, esi
call fcn.00413ab0
jmp 0x41da60
mov edx, dword [esi + 0x1cc]
push edx
call fcn.00413510
lea eax, [esp + 0x38]
push eax
mov ecx, edi
call fcn.00412860
mov ecx, edi
mov dword [esp + 0x60], ebp
call fcn.00412a30
mov byte [esp + 0x17], al
test al, al
je 0x41dacc
mov eax, dword [esp + 0x4c]
cmp eax, ebp
je 0x41daa2
dec eax
push eax
lea ecx, [esp + 0x3c]
call fcn.004126f0
movzx ecx, al
push ecx
call fcn.00411de0
add esp, 4
test al, al
jne 0x41dacc
movzx edx, byte [0x4d05b5]
push edx
push 1
lea ecx, [esp + 0x40]
call fcn.00409315
cmp dword [esp + 0x50], 0x10
mov eax, dword [esp + 0x3c]
jae 0x41dac4
lea eax, [esp + 0x3c]
push eax
mov ecx, edi
call fcn.00412540
cmp dword [esp + 0x4c], ebp
jne 0x41db0b
mov eax, dword [esi + 0x144]
sub eax, dword [esi + 0x140]
sar eax, 2
push eax
lea eax, [esp + 0x3c]
push str.file_i
push eax
call fcn.0041b7c0
mov eax, dword [esp + 0x48]
add esp, 0xc
cmp dword [esp + 0x50], 0x10
jae 0x41db03
lea eax, [esp + 0x3c]
push eax
mov ecx, edi
call fcn.00412540
lea ecx, [edi + 0x38]
push 1
push ecx
call fcn.00421ec0
mov eax, dword [esp + 0x74]
add esp, 8
cmp dword [esi + 0x1f8], ebp
mov ecx, eax
setne byte [esp + 0x1c]
or edx, 0xffffffff
and ecx, 0xffff
cmp ecx, 0x100
sete bl
mov dword [esp + 0x18], edx
test bl, bl
je 0x41db56
mov ecx, eax
movsx eax, al
sar ecx, 0x10
mov dword [esp + 0x18], ecx
mov dword [esp + 0x6c], eax
jmp 0x41db5a
mov dword [esp + 0x74], ebp
cmp eax, edx
jl 0x41db63
cmp eax, 9
jle 0x41db69
mov dword [esp + 0x6c], edx
mov eax, edx
xor ecx, ecx
cmp dword [esi + 0xb8], ebp
je 0x41db80
cmp byte [esi + 0xfc], cl
setne cl
lea ecx, [ecx + ecx - 1]
mov edx, dword [esp + 0x1c]
cmp ecx, 1
push edx
sete cl
movzx edx, cl
push edx
push eax
mov ecx, edi
call fcn.00412a40
test al, al
jne 0x41dba5
push ebp
push 0x6d
mov ecx, esi
call fcn.0041a6f0
test bl, bl
je 0x41dbd0
push 1
mov ecx, edi
call fcn.004124f0
add dword [esp + 0x74], eax
test byte [edi + 0xc], 1
je 0x41dbc1
add dword [esp + 0x74], 0xc
mov al, byte [edi + 0xc]
shr al, 3
test al, 1
je 0x41dbd0
add dword [esp + 0x74], 0x10
mov ecx, dword [esp + 0x18]
push ecx
lea ebp, [esi + 0x108]
push edi
mov ecx, ebp
call fcn.00426810
test bl, bl
je 0x41dc08
cmp dword [esp + 0x50], 0x10
mov eax, dword [esp + 0x3c]
jae 0x41dbf6
lea eax, [esp + 0x3c]
mov edx, dword [esp + 0x74]
push eax
mov eax, dword [esp + 0x1c]
push edx
push eax
mov ecx, esi
call fcn.0041d160
mov al, byte [esi + 0x14c]
cmp al, byte [ebp + 0x44]
jne 0x41dc24
mov eax, dword [ebp + 0x20]
xor ebp, ebp
push ebp
push eax
call fcn.00421f00
add esp, 8
jmp 0x41dc26
xor ebp, ebp
lea ebx, [esi + 0x88]
push ebx
mov ecx, esi
call fcn.00413950
mov ecx, eax
call fcn.00412370
cmp byte [esi + 0x14c], 0
je 0x41dc62
cmp dword [esp + 0x50], 0x10
mov eax, dword [esp + 0x3c]
jae 0x41dc53
lea eax, [esp + 0x3c]
push eax
mov ecx, esi
call fcn.00413950
mov ecx, eax
call fcn.00412540
cmp byte [esp + 0x1c], 0
je 0x41dcab
push ebp
push 0xc
lea ecx, [esp + 0x34]
call fcn.00420890
movzx edx, word [edi + 0x10]
lea ecx, [esp + 0x2c]
push ecx
shl edx, 0x10
push edx
mov ecx, esi
mov byte [esp + 0x68], 1
call fcn.00415ff0
mov eax, dword [esp + 0x30]
push ebp
push 0xc
push eax
mov ecx, ebx
call fcn.00421650
lea ecx, [esp + 0x2c]
mov byte [esp + 0x60], 0
call fcn.004208c0
cmp byte [esp + 0x17], 0
mov ecx, dword [esi + 0x84]
mov edx, dword [esi + 0x80]
mov dword [esi + 0x70], ebp
mov dword [esi + 0x38], ebp
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], edx
mov dword [esi + 0x3c], ebp
mov dword [esi + 0x48], ebp
je 0x41dce8
mov ecx, esi
call fcn.00413950
cmp word [eax + 0xe], bp
je 0x41dce8
call fcn.00413950
xor ecx, ecx
mov word [eax + 0xe], cx
mov ecx, esi
call fcn.00413950
cmp word [eax + 0xe], 8
jne 0x41dd33
cmp byte [esi + 0x1ec], 0
je 0x41dd07
lea eax, [esi + 0x1d0]
jmp 0x41dd09
xor eax, eax
mov edx, dword [esp + 0x6c]
push 0x38
push 0x4d0574
push ebp
push 8
push 0xfffffffffffffff1
push 8
mov dword [esi + 0x5c], eax
push edx
lea eax, [esi + 0x34]
push eax
call fcn.0042b680
add esp, 0x20
push eax
mov ecx, esi
call fcn.0041a790
lea ecx, [esp + 0x38]
mov byte [esi + 0x190], 1
call fcn.0040926c
mov al, 1
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x40]
xor ecx, esp
call fcn.00443ac5
add esp, 0x50
ret 0x10