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

Disassembly:
push 0xffffffffffffffff
push 0x42d2c9
mov eax, dword fs:[0]
push eax
sub esp, 0x7c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x437a60]
xor eax, esp
push eax
lea eax, [esp + 0x90]
mov dword fs:[0], eax
mov esi, ecx
xor ebp, ebp
lea ecx, [esp + 0x3c]
mov dword [esp + 0x20], ebp
call fcn.00415880
lea eax, [esp + 0x17]
push eax
lea ecx, [esp + 0x1b]
push ecx
lea ecx, [esp + 0x78]
mov dword [esp + 0xa0], 1
call fcn.00414cd0
mov edx, dword [esp + 0xa8]
push edx
lea ecx, [esp + 0x28]
mov byte [esp + 0x9c], 2
call fcn.004025c0
mov eax, dword [esp + 0xa4]
push ebp
push eax
mov ecx, esi
mov byte [esp + 0xa0], 3
call fcn.00417330
mov esi, eax
mov ebx, esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], ebx
cmp esi, ebp
je 0x417920
mov edi, edi
lea ecx, [esp + 0x24]
call fcn.00401230
test eax, eax
je 0x41776f
mov edx, dword [esp + 0x48]
cmp edx, ebp
jne 0x417729
xor ecx, ecx
jmp 0x417732
mov ecx, dword [esp + 0x50]
sub ecx, edx
sar ecx, 2
mov eax, dword [esp + 0x4c]
mov edi, eax
sub edi, edx
sar edi, 2
cmp edi, ecx
jae 0x41774f
mov dword [eax], ebx
add eax, 4
mov dword [esp + 0x4c], eax
jmp 0x4178c6
mov esi, eax
cmp edx, eax
jbe 0x41775a
call fcn.004185cf
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x18]
push ecx
push esi
push eax
lea edx, [esp + 0x38]
push edx
jmp 0x4178b9
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x74]
call fcn.004153b0
mov eax, dword [esp + 0x88]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x8c], ebp
mov dword [eax], eax
mov eax, dword [esp + 0x88]
push ebp
mov ecx, ebx
mov dword [eax + 8], eax
call fcn.00414750
mov edi, eax
cmp edi, ebp
je 0x41785d
lea esp, [esp]
mov ecx, edi
call fcn.00414620
mov ecx, eax
mov dword [esp + 0x6c], 0xf
mov dword [esp + 0x68], ebp
mov byte [esp + 0x58], 0
lea esi, [ecx + 1]
lea ecx, [ecx]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4177e0
sub ecx, esi
push ecx
push eax
lea ecx, [esp + 0x5c]
call fcn.004019e0
mov ecx, edi
mov byte [esp + 0x98], 4
call fcn.00414630
lea edx, [esp + 0x54]
push edx
lea ecx, [esp + 0x74]
mov esi, eax
call fcn.00416a70
mov edx, esi
lea ebp, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x417818
sub edx, ebp
push edx
push esi
mov ecx, eax
call fcn.004019e0
cmp dword [esp + 0x6c], 0x10
mov byte [esp + 0x98], 3
jb 0x417846
mov eax, dword [esp + 0x58]
push eax
call fcn.00417eb0
add esp, 4
mov ecx, edi
call fcn.00413ef0
mov edi, eax
xor ebp, ebp
test edi, edi
jne 0x4177c0
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x70]
push ecx
lea ecx, [esp + 0x28]
call fcn.00402390
test eax, eax
je 0x4178c6
mov edx, dword [esp + 0x48]
cmp edx, ebp
jne 0x41787b
xor ecx, ecx
jmp 0x417884
mov ecx, dword [esp + 0x50]
sub ecx, edx
sar ecx, 2
mov eax, dword [esp + 0x4c]
mov edi, eax
sub edi, edx
sar edi, 2
cmp edi, ecx
jae 0x41789e
mov dword [eax], ebx
add eax, 4
mov dword [esp + 0x4c], eax
jmp 0x4178c6
mov esi, eax
cmp edx, eax
jbe 0x4178a9
call fcn.004185cf
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x18]
push edx
push esi
push eax
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x4c]
call fcn.004158e0
mov esi, dword [esp + 0x1c]
mov ecx, ebx
call fcn.00413ed0
mov ebx, eax
mov dword [esp + 0x18], ebx
cmp ebx, ebp
je 0x417920
mov ecx, ebx
call fcn.00414590
push eax
mov ecx, esi
call fcn.00414590
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x417905
mov ecx, esi
call fcn.00405a50
mov ecx, ebx
mov edx, eax
call fcn.00405a50
cmp edx, eax
je 0x417918
mov ecx, ebx
call fcn.00413ed0
mov ebx, eax
mov dword [esp + 0x18], ebx
cmp ebx, ebp
jne 0x4178d7
jmp 0x417920
cmp ebx, ebp
jne 0x417710
mov eax, dword [esp + 0x4c]
sub eax, dword [esp + 0x48]
test eax, 0xfffffffc
jne 0x417933
xor eax, eax
jmp 0x41793d
push ebp
lea ecx, [esp + 0x40]
call fcn.00415320
mov ecx, dword [esp + 0x4c]
sub ecx, dword [esp + 0x48]
mov esi, dword [esp + 0xa0]
sar ecx, 2
push ecx
push eax
mov ecx, esi
call fcn.00413de0
lea ecx, [esp + 0x24]
mov dword [esp + 0x20], 1
mov byte [esp + 0x98], 2
call fcn.00402380
lea ecx, [esp + 0x70]
mov byte [esp + 0x98], 1
call fcn.00416140
mov eax, dword [esp + 0x48]
cmp eax, ebp
je 0x417993
push eax
call fcn.00417eb0
add esp, 4
mov ecx, dword [esp + 0x3c]
push ecx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ebp
call fcn.00417eb0
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 0xc