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

Disassembly:
push 0xffffffffffffffff
push 0x509efe
mov eax, dword fs:[0]
push eax
sub esp, 0xc4
mov eax, dword [0x5aa4e4]
xor eax, esp
mov dword [esp + 0xc0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5aa4e4]
xor eax, esp
push eax
lea eax, [esp + 0xd8]
mov dword fs:[0], eax
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0xf4]
mov ebp, dword [esp + 0x10c]
mov esi, ecx
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x100]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x118]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x11c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x70], eax
mov dword [esp + 0x4c], ecx
call fcn.00436570
lea ecx, [esp + 0x18]
mov ebx, eax
call fcn.00402a60
xor edi, edi
mov dword [esp + 0xe0], edi
lea ecx, [esp + 0x1c]
call fcn.00402a60
mov byte [esp + 0xe0], 1
push 0x541458
lea ecx, [esp + 0x18]
call fcn.00403860
mov byte [esp + 0xe0], 2
lea edx, [esp + 0x64]
push edx
mov ecx, 0x5abe30
call fcn.004487d0
mov byte [esp + 0xe0], 3
push eax
lea ecx, [esp + 0x18]
call fcn.00406fb0
mov byte [esp + 0xe0], 2
lea ecx, [esp + 0x64]
call fcn.00402ad0
push 0x2400
lea ecx, [esp + 0x24]
call fcn.0045e590
mov byte [esp + 0xe0], 4
xor ecx, ecx
mov dword [esp + 0x34], edi
mov dword [esp + 0xc8], edi
push 0x1bbc
mov eax, 2
mov word [esp + 0xca], cx
lea edi, [esi + 0x20]
push edi
lea ecx, [esp + 0xbc]
mov dword [esp + 0x40], 0xffffffff
mov word [esp + 0xcc], ax
call fcn.00417070
mov edx, dword [eax]
mov dword [esp + 0xc4], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0xc8], ecx
mov edx, dword [eax + 8]
mov dword [esp + 0xcc], edx
mov cl, byte [esi + 0x5c]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xd0], eax
test cl, cl
jne 0x417b2a
push 0x547338
call fcn.00447920
add esp, 4
mov byte [esp + 0xe0], 2
lea ecx, [esp + 0x20]
call fcn.0045e5c0
mov byte [esp + 0xe0], 1
lea ecx, [esp + 0x14]
call fcn.00402ad0
mov byte [esp + 0xe0], 0
lea ecx, [esp + 0x1c]
call fcn.00402ad0
mov dword [esp + 0xe0], 0xffffffff
lea ecx, [esp + 0x18]
call fcn.00402ad0
xor eax, eax
jmp 0x418161
push 1
push 0
lea ecx, [esp + 0x3c]
call fcn.0045b690
test eax, eax
jne 0x417b53
push 0x5472c8
call fcn.00447920
add esp, 4
lea ecx, [esp + 0x34]
call fcn.0045b670
jmp 0x417adc
lea edx, [esp + 0xc4]
push edx
lea ecx, [esp + 0x38]
call fcn.0045c340
test eax, eax
jne 0x417b89
push 0x1bbc
push edi
push 0x547210
call fcn.00447920
add esp, 0xc
lea ecx, [esp + 0x34]
call fcn.0045b670
jmp 0x417adc
mov edi, dword [esp + 0x78]
mov eax, dword [ebx]
mov edx, dword [eax + 0x38]
push edi
lea ecx, [esp + 0x34]
push ecx
mov ecx, ebx
call edx
mov byte [esp + 0xe0], 7
lea eax, [esp + 0x80]
push eax
call fcn.0045e4a0
add esp, 4
mov byte [esp + 0xe0], 8
push eax
mov ecx, ebp
call fcn.00406fb0
mov byte [esp + 0xe0], 7
lea ecx, [esp + 0x80]
call fcn.00402ad0
lea ecx, [esp + 0x20]
call fcn.0045f010
mov ecx, dword [esp + 0x14]
mov ebp, dword [ebp]
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x34]
push ebp
push edx
mov edx, dword [esp + 0x9c]
push eax
mov eax, dword [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x84]
push eax
mov eax, dword [esp + 0xb0]
push ecx
movzx ecx, byte [esp + 0x108]
neg ecx
sbb ecx, ecx
push edx
and ecx, 0x360
add ecx, 0x60
push eax
push ecx
lea ecx, [esp + 0x4c]
call fcn.0045edf0
mov ecx, eax
call fcn.0045eee0
mov ecx, eax
call fcn.0045eee0
mov ecx, eax
call fcn.0045eee0
mov ecx, eax
call fcn.0045eee0
mov ecx, eax
call fcn.0045eee0
mov ecx, eax
call fcn.0045eee0
mov ecx, eax
call fcn.0045eee0
mov ecx, eax
call fcn.0045eee0
mov ecx, eax
call fcn.0045eee0
mov ecx, eax
call fcn.0045eee0
lea ecx, [esp + 0x20]
call fcn.0045ec10
push 0x3c
lea ecx, [esp + 0x24]
call fcn.0045e970
push eax
lea ecx, [esp + 0x28]
call fcn.0045e960
push eax
lea ecx, [esp + 0x40]
call fcn.0045ba10
or ebp, 0xffffffff
cmp eax, ebp
jne 0x417d26
lea ecx, [esp + 0x34]
call fcn.0045b670
push 0x547190
call fcn.00447920
add esp, 4
mov byte [esp + 0xe0], 4
lea ecx, [esp + 0x30]
call fcn.00402ad0
mov byte [esp + 0xe0], 2
lea ecx, [esp + 0x20]
call fcn.0045e5c0
mov byte [esp + 0xe0], 1
lea ecx, [esp + 0x14]
call fcn.00402ad0
mov byte [esp + 0xe0], 0
lea ecx, [esp + 0x1c]
call fcn.00402ad0
mov dword [esp + 0xe0], ebp
lea ecx, [esp + 0x18]
call fcn.00402ad0
xor eax, eax
jmp 0x418161
lea ecx, [esp + 0x20]
call fcn.0045f010
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
push 0x3c
push edx
push eax
lea ecx, [esp + 0x40]
call fcn.0045b8a0
mov esi, eax
cmp esi, ebp
jne 0x417d5d
lea ecx, [esp + 0x34]
call fcn.0045b670
push 0x547108
jmp 0x417cc3
cmp esi, 8
jb 0x417d9d
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
mov ebx, dword [0x540c10]
push eax
call ebx
mov dword [esp + 0x40], eax
cmp eax, 3
je 0x417d8d
lea ecx, [esp + 0x34]
call fcn.0045b670
push 0x547078
jmp 0x417cc3
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 4]
push eax
call ebx
mov dword [esp + 0x40], eax
jmp 0x417da1
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x417db8
lea ecx, [esp + 0x34]
call fcn.0045b670
push 0x546fe8
jmp 0x417cc3
cmp esi, eax
jae 0x417e23
mov ebx, dword [0x540ad4]
mov ebp, dword [0x540ad8]
push 1
push 0
push 0
push 0
lea eax, [esp + 0xa8]
push eax
call ebx
test eax, eax
je 0x417df6
lea ecx, [esp + 0x98]
push ecx
call ebp
lea edx, [esp + 0x98]
push edx
call dword [0x540adc]
mov eax, dword [esp + 0x40]
sub eax, esi
push 0x3c
push eax
mov eax, dword [esp + 0x34]
add eax, esi
push eax
lea ecx, [esp + 0x40]
call fcn.0045b8a0
cmp eax, 0xffffffff
je 0x4180a4
add esi, eax
cmp esi, dword [esp + 0x40]
jb 0x417dc8
or ebp, 0xffffffff
push esi
lea ecx, [esp + 0x24]
call fcn.0045ec40
lea ecx, [esp + 0x40]
push ecx
lea ecx, [esp + 0x24]
call fcn.0045e830
lea edx, [esp + 0x50]
push edx
lea ecx, [esp + 0x24]
call fcn.0045e830
mov eax, dword [esp + 0x50]
cmp eax, 0x3eb
je 0x417e5f
cmp eax, 0x1f46
jne 0x417f02
call fcn.00436570
mov edx, dword [eax]
mov edx, dword [edx + 0x4c]
push edi
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x94]
push ecx
mov ecx, eax
call edx
mov byte [esp + 0xe0], 9
mov ecx, dword [esp + 0x74]
push eax
call fcn.00407030
mov byte [esp + 0xe0], 7
lea ecx, [esp + 0x8c]
call fcn.00402ad0
mov eax, dword [esp + 0x7c]
push eax
lea ecx, [esp + 0x24]
call fcn.0045f2e0
mov ecx, dword [esp + 0x58]
push ecx
lea ecx, [esp + 0x24]
call fcn.0045f2e0
call fcn.00469ed0
test al, al
je 0x417f02
call fcn.00436570
mov edx, dword [eax]
mov edx, dword [edx + 0x50]
push edi
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x70]
push ecx
mov ecx, eax
call edx
mov byte [esp + 0xe0], 0xa
mov ecx, dword [esp + 0x60]
push eax
call fcn.00407030
mov byte [esp + 0xe0], 7
lea ecx, [esp + 0x68]
call fcn.00402ad0
mov eax, dword [esp + 0x70]
push eax
lea ecx, [esp + 0x24]
call fcn.0045f2e0
mov ecx, dword [esp + 0x4c]
push ecx
lea ecx, [esp + 0x24]
call fcn.0045f2e0
lea ecx, [esp + 0x44]
call fcn.00402a60
mov byte [esp + 0xe0], 0xb
lea ecx, [esp + 0x3c]
call fcn.00402a60
mov bl, 0xc
mov byte [esp + 0xe0], bl
lea edx, [esp + 0x44]
push edx
lea ecx, [esp + 0x24]
call fcn.0045f2e0
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x24]
call fcn.0045f2e0
lea ecx, [esp + 0x48]
push 0x30
push ecx
call fcn.00462c90
add esp, 8
mov byte [esp + 0xe0], 0xd
push 0x545404
lea ecx, [esp + 0x4c]
call fcn.00406760
test eax, eax
je 0x417f98
push 0x545400
lea ecx, [esp + 0x4c]
call fcn.00406760
test eax, eax
jne 0x418017
push 0x545598
lea ecx, [esp + 0x48]
call fcn.00402890
test eax, eax
je 0x418017
push 0x545598
lea ecx, [esp + 0x40]
call fcn.00402890
test eax, eax
je 0x418017
push 0
push ecx
lea edx, [esp + 0x4c]
mov ecx, esp
mov dword [esp + 0x54], esp
push edx
call fcn.00405180
mov byte [esp + 0xe8], 0xe
mov byte [esp + 0xe8], 0xd
call fcn.00464270
add esp, 8
push 1
push ecx
lea eax, [esp + 0x44]
mov ecx, esp
mov dword [esp + 0x54], esp
push eax
call fcn.00405180
mov byte [esp + 0xe8], 0xf
mov byte [esp + 0xe8], 0xd
call fcn.00464270
add esp, 8
call fcn.00461c60
lea ecx, [esp + 0x20]
call fcn.0045f010
push 0x4f
lea ecx, [esp + 0x24]
call fcn.0045edf0
lea ecx, [esp + 0x20]
call fcn.0045ec10
push 0x3c
lea ecx, [esp + 0x24]
call fcn.0045e970
push eax
lea ecx, [esp + 0x28]
call fcn.0045e960
push eax
lea ecx, [esp + 0x40]
call fcn.0045ba10
lea ecx, [esp + 0x34]
cmp eax, ebp
jne 0x4180d0
call fcn.0045b670
push 0x546f30
call fcn.00447920
add esp, 4
mov byte [esp + 0xe0], bl
lea ecx, [esp + 0x48]
call fcn.00402ad0
mov byte [esp + 0xe0], 0xb
lea ecx, [esp + 0x3c]
call fcn.00402ad0
mov byte [esp + 0xe0], 7
lea ecx, [esp + 0x44]
call fcn.00402ad0
jmp 0x417ccb
lea ecx, [esp + 0x34]
call fcn.0045b670
push 0x546ea8
call fcn.00447920
add esp, 4
mov byte [esp + 0xe0], 4
lea ecx, [esp + 0x30]
call fcn.00402ad0
jmp 0x417adc
call fcn.0045b670
mov esi, dword [esp + 0x50]
mov byte [esp + 0xe0], bl
lea ecx, [esp + 0x48]
call fcn.00402ad0
mov byte [esp + 0xe0], 0xb
lea ecx, [esp + 0x3c]
call fcn.00402ad0
mov byte [esp + 0xe0], 7
lea ecx, [esp + 0x44]
call fcn.00402ad0
mov byte [esp + 0xe0], 4
lea ecx, [esp + 0x30]
call fcn.00402ad0
mov byte [esp + 0xe0], 2
lea ecx, [esp + 0x20]
call fcn.0045e5c0
mov byte [esp + 0xe0], 1
lea ecx, [esp + 0x14]
call fcn.00402ad0
mov byte [esp + 0xe0], 0
lea ecx, [esp + 0x1c]
call fcn.00402ad0
mov dword [esp + 0xe0], ebp
lea ecx, [esp + 0x18]
call fcn.00402ad0
mov eax, esi
mov ecx, dword [esp + 0xd8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xc0]
xor ecx, esp
call fcn.004c8a79
add esp, 0xd0
ret 0x40