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

Disassembly:
push 0xffffffffffffffff
push 0x43f119
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd0
mov eax, dword [0x44b6d0]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xe0]
push ebx
mov dword [esp + 0xd0], eax
call fcn.0042b070
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 4], eax
je 0x40b79d
push ebp
push esi
push edi
jmp 0x40b610
mov eax, dword [esp + 0x10]
nop
cmp dword [eax + 0x24], ebx
je 0x40b61a
mov esi, dword [eax + 0x20]
jmp 0x40b61f
mov esi, 0x4411cc
mov eax, esi
mov dword [esp + 0x30], 0xf
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40b634
sub eax, edx
push eax
push esi
lea ecx, [esp + 0x20]
call fcn.00401c50
mov ebp, dword [esp + 0x2c]
cmp ebp, ebp
mov dword [esp + 0xe8], ebx
mov eax, ebp
jae 0x40b659
cmp eax, ebx
je 0x40b7c1
cmp eax, 7
mov ecx, eax
jb 0x40b66d
mov ecx, 7
cmp dword [esp + 0x30], 0x10
mov esi, dword [esp + 0x1c]
jae 0x40b67c
lea esi, [esp + 0x1c]
mov edi, str.idlegas
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40b68c
sbb edx, edx
sbb edx, 0xffffffff
cmp edx, ebx
jne 0x40b7c1
cmp eax, 7
jb 0x40b7c1
xor edx, edx
cmp eax, 7
setne dl
cmp edx, ebx
jne 0x40b7c1
mov ecx, dword [esp + 0x10]
push str.fname
call fcn.0042c860
mov ebp, 0xf
mov ecx, eax
mov dword [esp + 0x84], ebp
mov dword [esp + 0x80], ebx
mov byte [esp + 0x70], bl
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x40b6d7
sub ecx, esi
push ecx
push eax
lea ecx, [esp + 0x74]
call fcn.00401c50
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x70]
mov edi, 0x10
cmp eax, edi
mov byte [esp + 0xe8], 1
jae 0x40b70b
lea ecx, [esp + 0x70]
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 0x1d4]
mov edx, dword [eax]
push ebx
push ecx
push eax
call dword [edx + 0x78]
mov dword [esi + 8], eax
cmp dword [esp + 0x84], edi
mov byte [esp + 0xe8], bl
jb 0x40b73d
mov eax, dword [esp + 0x70]
push eax
call fcn.0043134d
add esp, 4
mov dword [esp + 0x84], ebp
mov dword [esp + 0x80], ebx
mov byte [esp + 0x70], bl
mov esi, 0x10
mov ebp, 0xf
mov ecx, dword [esp + 0x10]
call fcn.0042b0a0
mov edi, eax
cmp dword [esp + 0x30], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0xe8], 0xffffffff
jb 0x40b786
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.0043134d
add esp, 4
cmp edi, ebx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
jne 0x40b60b
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0xd4]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0xd0]
pop ebx
call fcn.00431ec7
add esp, 0xdc
ret 4
cmp ebp, ebp
mov eax, ebp
jae 0x40b7c7
cmp eax, ebx
je 0x40b8b1
cmp eax, 7
mov ecx, eax
jb 0x40b7db
mov ecx, 7
cmp dword [esp + 0x30], 0x10
mov esi, dword [esp + 0x1c]
jae 0x40b7ea
lea esi, [esp + 0x1c]
mov edi, str.stopgas
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40b7fa
sbb edx, edx
sbb edx, 0xffffffff
cmp edx, ebx
jne 0x40b8b1
cmp eax, 7
jb 0x40b8b1
xor edx, edx
cmp eax, 7
setne dl
cmp edx, ebx
jne 0x40b8b1
mov ecx, dword [esp + 0x10]
push str.fname
call fcn.0042c860
mov ebp, 0xf
mov ecx, eax
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
lea esi, [ecx + 1]
nop
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x40b840
sub ecx, esi
push ecx
push eax
lea ecx, [esp + 0x3c]
call fcn.00401c50
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x38]
mov esi, 0x10
cmp eax, esi
mov byte [esp + 0xe8], 2
jae 0x40b871
lea ecx, [esp + 0x38]
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x1d4]
mov edx, dword [eax]
push ebx
push ecx
push eax
call dword [edx + 0x78]
mov dword [edi + 0xc], eax
cmp dword [esp + 0x4c], esi
mov byte [esp + 0xe8], bl
jb 0x40b8a0
mov eax, dword [esp + 0x38]
push eax
call fcn.0043134d
add esp, 4
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
jmp 0x40b759
push 0xb
push str.idlemachine
push ebp
push ebx
lea ecx, [esp + 0x28]
call fcn.004010f0
test eax, eax
jne 0x40b983
mov ecx, dword [esp + 0x10]
push str.fname
call fcn.0042c860
mov ebp, 0xf
mov ecx, eax
mov dword [esp + 0xa0], ebp
mov dword [esp + 0x9c], ebx
mov byte [esp + 0x8c], bl
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x40b8f8
sub ecx, esi
push ecx
push eax
lea ecx, [esp + 0x90]
call fcn.00401c50
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x8c]
mov esi, 0x10
cmp eax, esi
mov byte [esp + 0xe8], 3
jae 0x40b935
lea ecx, [esp + 0x8c]
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x1d4]
mov edx, dword [eax]
push ebx
push ecx
push eax
call dword [edx + 0x78]
mov dword [edi], eax
cmp dword [esp + 0xa0], esi
mov byte [esp + 0xe8], bl
jb 0x40b969
mov eax, dword [esp + 0x8c]
push eax
call fcn.0043134d
add esp, 4
mov dword [esp + 0xa0], ebp
mov dword [esp + 0x9c], ebx
mov byte [esp + 0x8c], bl
jmp 0x40b759
mov ecx, dword [esp + 0x2c]
push 5
push str.lands
push ecx
push ebx
lea ecx, [esp + 0x28]
call fcn.004010f0
test eax, eax
jne 0x40ba36
mov ecx, dword [esp + 0x10]
push str.fname
call fcn.0042c860
mov ebp, 0xf
mov ecx, eax
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], ebx
mov byte [esp + 0x54], bl
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x40b9c5
sub ecx, esi
push ecx
push eax
lea ecx, [esp + 0x58]
call fcn.00401c50
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x54]
mov esi, 0x10
cmp eax, esi
mov byte [esp + 0xe8], 4
jae 0x40b9f6
lea ecx, [esp + 0x54]
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x1d4]
mov edx, dword [eax]
push ebx
push ecx
push eax
call dword [edx + 0x78]
mov dword [edi + 0x10], eax
cmp dword [esp + 0x68], esi
mov byte [esp + 0xe8], bl
jb 0x40ba25
mov eax, dword [esp + 0x54]
push eax
call fcn.0043134d
add esp, 4
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], ebx
mov byte [esp + 0x54], bl
jmp 0x40b759
mov ecx, dword [esp + 0x2c]
push 5
push str.boost
push ecx
push ebx
lea ecx, [esp + 0x28]
call fcn.004010f0
test eax, eax
jne 0x40bad2
mov ecx, dword [esp + 0x10]
push str.fname
call fcn.0042c860
mov ebp, 0xf
mov ecx, eax
mov dword [esp + 0xbc], ebp
mov dword [esp + 0xb8], ebx
mov byte [esp + 0xa8], bl
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x40ba81
sub ecx, esi
push ecx
push eax
lea ecx, [esp + 0xac]
call fcn.00401c50
mov eax, dword [esp + 0xbc]
mov esi, 0x10
cmp eax, esi
jb 0x40bab8
mov edx, dword [esp + 0xa8]
push edx
call fcn.0043134d
add esp, 4
mov dword [esp + 0xbc], ebp
mov dword [esp + 0xb8], ebx
mov byte [esp + 0xa8], bl
jmp 0x40b759
mov eax, dword [esp + 0x2c]
push 4
push str.thud
push eax
push ebx
lea ecx, [esp + 0x28]
call fcn.004010f0
test eax, eax
jne 0x40b74f
mov ecx, dword [esp + 0x10]
push str.fname
call fcn.0042c860
push eax
lea ecx, [esp + 0xc4]
call fcn.00402550
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xc4]
mov esi, 0x10
cmp eax, esi
mov byte [esp + 0xe8], 5
jae 0x40bb31
lea ecx, [esp + 0xc4]
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x1d4]
mov edx, dword [eax]
push ebx
push ecx
push eax
call dword [edx + 0x78]
mov dword [edi + 0x14], eax
cmp dword [esp + 0xd8], esi
mov byte [esp + 0xe8], bl
jb 0x40bb66
mov eax, dword [esp + 0xc4]
push eax
call fcn.0043134d
add esp, 4
mov ebp, 0xf
mov dword [esp + 0xd8], ebp
mov dword [esp + 0xd4], ebx
mov byte [esp + 0xc4], bl
jmp 0x40b759