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

Disassembly:
push 0xffffffffffffffff
push 0x4275fa
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x80
push ebx
push ebp
push esi
xor ebx, ebx
push edi
mov dword [esp + 0x10], ebx
push ebx
mov ebp, 0xf
push 0x42a46c
lea ecx, [esp + 0x28]
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
call fcn.00401b80
mov eax, dword [esp + 0xc0]
mov edi, dword [eax + 4]
mov eax, dword [eax + 8]
cmp edi, eax
mov byte [esp + 0x98], 1
mov dword [esp + 0x14], edi
je 0x40d820
lea ecx, [ecx]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 2
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push 0x42adbc
mov byte [ecx + 4], bl
call fcn.00401b80
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x54], esp
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0xe4]
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push eax
mov byte [esp + 0xdc], 2
mov byte [ecx + 4], bl
call fcn.00401310
mov byte [esp + 0xd0], 1
call fcn.0041b6b0
mov esi, eax
add esp, 0x38
cmp esi, 0xffffffff
jne 0x40d741
mov ecx, dword [esp + 0xb8]
push ebx
push 0x42a46c
push ecx
push ebx
lea ecx, [esp + 0xb4]
call fcn.00402b70
test eax, eax
jne 0x40d6d7
push 1
push 0x42a6d0
lea ecx, [esp + 0x44]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], ebx
mov byte [esp + 0x48], bl
call fcn.00401b80
mov ecx, dword [esp + 0x10]
or ecx, 1
lea eax, [esp + 0x3c]
mov byte [esp + 0x98], 3
mov dword [esp + 0x10], ecx
jmp 0x40d6de
lea eax, [esp + 0xa4]
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x2c]
call fcn.00401220
test byte [esp + 0x10], 1
mov dword [esp + 0x98], 1
je 0x40d72a
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x54]
and ecx, 0xfffffffe
cmp eax, 0x10
mov dword [esp + 0x10], ecx
jb 0x40d71e
mov edx, dword [esp + 0x40]
push edx
call fcn.0041e69d
add esp, 4
mov dword [esp + 0x54], ebp
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
push ebx
push 0x42a46c
lea ecx, [esp + 0xac]
call fcn.00401b80
jmp 0x40d7fa
push esi
push ebx
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0xb0]
call fcn.00404530
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0xa4], 4
call fcn.00401220
mov eax, dword [esp + 0x70]
mov edi, 0x10
cmp eax, edi
mov byte [esp + 0x98], 1
jb 0x40d78b
mov ecx, dword [esp + 0x5c]
push ecx
call fcn.0041e69d
add esp, 4
push 0xffffffffffffffff
add esi, 2
push esi
lea edx, [esp + 0x7c]
push edx
lea ecx, [esp + 0xb0]
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x78], ebx
mov byte [esp + 0x68], bl
call fcn.00404530
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xb0]
mov byte [esp + 0xa4], 5
call fcn.00401310
cmp dword [esp + 0x8c], edi
mov byte [esp + 0x98], 1
jb 0x40d7e4
mov eax, dword [esp + 0x78]
push eax
call fcn.0041e69d
add esp, 4
mov edi, dword [esp + 0x14]
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x88], ebx
mov byte [esp + 0x78], bl
push 0xffffffffffffffff
push ebx
push edi
lea ecx, [esp + 0x2c]
call fcn.00401220
mov ecx, dword [esp + 0xc0]
mov eax, dword [ecx + 8]
add edi, 0x1c
cmp edi, eax
mov dword [esp + 0x14], edi
jne 0x40d620
mov eax, dword [esp + 0xb8]
cmp eax, eax
mov edx, eax
jae 0x40d82d
cmp edx, ebx
je 0x40d85f
cmp dword [esp + 0xbc], 0x10
mov esi, dword [esp + 0xa8]
jae 0x40d849
lea esi, [esp + 0xa8]
xor ecx, ecx
mov edi, 0x42a46c
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x40d85b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x40d86a
xor eax, eax
cmp edx, ebx
setne al
cmp eax, ebx
je 0x40d87e
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0xac]
push edx
lea ecx, [esp + 0x2c]
call fcn.00401220
mov esi, dword [esp + 0xa0]
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x28]
mov dword [esi + 0x18], ebp
mov dword [esi + 0x14], ebx
push eax
mov ecx, esi
mov byte [esi + 4], bl
call fcn.00401310
mov eax, dword [esp + 0x38]
mov edi, 0x10
cmp eax, edi
jb 0x40d8b7
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0041e69d
add esp, 4
cmp dword [esp + 0xbc], edi
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
jb 0x40d8dc
mov edx, dword [esp + 0xa8]
push edx
call fcn.0041e69d
add esp, 4
mov ecx, dword [esp + 0x90]
pop edi
mov eax, esi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x8c
ret