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

Disassembly:
push 0xffffffffffffffff
push 0x4be597
mov eax, dword fs:[0]
push eax
sub esp, 0x94
mov eax, dword [0x4f55dc]
xor eax, esp
mov dword [esp + 0x90], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4f55dc]
xor eax, esp
push eax
lea eax, [esp + 0xa8]
mov dword fs:[0], eax
mov ebx, edx
mov dword [esp + 0x30], ebx
mov eax, ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x24], eax
xor eax, eax
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], 0
mov word [esp + 0x74], ax
mov dword [esp + 0xb0], 1
lea ecx, [esp + 0x1c]
call fcn.00446e60
mov byte [esp + 0xb0], 3
xorps xmm0, xmm0
movq qword [esp + 0x68], xmm0
mov dword [esp + 0x70], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov byte [esp + 0xb0], 4
movq qword [esp + 0x5c], xmm0
mov dword [esp + 0x64], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov byte [esp + 0xb0], 5
lea eax, [esp + 0x68]
push eax
push 0
mov byte [esp + 0x1f], 0
mov byte [esp + 0x1e], 0
call fcn.00439150
lea ecx, [esp + 0x68]
call fcn.004394a0
mov eax, dword [esp + 0x6c]
mov edi, 1
cmp dword [esp + 0x68], eax
lea eax, [esp + 0x5c]
movzx ecx, byte [esp + 0x17]
push eax
cmovne ecx, edi
push 7
mov dword [esp + 0x48], ecx
call fcn.00439150
lea ecx, [esp + 0x5c]
call fcn.004394a0
mov esi, dword [esp + 0x5c]
mov ecx, ebx
cmp esi, dword [esp + 0x60]
movzx eax, byte [esp + 0x16]
cmovne eax, edi
mov dword [esp + 0x38], eax
lea eax, [esp + 0x8c]
push eax
call fcn.0043b130
mov byte [esp + 0xb0], 6
mov ebp, dword [esp + 0x9c]
test ebp, ebp
je 0x416530
mov ecx, dword [esp + 0x6c]
mov eax, 0x2aaaaaab
sub ecx, dword [esp + 0x68]
xor edi, edi
imul ecx
sar edx, 2
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
je 0x416530
mov esi, dword [esp + 0x68]
lea ecx, [ecx]
cmp dword [esp + 0xa0], 8
lea eax, [esp + 0x8c]
push ebp
cmovae eax, dword [esp + 0x90]
push eax
push dword [esi + 0x10]
push ecx
mov ecx, esi
call fcn.004029f0
test eax, eax
je 0x41646d
inc edi
add esi, 0x18
cmp edi, ebx
jae 0x41652c
mov ebp, dword [esp + 0x9c]
jmp 0x416430
mov ecx, dword [esp + 0x60]
mov eax, 0x2aaaaaab
mov esi, dword [esp + 0x5c]
sub ecx, esi
imul ecx
mov dword [esp + 0x20], 0
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x2c], eax
je 0x416530
mov ebp, dword [esp + 0x9c]
mov edi, esi
cmp dword [edi + 0x14], 8
mov ebx, dword [edi + 0x10]
jb 0x4164b0
mov edx, dword [edi]
jmp 0x4164b2
mov edx, edi
cmp dword [esp + 0xa0], 8
lea ecx, [esp + 0x8c]
mov esi, ebx
cmovae ecx, dword [esp + 0x8c]
cmp ebp, ebx
cmovb esi, ebp
test esi, esi
jne 0x4164e3
xor eax, eax
test eax, eax
jne 0x41650b
cmp ebp, ebx
jae 0x416502
or eax, 0xffffffff
jmp 0x416509
mov ax, word [ecx]
cmp ax, word [edx]
jne 0x4164f4
add ecx, 2
add edx, 2
dec esi
jmp 0x4164d2
movzx eax, word [ecx]
cmp ax, word [edx]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4164d6
xor eax, eax
cmp ebp, ebx
setne al
test eax, eax
sete al
test al, al
jne 0x4165a6
mov esi, dword [esp + 0x20]
add edi, 0x18
inc esi
mov dword [esp + 0x20], esi
cmp esi, dword [esp + 0x2c]
jb 0x4164a3
mov esi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x6c]
mov eax, 0x2aaaaaab
mov ebx, dword [esp + 0x68]
xor edi, edi
sub ecx, ebx
mov dword [esp + 0x2c], edi
imul ecx
sar edx, 2
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov dword [esp + 0x3c], ebp
je 0x416861
mov ecx, dword [esp + 0x60]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x34], eax
jmp 0x416580
mov dword [esp + 0x20], 0
test eax, eax
je 0x41684d
mov edi, esi
cmp dword [edi + 0x14], 8
mov ecx, dword [edi + 0x10]
jb 0x4167be
mov edx, dword [edi]
jmp 0x4167c0
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x8c]
push eax
call fcn.0043b7f0
test al, al
je 0x41652c
mov ebx, dword [esp + 0x28]
xor eax, eax
mov dword [ebx + 0x14], 7
mov dword [ebx + 0x10], 0
mov word [ebx], ax
mov esi, dword [esp + 0xa0]
cmp esi, 8
jae 0x416609
mov eax, dword [esp + 0x9c]
inc eax
je 0x416626
add eax, eax
push eax
lea eax, [esp + 0x90]
push eax
push ebx
call fcn.0049bfc0
mov esi, dword [esp + 0xac]
add esp, 0xc
jmp 0x416626
lea eax, [esp + 0x8c]
push eax
push ebx
lea ecx, [esp + 0x1e]
call fcn.00402a70
mov dword [esp + 0x8c], 0
mov eax, dword [esp + 0x9c]
mov dword [ebx + 0x10], eax
xor eax, eax
mov dword [ebx + 0x14], esi
mov dword [esp + 0xa0], 7
mov dword [esp + 0x9c], 0
mov word [esp + 0x8c], ax
mov dword [esp + 0x18], 1
mov byte [esp + 0xb0], 5
cmp dword [esp + 0xa0], 8
jb 0x41667c
push dword [esp + 0x8c]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esp + 0xa0], 7
mov dword [esp + 0x9c], 0
mov word [esp + 0x8c], ax
mov byte [esp + 0xb0], 4
mov edi, dword [esp + 0x5c]
test edi, edi
je 0x416701
mov ebp, dword [esp + 0x60]
mov esi, edi
cmp edi, ebp
je 0x4166e0
cmp dword [esi + 0x14], 8
jb 0x4166c6
push dword [esi]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
add esi, 0x18
cmp esi, ebp
jne 0x4166b6
push edi
call fcn.0049c766
add esp, 4
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov byte [esp + 0xb0], 3
mov ebp, dword [esp + 0x68]
test ebp, ebp
je 0x41676b
mov edi, dword [esp + 0x6c]
mov esi, ebp
cmp ebp, edi
je 0x41674a
jmp 0x416720
cmp dword [esi + 0x14], 8
jb 0x416730
push dword [esi]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x416720
push ebp
call fcn.0049c766
add esp, 4
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov byte [esp + 0xb0], 1
lea ecx, [esp + 0x1c]
call fcn.00446fb0
mov byte [esp + 0xb0], 0
cmp dword [esp + 0x88], 8
jb 0x41679a
push dword [esp + 0x74]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], 0
mov word [esp + 0x74], ax
mov eax, ebx
jmp 0x416dd1
mov edx, edi
cmp dword [ebx + 0x14], 8
mov ebp, dword [ebx + 0x10]
jb 0x4167cd
mov eax, dword [ebx]
jmp 0x4167cf
mov eax, ebx
cmp ebp, ecx
mov esi, ecx
cmovb esi, ebp
test esi, esi
jne 0x4167f0
xor eax, eax
test eax, eax
jne 0x416812
mov ecx, dword [edi + 0x10]
cmp ebp, ecx
jae 0x416809
or eax, 0xffffffff
jmp 0x416810
mov cx, word [eax]
cmp cx, word [edx]
jne 0x416801
add eax, 2
add edx, 2
dec esi
jmp 0x4167d8
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4167dc
xor eax, eax
cmp ebp, ecx
setne al
test eax, eax
sete al
test al, al
je 0x416827
mov ecx, dword [esp + 0x30]
push ebx
call fcn.0043b7f0
test al, al
jne 0x41688e
mov eax, dword [esp + 0x20]
add edi, 0x18
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x34]
jb 0x416592
mov eax, dword [esp + 0x34]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x2c]
inc edi
add ebx, 0x18
mov dword [esp + 0x2c], edi
cmp edi, ebp
jb 0x416580
mov ebx, dword [esp + 0x68]
xor edi, edi
test ebp, ebp
je 0x416bd5
mov esi, ebx
mov ebx, dword [esp + 0x30]
push esi
mov ecx, ebx
call fcn.0043b7f0
test al, al
jne 0x416a45
inc edi
add esi, 0x18
cmp edi, ebp
jb 0x416871
jmp 0x416bd9
lea eax, [esp + 0x74]
cmp eax, ebx
je 0x4168a2
push 0xffffffffffffffff
push 0
push ebx
mov ecx, eax
call fcn.00401fd0
mov ebx, dword [esp + 0x28]
xor eax, eax
mov dword [ebx + 0x14], 7
mov dword [ebx + 0x10], 0
mov word [ebx], ax
mov esi, dword [esp + 0x88]
cmp esi, 8
jae 0x4168e9
mov eax, dword [esp + 0x84]
inc eax
je 0x416900
add eax, eax
push eax
lea eax, [esp + 0x78]
push eax
push ebx
call fcn.0049bfc0
mov esi, dword [esp + 0x94]
add esp, 0xc
jmp 0x416900
lea eax, [esp + 0x74]
push eax
push ebx
lea ecx, [esp + 0x1e]
call fcn.00402a70
mov dword [esp + 0x74], 0
mov eax, dword [esp + 0x84]
mov dword [ebx + 0x10], eax
xor eax, eax
mov dword [ebx + 0x14], esi
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], 0
mov word [esp + 0x74], ax
mov dword [esp + 0x18], 1
mov byte [esp + 0xb0], 5
cmp dword [esp + 0xa0], 8
jb 0x416953
push dword [esp + 0x8c]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esp + 0xa0], 7
mov dword [esp + 0x9c], 0
mov word [esp + 0x8c], ax
mov byte [esp + 0xb0], 4
mov edi, dword [esp + 0x5c]
test edi, edi
je 0x4169db
mov ebp, dword [esp + 0x60]
mov esi, edi
cmp edi, ebp
je 0x4169ba
lea ecx, [ecx]
cmp dword [esi + 0x14], 8
jb 0x4169a0
push dword [esi]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
add esi, 0x18
cmp esi, ebp
jne 0x416990
push edi
call fcn.0049c766
add esp, 4
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov byte [esp + 0xb0], 3
mov ebp, dword [esp + 0x68]
test ebp, ebp
je 0x416a40
mov edi, dword [esp + 0x6c]
mov esi, ebp
cmp ebp, edi
je 0x416a1f
cmp dword [esi + 0x14], 8
jb 0x416a05
push dword [esi]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x4169f5
push ebp
call fcn.0049c766
add esp, 4
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
jmp 0x41676b
lea eax, [esp + 0x74]
cmp eax, esi
je 0x416a59
push 0xffffffffffffffff
push 0
push esi
mov ecx, eax
call fcn.00401fd0
mov ebx, dword [esp + 0x28]
xor eax, eax
mov dword [ebx + 0x14], 7
mov dword [ebx + 0x10], 0
mov word [ebx], ax
mov esi, dword [esp + 0x88]
cmp esi, 8
jae 0x416aa0
mov eax, dword [esp + 0x84]
inc eax
je 0x416ab7
add eax, eax
push eax
lea eax, [esp + 0x78]
push eax
push ebx
call fcn.0049bfc0
mov esi, dword [esp + 0x94]
add esp, 0xc
jmp 0x416ab7
lea eax, [esp + 0x74]
push eax
push ebx
lea ecx, [esp + 0x1e]
call fcn.00402a70
mov dword [esp + 0x74], 0
mov eax, dword [esp + 0x84]
mov dword [ebx + 0x10], eax
xor eax, eax
mov dword [ebx + 0x14], esi
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], 0
mov word [esp + 0x74], ax
mov dword [esp + 0x18], 1
mov byte [esp + 0xb0], 5
cmp dword [esp + 0xa0], 8
jb 0x416b0a
push dword [esp + 0x8c]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esp + 0xa0], 7
mov dword [esp + 0x9c], 0
mov word [esp + 0x8c], ax
mov byte [esp + 0xb0], 4
mov edi, dword [esp + 0x5c]
test edi, edi
je 0x416b8f
mov ebp, dword [esp + 0x60]
mov esi, edi
cmp edi, ebp
je 0x416b6e
cmp dword [esi + 0x14], 8
jb 0x416b54
push dword [esi]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
add esi, 0x18
cmp esi, ebp
jne 0x416b44
push edi
call fcn.0049c766
add esp, 4
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov byte [esp + 0xb0], 3
mov ebp, dword [esp + 0x68]
test ebp, ebp
je 0x416bd0
push dword [esp + 0x24]
mov edx, dword [esp + 0x70]
push ecx
mov ecx, ebp
call fcn.0040aca0
push ebp
call fcn.0049c766
add esp, 0xc
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
jmp 0x41676b
mov ebx, dword [esp + 0x30]
xor edi, edi
test ebp, ebp
je 0x416bfb
mov esi, dword [esp + 0x68]
push esi
mov ecx, ebx
call fcn.0043b5d0
test al, al
jne 0x416df9
inc edi
add esi, 0x18
cmp edi, ebp
jb 0x416be3
cmp byte [esp + 0x40], 0
jne 0x416cac
cmp byte [esp + 0x38], 0
jne 0x416cac
cmp dword [esp + 0x84], 0
jne 0x416cac
lea eax, [esp + 0x44]
mov ecx, ebx
push eax
call fcn.0043b130
mov esi, eax
mov byte [esp + 0xb0], 0xb
lea eax, [esp + 0x74]
cmp eax, esi
je 0x416c7a
cmp dword [esp + 0x88], 8
jb 0x416c53
push dword [esp + 0x74]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esp + 0x88], 7
push esi
lea ecx, [esp + 0x78]
mov dword [esp + 0x88], 0
mov word [esp + 0x78], ax
call fcn.00405670
mov byte [esp + 0xb0], 6
cmp dword [esp + 0x58], 8
jb 0x416c95
push dword [esp + 0x44]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esp + 0x58], 7
mov dword [esp + 0x54], 0
mov word [esp + 0x44], ax
mov esi, dword [esp + 0x28]
lea eax, [esp + 0x74]
push eax
mov ecx, esi
call fcn.00404d30
mov dword [esp + 0x18], 1
mov byte [esp + 0xb0], 5
cmp dword [esp + 0xa0], 8
jb 0x416ce5
push dword [esp + 0x8c]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esp + 0xa0], 7
mov dword [esp + 0x9c], 0
mov word [esp + 0x8c], ax
mov byte [esp + 0xb0], 4
mov edi, dword [esp + 0x5c]
test edi, edi
je 0x416d46
push dword [esp + 0x24]
mov edx, dword [esp + 0x64]
push ecx
mov ecx, edi
call fcn.0040aca0
push edi
call fcn.0049c766
add esp, 0xc
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov byte [esp + 0xb0], 3
mov ebx, dword [esp + 0x68]
test ebx, ebx
je 0x416d87
push dword [esp + 0x24]
mov edx, dword [esp + 0x70]
push ecx
mov ecx, ebx
call fcn.0040aca0
push ebx
call fcn.0049c766
add esp, 0xc
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov byte [esp + 0xb0], 1
lea ecx, [esp + 0x1c]
call fcn.00446fb0
mov byte [esp + 0xb0], 0
cmp dword [esp + 0x88], 8
jb 0x416db6
push dword [esp + 0x74]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], eax
mov word [esp + 0x74], ax
mov eax, esi
mov ecx, dword [esp + 0xa8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x90]
xor ecx, esp
call fcn.0049bfa3
add esp, 0xa0
ret
lea eax, [esp + 0x74]
cmp eax, esi
je 0x416e0d
push 0xffffffffffffffff
push 0
push esi
mov ecx, eax
call fcn.00401fd0
mov esi, dword [esp + 0x28]
lea eax, [esp + 0x74]
push eax
mov ecx, esi
call fcn.00404d30
mov dword [esp + 0x18], 1
mov byte [esp + 0xb0], 5
cmp dword [esp + 0xa0], 8
jb 0x416e46
push dword [esp + 0x8c]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esp + 0xa0], 7
mov dword [esp + 0x9c], 0
mov word [esp + 0x8c], ax
mov byte [esp + 0xb0], 4
mov edi, dword [esp + 0x5c]
test edi, edi
je 0x416ea7
push dword [esp + 0x24]
mov edx, dword [esp + 0x64]
push ecx
mov ecx, edi
call fcn.0040aca0
push edi
call fcn.0049c766
add esp, 0xc
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov byte [esp + 0xb0], 3
mov ebx, dword [esp + 0x68]
test ebx, ebx
je 0x416ee8
push dword [esp + 0x24]
mov edx, dword [esp + 0x70]
push ecx
mov ecx, ebx
call fcn.0040aca0
push ebx
call fcn.0049c766
add esp, 0xc
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
jmp 0x416d87