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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2c]
cmp eax, dword [ecx + 8]
jbe 0x518862
sub esp, 0xac
xor ebx, ebx
xor ebx, ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
xor ebx, ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0xb4]
cmp ebx, 0
jne 0x51800e
cmp byte [esp + 0xb8], 0
je 0x51800e
mov ebx, 0x5f6efb
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], 9
xor ebx, ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp], 0x5cc760
call fcn.0040ea00
mov eax, dword [esp + 4]
mov dword [esp + 0x28], eax
mov ebp, dword [esp + 0x40]
mov dword [eax + 4], ebp
mov ebp, dword [esp + 0x3c]
cmp byte [0x6d9e38], 0
jne 0x517ff9
mov dword [eax], ebp
mov edx, 0x6b09b0
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], eax
mov dword [esp + 0x34], edx
mov dword [esp + 0xc0], edx
mov dword [esp + 0x38], eax
mov dword [esp + 0xc4], eax
mov dword [esp], 0x5d80c0
call fcn.0040ea00
mov eax, dword [esp + 4]
mov ebp, 0x5f6263
mov dword [eax], ebp
mov dword [eax + 4], 5
mov dword [esp + 0x24], eax
mov ebp, dword [esp + 0xb4]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0xb0]
cmp byte [0x6d9e38], 0
jne 0x517fe4
mov dword [eax + 8], ebp
mov ebp, dword [esp + 0xc0]
mov dword [eax + 0x10], ebp
mov ebp, dword [esp + 0xc4]
cmp byte [0x6d9e38], 0
jne 0x517fcf
mov dword [eax + 0x14], ebp
mov ecx, eax
mov eax, 0x6b0c50
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ecx
add esp, 0xac
ret
lea esi, [eax + 0x14]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f3d0
mov eax, dword [esp + 0x24]
jmp 0x517fa8
lea esi, [eax + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f3d0
mov eax, dword [esp + 0x24]
jmp 0x517f8b
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f3d0
mov eax, dword [esp + 0x28]
jmp 0x517f23
mov dword [esp], 0x5e6680
call fcn.0040ea00
mov ecx, dword [esp + 0xb4]
mov ebx, dword [esp + 4]
mov dword [esp + 0xbc], ebx
cmp ecx, 1
jne 0x518083
mov ebp, dword [esp + 0xb0]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov ebp, 0x5f5aab
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
call fcn.00452cd0
mov ecx, dword [esp + 0xb4]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x518083
mov ebx, dword [esp + 0xbc]
mov ebp, 0x5f5aab
mov dword [ebx + 0x1c], ebp
mov dword [ebx + 0x20], 1
add esp, 0xac
ret
mov ebx, dword [esp + 0xb0]
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.00517990
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0xc4], ebx
mov ebx, dword [esp + 0xbc]
cmp ebx, 0
je 0x51885b
mov dword [esp + 0x98], eax
mov dword [ebx + 4], eax
mov dword [esp + 0x94], ecx
cmp byte [0x6d9e38], 0
jne 0x51884a
mov dword [ebx], ecx
mov ebx, dword [esp + 0xc0]
cmp ebx, 0
jne 0x517f4c
mov ebx, dword [esp + 0xbc]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
call fcn.0051f910
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0xbc]
cmp ebx, 0
je 0x518843
mov dword [esp + 0x98], eax
mov dword [ebx + 4], eax
mov dword [esp + 0x94], ecx
cmp byte [0x6d9e38], 0
jne 0x518832
mov dword [ebx], ecx
mov esi, dword [esp + 0x74]
mov dword [esp + 0x5c], esi
mov eax, dword [esp + 0x78]
mov edi, 0x5f5ab9
mov dword [esp + 0x6c], edi
mov edx, 1
mov dword [esp + 0x60], eax
mov dword [esp + 0x70], edx
cmp eax, edx
jl 0x518824
mov ecx, eax
sub ecx, edx
cmp ecx, eax
ja 0x51882b
mov ebp, eax
sub ebp, ecx
mov eax, esi
cmp ebp, 0
je 0x518198
add eax, ecx
mov esi, ebp
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ebp
cmp ebp, edx
jne 0x518824
mov ebp, dword [esp + 0x94]
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
call fcn.00452cd0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x518824
mov eax, 1
cmp al, 0
je 0x51879c
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 4], ebx
mov ebx, 0x5f5ab9
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
call fcn.0051e570
mov ebx, dword [esp + 0x10]
cmp ebx, 1
jne 0x51879c
mov eax, 1
mov ebx, dword [esp + 0xbc]
mov byte [ebx + 0x2c], al
mov eax, dword [esp + 0x78]
dec eax
mov ebx, dword [esp + 0x78]
cmp eax, ebx
ja 0x518795
mov dword [esp + 0x78], eax
mov esi, dword [esp + 0x74]
mov dword [esp + 0x64], esi
mov edx, dword [esp + 0x78]
mov edi, 0x5f5ab0
mov dword [esp + 0x84], edi
mov eax, 1
mov dword [esp + 0x68], edx
mov dword [esp + 0x88], eax
cmp edx, eax
jl 0x518787
cmp eax, edx
ja 0x51878e
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], eax
cmp eax, eax
jne 0x518787
mov ebp, dword [esp + 0x94]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
call fcn.00452cd0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x518787
mov eax, 1
cmp al, 0
jne 0x5183aa
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx + 4]
cmp ebp, 0
je 0x518317
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x78]
mov dword [ebx + 0xc], ebp
mov ebp, dword [esp + 0x74]
cmp byte [0x6d9e38], 0
jne 0x518306
mov dword [ebx + 8], ebp
xor ebx, ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
add esp, 0xac
ret
lea esi, [ebx + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f3d0
jmp 0x5182ef
cmp byte [esp + 0xb8], 0
je 0x5183aa
mov ebx, 0x5fb3fe
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], 0x17
xor ebx, ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp], 0x5cc760
call fcn.0040ea00
mov eax, dword [esp + 4]
mov dword [esp + 0x28], eax
mov ebp, dword [esp + 0x48]
mov dword [eax + 4], ebp
mov ebp, dword [esp + 0x44]
cmp byte [0x6d9e38], 0
jne 0x518398
mov dword [eax], ebp
mov ecx, 0x6b09b0
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0xc4], eax
jmp 0x517f4c
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f3d0
mov eax, dword [esp + 0x28]
jmp 0x51836a
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx + 4]
cmp ebp, 0
jne 0x51844d
cmp byte [esp + 0xb8], 0
jne 0x5185ea
mov esi, dword [esp + 0x74]
mov dword [esp + 0x54], esi
mov edx, dword [esp + 0x78]
mov edi, 0x5f5bc3
mov dword [esp + 0x7c], edi
mov eax, 3
mov dword [esp + 0x58], edx
mov dword [esp + 0x80], eax
cmp edx, eax
jl 0x518779
cmp eax, edx
ja 0x518780
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], eax
cmp eax, eax
jne 0x518779
mov ebp, dword [esp + 0x94]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
call fcn.00452cd0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x518779
mov eax, 1
cmp al, 0
jne 0x5185ea
mov esi, dword [esp + 0x74]
mov dword [esp + 0x4c], esi
mov edx, dword [esp + 0x78]
mov edi, 0x5f5aed
mov dword [esp + 0x8c], edi
mov eax, 2
mov dword [esp + 0x50], edx
mov dword [esp + 0x90], eax
cmp edx, eax
jl 0x51876b
cmp eax, edx
ja 0x518772
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], eax
cmp eax, eax
jne 0x51876b
mov ebp, dword [esp + 0x94]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
call fcn.00452cd0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x51876b
mov eax, 1
cmp al, 0
je 0x5185ea
xor ebx, ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x78]
cmp ebx, 2
jb 0x518764
sub ebx, 2
mov ecx, ebx
mov eax, dword [esp + 0x74]
cmp ebx, 0
je 0x518500
add eax, 2
mov dword [esp + 0x94], eax
mov dword [esp], eax
mov dword [esp + 0x98], ecx
mov dword [esp + 4], ecx
mov ebx, 0x5f5ab0
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
mov byte [esp + 0x10], 0
call fcn.00517b70
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x78], ebx
mov dword [esp + 0xa4], ecx
mov dword [esp], ecx
mov dword [esp + 0xa8], eax
mov dword [esp + 4], eax
call fcn.00518870
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xc4], ebx
mov ebx, dword [esp + 0xbc]
cmp ebx, 0
je 0x51875d
cmp byte [0x6d9e38], 0
jne 0x518749
mov dword [ebx + 0x10], eax
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x98]
mov dword [ebx + 0x18], ebp
mov ebp, dword [esp + 0x94]
cmp byte [0x6d9e38], 0
jne 0x518735
mov dword [ebx + 0x14], ebp
mov ebx, dword [esp + 0xc0]
cmp ebx, 0
jne 0x517f4c
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 4], ebx
mov dword [esp + 8], 1
call fcn.00516cf0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xc4], ebx
mov ebx, dword [esp + 0xbc]
cmp ebx, 0
je 0x51872e
mov dword [esp + 0x98], eax
mov dword [ebx + 0x20], eax
mov dword [esp + 0x94], ecx
cmp byte [0x6d9e38], 0
jne 0x51871a
mov dword [ebx + 0x1c], ecx
mov ebx, dword [esp + 0xc0]
cmp ebx, 0
jne 0x517f4c
mov ebx, dword [esp + 0xbc]
mov dword [esp], ebx
call fcn.00519210
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 4]
mov edx, dword [esp + 8]
cmp edx, edi
jne 0x5186cf
mov dword [esp + 0x94], esi
mov dword [esp], esi
mov dword [esp + 0x98], edx
mov dword [esp + 4], edx
mov ebp, dword [esp + 0x74]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
call fcn.00452cd0
mov edi, dword [esp + 0x78]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x5186cf
xor ebx, ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
add esp, 0xac
ret
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov dword [esp + 4], edi
call fcn.005193e0
movzx ebx, byte [esp + 8]
cmp bl, 0
je 0x5186b8
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x78]
mov dword [ebx + 0x28], ebp
mov ebp, dword [esp + 0x74]
cmp byte [0x6d9e38], 0
jne 0x518709
mov dword [ebx + 0x24], ebp
jmp 0x5186b8
lea esi, [ebx + 0x24]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f3d0
jmp 0x5186b8
lea esi, [ebx + 0x1c]
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.0040f3d0
jmp 0x518655
mov dword [ebx], eax
jmp 0x518634
lea esi, [ebx + 0x14]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f3d0
jmp 0x5185da
lea esi, [ebx + 0x10]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0040f3d0
jmp 0x5185b2
mov dword [ebx], eax
jmp 0x5185a2
call fcn.004288f0
ud2
xor eax, eax
jmp 0x5184c9
call fcn.004288f0
ud2
xor eax, eax
jmp 0x518444
call fcn.004288f0
ud2
xor eax, eax
jmp 0x5182b9
call fcn.004288f0
ud2
call fcn.004288f0
ud2
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 4], ebx
mov ebx, 0x5f5ab9
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
mov byte [esp + 0x10], 1
call fcn.00517b70
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x78], ebx
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0xbc]
cmp ebx, 0
je 0x518820
mov dword [esp + 0x98], eax
mov dword [ebx + 0x34], eax
mov dword [esp + 0x94], ecx
cmp byte [0x6d9e38], 0
jne 0x51880c
mov dword [ebx + 0x30], ecx
jmp 0x51823d
lea esi, [ebx + 0x30]
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.0040f3d0
jmp 0x51823d
mov dword [ebx], eax
jmp 0x5187ea
xor eax, eax
jmp 0x5181de
call fcn.004288f0
ud2
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0040f3d0
jmp 0x518155
mov dword [ebx], eax
jmp 0x518135
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0040f3d0
jmp 0x5180f4
mov dword [ebx], eax
jmp 0x5180d4
call fcn.00450fb0
jmp fcn.00517e80