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

Disassembly:
push 0xffffffffffffffff
push 0x54b010
mov eax, dword fs:[0]
push eax
sub esp, 0x1fc
mov eax, dword [0x463df0]
xor eax, esp
mov dword [esp + 0x1f8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x463df0]
xor eax, esp
push eax
lea eax, [esp + 0x210]
mov dword fs:[0], eax
mov eax, dword [esp + 0x228]
mov ebp, dword [esp + 0x224]
xor ebx, ebx
push ebx
push eax
push ecx
mov esi, ecx
and dword [esi + 0x78], 0xfffffdff
mov eax, esp
mov dword [eax], 0x22
mov edx, dword [esi]
mov edx, dword [edx + 8]
lea eax, [esp + 0x44]
mov dword [esp + 0x24], esp
push eax
call edx
mov eax, dword [eax]
cmp eax, 4
je 0x517eec
cmp eax, 8
je 0x517f57
push 1
push 2
lea ecx, [esp + 0xa8]
call fcn.0047d9e0
mov ecx, esi
mov dword [esp + 0x218], ebx
call fcn.005147b0
lea eax, [esp + 0xa0]
push 0x46e3dc
push eax
call fcn.004bfa00
add esp, 8
mov edi, eax
push 0xa
mov ecx, edi
call fcn.004cb7a0
mov ecx, edi
call fcn.0047ce90
cmp dword [esi + 0x420], 0x4e4
jne 0x5179a3
push 0x46e394
lea ecx, [esp + 0xa4]
push ecx
jmp 0x5179b0
push 0x46dbac
lea edx, [esp + 0xa4]
push edx
call fcn.004bfa00
add esp, 8
lea eax, [esp + 0x48]
push eax
mov ecx, ebp
call fcn.0050e7e0
mov byte [esp + 0x218], 1
cmp eax, ebx
je 0x5179d5
add eax, 4
jmp 0x5179d7
xor eax, eax
push eax
lea ecx, [esp + 0xa4]
push ecx
call fcn.004c0980
add esp, 8
cmp dword [esp + 0x64], 0x10
mov edi, 0x469080
mov byte [esp + 0x218], bl
mov dword [esp + 0x48], edi
jb 0x517a0c
mov edx, dword [esp + 0x50]
push edx
call fcn.005265f5
add esp, 4
push ebx
push ebx
push ecx
mov eax, esp
mov dword [eax], 8
mov eax, dword [esi]
mov edx, dword [eax + 8]
lea ecx, [esp + 0x40]
mov dword [esp + 0x24], esp
push ecx
mov ecx, esi
mov dword [esp + 0x74], 0xf
mov dword [esp + 0x70], ebx
mov byte [esp + 0x60], bl
call edx
cmp dword [eax], 4
sete al
cmp al, bl
je 0x517be9
mov dword [esp + 0x1b0], 0xf
mov dword [esp + 0x1ac], ebx
mov byte [esp + 0x19c], bl
mov dword [esp + 0x194], edi
mov edx, dword [esp + 0x228]
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x198]
push ecx
push edx
push ebp
mov ecx, esi
mov byte [esp + 0x228], 2
call fcn.00512450
push 0xa
lea ecx, [esp + 0xa4]
call fcn.004cb7a0
lea ecx, [esp + 0xa0]
call fcn.0047ce90
lea eax, [esp + 0xa0]
push 0x46e380
push eax
call fcn.004bfa00
add esp, 8
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x44]
push edx
push ecx
mov eax, esp
mov dword [esp + 0x28], ebx
mov dword [eax], 0xa
mov eax, dword [esi]
mov edx, dword [eax + 8]
lea ecx, [esp + 0x3c]
mov dword [esp + 0x24], esp
push ecx
mov ecx, esi
call edx
cmp dword [eax], 4
jne 0x517bbc
lea eax, [esp + 0x120]
push eax
lea ecx, [esp + 0xa4]
call fcn.0047b910
mov edi, eax
lea ecx, [esp + 0x158]
push ecx
lea ecx, [esp + 0xa4]
mov byte [esp + 0x21c], 3
call fcn.0047b910
mov edi, dword [edi + 0x14]
push 0xffffffffffffffff
push edi
lea edx, [esp + 0x144]
push edx
mov ecx, eax
mov byte [esp + 0x224], 4
call fcn.004bc300
push eax
lea ecx, [esp + 0xa4]
mov byte [esp + 0x21c], 5
call fcn.005151c0
lea ecx, [esp + 0x13c]
mov byte [esp + 0x218], 4
call fcn.00477750
lea ecx, [esp + 0x158]
mov byte [esp + 0x218], 3
call fcn.00477750
lea ecx, [esp + 0x120]
mov byte [esp + 0x218], 2
call fcn.00477750
mov eax, dword [esp + 0x1c]
push eax
lea ecx, [esp + 0xa4]
push ecx
call fcn.004bfa00
add esp, 8
lea ecx, [esp + 0x194]
mov edi, 0x469080
mov byte [esp + 0x218], bl
call fcn.00477890
jmp 0x517c2c
lea edx, [esp + 0x198]
push edx
lea eax, [esp + 0xa4]
push eax
call fcn.004c0980
add esp, 8
lea ecx, [esp + 0x194]
mov byte [esp + 0x218], bl
call fcn.00477890
jmp 0x517c2c
mov ecx, ebp
call fcn.0050e2d0
mov ecx, dword [esp + 0x228]
push 0x4697fc
push ecx
push eax
lea edx, [esp + 0xac]
push 0x46e374
push edx
call fcn.004bfa00
add esp, 8
push eax
call fcn.004bfa00
add esp, 8
mov ecx, eax
call fcn.0047d890
push eax
call fcn.004bfa00
add esp, 8
push 0xa
lea ecx, [esp + 0xa4]
call fcn.004cb7a0
lea ecx, [esp + 0xa0]
call fcn.0047ce90
lea eax, [esp + 0x84]
push eax
lea ecx, [esp + 0xa4]
call fcn.0047b910
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x184]
mov byte [esp + 0x224], 6
mov dword [esp + 0x19c], 0xf
mov dword [esp + 0x198], ebx
mov byte [esp + 0x188], bl
call fcn.004787f0
mov dword [esp + 0x174], edi
mov ebp, 0x10
mov byte [esp + 0x218], 8
cmp dword [esp + 0x9c], ebp
jb 0x517cb8
mov ecx, dword [esp + 0x88]
push ecx
call fcn.005265f5
add esp, 4
mov edi, dword [esp + 0x17c]
mov dword [esp + 0x9c], 0xf
mov dword [esp + 0x98], ebx
mov byte [esp + 0x88], bl
cmp dword [esp + 0x190], ebp
jae 0x517ce8
lea edi, [esp + 0x17c]
push ebx
lea edx, [esp + 0x24]
push edx
push ecx
mov eax, esp
mov dword [esp + 0x2c], 0x46e354
mov dword [eax], 4
mov eax, dword [esi]
mov edx, dword [eax + 8]
lea ecx, [esp + 0x48]
mov dword [esp + 0x24], esp
push ecx
mov ecx, esi
call edx
push ebx
push ebx
push ecx
mov eax, esp
mov dword [eax], 2
mov eax, dword [esi]
mov edx, dword [eax + 8]
lea ecx, [esp + 0x38]
mov dword [esp + 0x24], esp
push ecx
mov ecx, esi
call edx
mov eax, dword [eax]
mov byte [esp + 0x16], 1
cmp eax, 4
je 0x517d45
cmp eax, 8
jne 0x517d4a
mov byte [esp + 0x16], bl
jmp 0x517d4a
mov byte [esp + 0x16], 1
mov byte [esp + 0x17], bl
cmp byte [esp + 0x22c], bl
je 0x517d82
cmp byte [esp + 0x16], bl
je 0x517d82
push ebx
push ebx
push ecx
mov eax, esp
mov dword [eax], 3
mov eax, dword [esi]
mov edx, dword [eax + 8]
lea ecx, [esp + 0x34]
mov dword [esp + 0x24], esp
push ecx
mov ecx, esi
call edx
cmp dword [eax], 4
sete byte [esp + 0x17]
lea ecx, [esp + 0x1b4]
call fcn.00499f10
mov eax, dword [esp + 0x220]
mov byte [esp + 0x218], 9
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], 1
mov dword [esp + 0x1bc], 4
cmp byte [esp + 0x16], bl
je 0x517ddb
movzx ecx, byte [esp + 0x17]
neg ecx
sbb ecx, ecx
and ecx, 0x8e
add ecx, 0x22
mov dword [esp + 0x1b8], ecx
jmp 0x517e37
lea edx, [esp + 0xa0]
push 0x46e3c4
push edx
call fcn.004bfa00
add esp, 8
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0xa4]
call fcn.0047b910
cmp dword [eax + 0x18], ebp
jb 0x517e0b
mov edi, dword [eax + 4]
jmp 0x517e0e
lea edi, [eax + 4]
cmp dword [esp + 0x80], ebp
jb 0x517e24
mov ecx, dword [esp + 0x6c]
push ecx
call fcn.005265f5
add esp, 4
mov dword [esp + 0x80], 0xf
mov dword [esp + 0x7c], ebx
mov byte [esp + 0x6c], bl
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x228]
push eax
lea ecx, [esp + 0x1cc]
mov dword [esp + 0x1c4], edx
mov dword [esp + 0x1c8], ebx
call fcn.004b5f20
push edi
lea ecx, [esp + 0x1ec]
call fcn.004b5f20
mov edx, dword [esi]
mov edx, dword [edx + 4]
push ebx
lea eax, [esp + 0x1b8]
push eax
push ebx
lea ecx, [esp + 0x30]
push ecx
mov ecx, esi
mov byte [esp + 0x218], 1
call edx
mov eax, dword [esp + 0x24]
cmp eax, 0x20
jne 0x517ef0
lea ecx, [esp + 0x1b4]
mov byte [esp + 0x218], 8
call fcn.00499f70
lea ecx, [esp + 0x174]
mov byte [esp + 0x218], bl
call fcn.00477890
lea ecx, [esp + 0xec]
mov dword [esp + 0x218], 0xffffffff
call fcn.004774d0
lea eax, [esp + 0xec]
push eax
mov dword [esp + 0xf0], 0x46923c
call fcn.00526077
add esp, 4
mov al, 1
jmp 0x517f59
cmp eax, 0x80
jne 0x517efe
or dword [esi + 0x78], 0x200
lea ecx, [esp + 0x1b4]
mov byte [esp + 0x218], 8
call fcn.00499f70
lea ecx, [esp + 0x174]
mov byte [esp + 0x218], bl
call fcn.00477890
lea ecx, [esp + 0xec]
mov dword [esp + 0x218], 0xffffffff
call fcn.004774d0
lea ecx, [esp + 0xec]
push ecx
mov dword [esp + 0xf0], 0x46923c
call fcn.00526077
add esp, 4
xor al, al
mov ecx, dword [esp + 0x210]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1f8]
xor ecx, esp
call fcn.00526a8a
add esp, 0x208
ret 0x10