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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x441810
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
push ebx
push esi
push edi
mov eax, dword [0x44e008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x1c], ebx
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebx + 0x7c], eax
jbe 0x4167b2
nop dword [eax + eax]
mov esi, dword [ebx + 0x78]
mov ecx, dword [ebx + 8]
shl eax, 2
add ecx, eax
mov esi, dword [eax + esi]
mov al, byte [ebx + 0x60]
test al, al
je 0x41658e
mov dword [ebp - 0x18], 1
jmp 0x416593
mov edx, dword [ecx]
mov dword [ebp - 0x18], edx
test al, al
je 0x41659e
mov eax, dword [ecx]
mov dword [ebp - 0x14], eax
jmp 0x4165a5
mov dword [ebp - 0x14], 1
mov edi, dword [esi + 0x74]
test edi, edi
je 0x4165e4
nop dword [eax]
mov eax, dword [esi + 0x70]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x4165e0
mov dword [ebp - 4], 0
mov ecx, dword [ebx]
test ecx, ecx
je 0x4165ce
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push 4
push ebx
mov dword [ebp - 4], 0xffffffff
call fcn.0043423d
add esp, 8
test edi, edi
jne 0x4165b0
xor ebx, ebx
mov dword [esi + 0x74], 0
cmp dword [ebp - 0x18], ebx
jbe 0x416693
mov ecx, dword [esi + 0x78]
cmp dword [esi + 0x74], ecx
jne 0x416667
cmp ecx, 0x7fffffff
jae 0x416a5e
mov eax, ecx
mov edi, 0x7fffffff
sub edi, ecx
shr eax, 2
inc eax
mov edx, 4
cmp eax, edi
cmovbe edi, eax
add edi, ecx
xor ecx, ecx
mov eax, edi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0043424b
mov ecx, dword [esi + 0x74]
add esp, 4
mov dword [ebp - 0x28], eax
test ecx, ecx
je 0x416653
shl ecx, 2
push ecx
push dword [esi + 0x70]
push eax
call fcn.00437af0
add esp, 0xc
push dword [esi + 0x70]
call fcn.004340fc
mov eax, dword [ebp - 0x28]
add esp, 4
mov dword [esi + 0x70], eax
mov dword [esi + 0x78], edi
push 4
call fcn.0043410f
inc ebx
mov dword [ebp - 0x34], eax
add esp, 4
mov dword [eax], 0
mov edx, dword [esi + 0x74]
lea ecx, [edx + 1]
mov dword [esi + 0x74], ecx
mov ecx, dword [esi + 0x70]
mov dword [ecx + edx*4], eax
cmp ebx, dword [ebp - 0x18]
jb 0x4165f6
mov edi, dword [esi + 0x80]
test edi, edi
je 0x4166d4
nop dword [eax]
mov eax, dword [esi + 0x7c]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x4166d0
mov dword [ebp - 4], 1
mov ecx, dword [ebx]
test ecx, ecx
je 0x4166be
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push 4
push ebx
mov dword [ebp - 4], 0xffffffff
call fcn.0043423d
add esp, 8
test edi, edi
jne 0x4166a0
xor ebx, ebx
mov dword [esi + 0x80], 0
cmp dword [ebp - 0x14], ebx
jbe 0x41679f
nop dword [eax]
mov ecx, dword [esi + 0x84]
cmp dword [esi + 0x80], ecx
jne 0x41676d
cmp ecx, 0x7fffffff
jae 0x416a5e
mov eax, ecx
mov edi, 0x7fffffff
sub edi, ecx
shr eax, 2
inc eax
mov edx, 4
cmp eax, edi
cmovbe edi, eax
add edi, ecx
xor ecx, ecx
mov eax, edi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0043424b
mov ecx, dword [esi + 0x80]
add esp, 4
mov dword [ebp - 0x28], eax
test ecx, ecx
je 0x416756
shl ecx, 2
push ecx
push dword [esi + 0x7c]
push eax
call fcn.00437af0
add esp, 0xc
push dword [esi + 0x7c]
call fcn.004340fc
mov eax, dword [ebp - 0x28]
add esp, 4
mov dword [esi + 0x7c], eax
mov dword [esi + 0x84], edi
push 4
call fcn.0043410f
inc ebx
mov dword [ebp - 0x34], eax
add esp, 4
mov dword [eax], 0
mov edx, dword [esi + 0x80]
lea ecx, [edx + 1]
mov dword [esi + 0x80], ecx
mov ecx, dword [esi + 0x7c]
mov dword [ecx + edx*4], eax
cmp ebx, dword [ebp - 0x14]
jb 0x4166f0
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebx + 0x7c]
jb 0x416570
xor edi, edi
cmp dword [ebx + 0x18], edi
jbe 0x416986
nop dword [eax]
mov eax, dword [ebx + 0x14]
mov esi, dword [eax + edi*8]
lea edx, [eax + edi*8]
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + esi*4]
mov eax, dword [ebx + 0x30]
sub esi, dword [eax + ecx*4]
mov al, byte [ebx + 0x60]
test al, al
je 0x4167e7
mov ebx, dword [edx + 4]
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x1c]
jmp 0x4167ea
mov dword [ebp - 0x20], ecx
test al, al
jne 0x4167f1
mov ecx, dword [edx + 4]
test al, al
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
mov edx, esi
cmovne eax, esi
mov dword [ebp - 0x28], 0
cmovne edx, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
lea eax, [ecx*4]
mov ecx, dword [ebx + 0x78]
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x30], eax
push 0xc
mov eax, dword [ecx + eax]
mov dword [ebp - 0x34], edx
mov eax, dword [eax + 0x7c]
mov eax, dword [eax + esi*4]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
shl eax, 2
mov dword [ebp - 0x2c], eax
mov eax, dword [eax + ecx]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x6c]
mov eax, dword [eax + edi*4]
mov dword [ebp - 0x24], eax
call fcn.0043410f
mov esi, eax
add esp, 4
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x38], esi
mov dword [esi + 4], 0
push esi
mov dword [esi], 0x448964
mov dword [esi + 8], eax
call fcn.0040d750
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
test ecx, ecx
je 0x416887
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x20]
push 0xc
mov dword [eax], esi
call fcn.0043410f
mov esi, eax
add esp, 4
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x38], esi
mov dword [esi + 4], 0
push esi
mov dword [esi], 0x448974
mov dword [esi + 8], eax
call fcn.0040d750
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
test ecx, ecx
je 0x4168c3
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x28]
mov dword [eax], esi
mov dword [ebp - 0x18], 0
mov dword [ebp - 4], 2
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 3
mov eax, dword [ebx + 0x78]
mov eax, dword [ecx + eax]
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x4168f1
mov ecx, dword [eax + 0x1c]
mov eax, dword [ecx]
lea edx, [ebp - 0x18]
push edx
push 0x448560
push ecx
call dword [eax]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebx + 0x78]
mov eax, dword [ecx + eax]
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x416912
mov ecx, dword [eax + 0x1c]
mov eax, dword [ecx]
lea edx, [ebp - 0x10]
push edx
push 0x448560
push ecx
call dword [eax]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
test eax, eax
je 0x416953
test ecx, ecx
je 0x416953
mov ecx, dword [eax]
push 0x80000
push dword [ebp - 0x34]
push eax
call dword [ecx + 0xc]
mov eax, dword [ebp - 0x10]
push 0x80000
push dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 4
test ecx, ecx
je 0x416964
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 5
test eax, eax
je 0x416975
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
inc edi
mov dword [ebp - 4], 0xffffffff
cmp edi, dword [ebx + 0x18]
jb 0x4167c0
cmp byte [ebx + 0x60], 0
mov ecx, dword [ebx + 0x2c]
mov eax, dword [ebx + 0x78]
mov edi, dword [ebp + 8]
mov eax, dword [eax + ecx*4]
je 0x41699f
mov eax, dword [eax + 0x70]
mov esi, dword [edi]
jmp 0x4169a7
mov esi, dword [ebp + 0xc]
mov eax, dword [eax + 0x7c]
mov esi, dword [esi]
mov eax, dword [eax]
mov dword [ebp + 8], eax
test esi, esi
je 0x4169b9
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
test ecx, ecx
je 0x4169c8
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp + 8]
xor ecx, ecx
mov dword [eax], esi
mov dword [ebp - 0x28], ecx
cmp dword [ebx + 0x24], ecx
jbe 0x416a48
mov esi, dword [ebp + 0xc]
sub esi, edi
mov dword [ebp + 0xc], esi
nop dword [eax]
mov eax, dword [ebx + 0x20]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebx + 0x3c]
mov eax, dword [eax + edx*4]
lea ecx, [eax*4]
mov eax, dword [ebx + 0x30]
sub edx, dword [ecx + eax]
cmp byte [ebx + 0x60], 0
mov eax, dword [ebx + 0x78]
mov eax, dword [ecx + eax]
je 0x416a0d
mov eax, dword [eax + 0x7c]
mov esi, dword [esi + edi]
jmp 0x416a12
mov eax, dword [eax + 0x70]
mov esi, dword [edi]
mov eax, dword [eax + edx*4]
mov dword [ebp + 8], eax
test esi, esi
je 0x416a25
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
test ecx, ecx
je 0x416a34
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x28]
add edi, 4
inc ecx
mov dword [eax], esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
cmp ecx, dword [ebx + 0x24]
jb 0x4169e0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push 0x44c518
lea eax, [ebp + 0xc]
mov dword [ebp + 0xc], 0x7e5
push eax
call fcn.00435d4e
int3