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

Disassembly:
push 0xffffffffffffffff
push 0x446016
mov eax, dword fs:[0]
push eax
sub esp, 0xc0
mov eax, dword [0x4541b0]
xor eax, esp
mov dword [esp + 0xbc], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4541b0]
xor eax, esp
push eax
lea eax, [esp + 0xd4]
mov dword fs:[0], eax
mov eax, dword [esp + 0xe8]
mov edi, dword [esp + 0xe4]
mov ebx, dword [esp + 0xec]
mov dword [esp + 0x24], eax
xor eax, eax
cmp dword [edi + 0x14], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
je 0x416eda
cmp dword [ebx + 0x14], eax
je 0x416eda
mov ebp, 7
mov dword [esp + 0x78], ebp
mov dword [esp + 0x74], eax
mov word [esp + 0x64], ax
mov dword [esp + 0xdc], eax
lea eax, [esp + 0x60]
push eax
mov esi, edi
call fcn.0042f0fb
add esp, 4
test al, al
je 0x416ed1
xor eax, eax
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], eax
mov word [esp + 0x2c], ax
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], eax
mov word [esp + 0x48], ax
lea ecx, [esp + 0x44]
mov esi, ebx
mov byte [esp + 0xdc], 2
call fcn.0042f0ae
test al, al
jne 0x416b96
mov edi, 8
cmp dword [esp + 0x5c], edi
jb 0x416b4b
mov ecx, dword [esp + 0x48]
push ecx
call fcn.00430a06
add esp, 4
xor esi, esi
cmp dword [esp + 0x40], edi
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], esi
mov word [esp + 0x48], si
jb 0x416b6d
mov edx, dword [esp + 0x2c]
push edx
call fcn.00430a06
add esp, 4
cmp dword [esp + 0x78], edi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], esi
mov word [esp + 0x2c], si
jb 0x416eda
mov eax, dword [esp + 0x64]
push eax
call fcn.00430a06
add esp, 4
jmp 0x416eda
xor ebp, ebp
cmp dword [esp + 0x58], ebp
je 0x416ebf
lea ecx, [esp + 0x28]
push ecx
mov esi, ebx
call fcn.0042f0fb
add esp, 4
test al, al
je 0x416ebf
push 0x20
lea ecx, [esp + 0x2c]
call fcn.0042e1d9
lea edx, [esp + 0x2c]
add esp, 4
push edx
call fcn.0042e6c7
add esp, 4
test al, al
jne 0x416be1
lea ebx, [esp + 0x28]
call fcn.0042f030
lea eax, [esp + 0x28]
push eax
call fcn.0042e6c7
add esp, 4
test al, al
je 0x416ebf
lea ecx, [esp + 0x28]
push ecx
call fcn.0042e76d
add esp, 4
test al, al
je 0x416ebf
call fcn.0042e2b7
movzx eax, ax
push eax
lea esi, [esp + 0x2c]
call fcn.00417190
mov edx, esi
push edx
lea esi, [esp + 0x80]
call fcn.00402510
push ebp
lea eax, [esp + 0x48]
push eax
or eax, 0xffffffff
mov byte [esp + 0xe4], 3
call fcn.0040b070
lea ecx, [esp + 0x14]
push ecx
push 0x4484cc
push 1
push ebp
push 0x4484dc
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
call dword [0x4483f8]
test eax, eax
jl 0x416eb6
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x416eb6
mov edx, dword [eax]
mov edx, dword [edx]
lea ecx, [esp + 0x18]
push ecx
push 0x4484ec
push eax
call edx
cmp eax, ebp
jl 0x416eaa
cmp dword [esp + 0x18], ebp
je 0x416eaa
mov ebp, 8
cmp dword [edi + 0x18], ebp
lea esi, [edi + 4]
jb 0x416caa
mov eax, dword [esi]
jmp 0x416cac
mov eax, esi
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x50]
push ecx
call eax
cmp dword [esp + 0x78], ebp
mov ecx, dword [esp + 0x64]
jae 0x416cc7
lea ecx, [esp + 0x64]
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
push ecx
push eax
mov eax, dword [edx + 0x24]
call eax
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x14], 0
je 0x416d0b
cmp dword [eax + 0x18], ebp
jb 0x416cf7
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
push 0
push eax
mov eax, dword [edx + 0x44]
push ecx
call eax
jmp 0x416d21
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
add eax, 4
push 0
push eax
mov eax, dword [edx + 0x44]
push ecx
call eax
jmp 0x416d21
cmp dword [edi + 0x18], ebp
jb 0x416d12
mov esi, dword [esi]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x44]
push 0
push esi
push eax
call edx
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 0x18], ebp
jb 0x416d2f
mov ecx, dword [ecx + 4]
jmp 0x416d32
add ecx, 4
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
push ecx
push eax
mov eax, dword [edx + 0x2c]
call eax
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 0x18], ebp
jb 0x416d4d
mov ecx, dword [ecx + 4]
jmp 0x416d50
add ecx, 4
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
push ecx
push eax
mov eax, dword [edx + 0x1c]
call eax
mov edx, 0x44afd4
lea eax, [esp + 0x98]
call fcn.00403a30
mov byte [esp + 0xdc], 4
lea edi, [esp + 0x1c]
lea ebx, [esp + 0x7c]
mov dword [esp + 0x1c], 0x2e
call fcn.0040ccb0
cmp eax, 0xffffffff
jne 0x416da5
push 0
lea ecx, [esp + 0x9c]
push ecx
or eax, eax
mov esi, ebx
call fcn.0040b070
jmp 0x416e04
push 0xffffffffffffffff
lea edx, [esp + 0x80]
push edx
mov ecx, eax
lea esi, [esp + 0xbc]
call fcn.0040cc80
lea eax, [esp + 0x98]
mov ecx, esi
mov byte [esp + 0xdc], 5
call fcn.0042d035
test al, al
jne 0x416df0
push 0
lea eax, [esp + 0x9c]
push eax
or eax, 0xffffffff
lea esi, [esp + 0x84]
call fcn.0040b070
lea ecx, [esp + 0xb4]
mov byte [esp + 0xdc], 4
call fcn.00402540
lea ecx, [esp + 0x7c]
push ecx
call fcn.0042e6c7
add esp, 4
test al, al
je 0x416e33
cmp dword [esp + 0x94], ebp
mov eax, dword [esp + 0x80]
jae 0x416e2c
lea eax, [esp + 0x80]
push eax
call dword [0x4481d4]
cmp dword [esp + 0x94], ebp
mov ecx, dword [esp + 0x80]
jae 0x416e4a
lea ecx, [esp + 0x80]
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
push 1
push ecx
push eax
mov eax, dword [edx + 0x18]
call eax
test eax, eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
sete bl
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ecx, [esp + 0x98]
call fcn.00402540
lea ecx, [esp + 0x7c]
call fcn.00402540
lea ecx, [esp + 0x44]
call fcn.00402540
lea ecx, [esp + 0x28]
call fcn.00402540
lea ecx, [esp + 0x60]
call fcn.00402540
mov al, bl
jmp 0x416edc
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ecx, [esp + 0x7c]
call fcn.00402540
lea ecx, [esp + 0x44]
call fcn.00402540
lea ecx, [esp + 0x28]
call fcn.00402540
lea ecx, [esp + 0x60]
call fcn.00402540
xor al, al
mov ecx, dword [esp + 0xd4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xbc]
xor ecx, esp
call fcn.00431099
add esp, 0xcc
ret 0xc