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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x51a09a
sub esp, 0x60
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x18c]
test ecx, ecx
jne 0x51a071
mov ecx, dword [esp + 0x6c]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x70]
cmp edx, ebx
ja 0x51a033
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ebx
mov dword [ebp + ecx*4], 0x100
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.0051a320
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x78]
test edx, edx
je 0x51a026
mov ebx, dword [esp + 0x7c]
cmp ebx, 0xffff
jg 0x51a01d
lea ebp, [ebx + 5]
shl ebp, 3
mov esi, 1
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x2c], ebp
xchg esi, eax
mov byte [esp + 0x2b], al
xchg esi, eax
xchg esi, eax
test al, al
xchg esi, eax
je 0x51a012
mov edi, dword [esp + 0x64]
mov dword [esp + 0x50], eax
mov eax, 0x109
mov dword [esp + 0x40], eax
xor eax, eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x50]
jmp 0x519d39
lea ebp, [edx + 1]
lea edx, [edx + esi - 0x101]
movsx edx, byte [edx]
imul edx, ebx
mov ebx, dword [esp + 0x44]
add edx, ebx
mov ebx, dword [esp + 0x64]
mov ebx, dword [esp + 0x7c]
movzx esi, byte [esp + 0x2b]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x40]
cmp eax, edx
jle 0x519d74
mov ebx, dword [edi + 0x160]
mov ebp, dword [edi + 0x15c]
cmp edx, ebx
jae 0x51a090
mov ebx, dword [ebp + edx*4]
mov ebp, dword [0x759954]
mov esi, dword [0x759950]
lea edi, [edx - 0x101]
cmp edi, ebp
jb 0x519d02
jmp 0x51a087
mov edx, dword [esp + 0x44]
mov dword [esp + 0x48], eax
mov eax, 4
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x48]
jmp 0x519db1
lea esi, [ebx + 1]
add ebx, edi
movsx ebx, byte [ebx]
imul ebx, ebp
add edx, ebx
mov ebx, dword [esp + 0x64]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x34], esi
movzx esi, byte [esp + 0x2b]
mov ebx, dword [esp + 0x34]
cmp ecx, ebx
jle 0x519de5
mov ebp, dword [edi + 0x16c]
mov esi, dword [edi + 0x168]
cmp ebx, ebp
jae 0x51a07e
mov ebp, dword [esi + ebx*4]
mov esi, dword [0x759984]
mov edi, dword [0x759980]
cmp ebx, esi
jb 0x519d8b
jmp 0x51a075
mov dword [esp + 0x44], edx
mov eax, dword [0x77ed90]
mov dword [esp + 0x5c], eax
mov ecx, dword [0x77ed94]
mov dword [esp + 0x58], ecx
mov dword [esp], edi
mov dword [esp + 4], edx
call fcn.00519680
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x64]
mov edx, dword [ecx + 0x180]
mov ebx, dword [ecx + 0x184]
mov dword [esp], ecx
mov ebp, dword [esp + 0x3c]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x38]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.005191c0
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x188]
mov dword [esp], ecx
lea ecx, [eax + 0x10c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x13
mov dword [esp + 0xc], 0x13
mov dword [esp + 0x10], 7
call fcn.0051b740
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x180]
mov edx, dword [eax + 0x184]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0xc], ecx
call fcn.00519500
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x30]
cmp edx, eax
jle 0x519ff4
mov edx, dword [esp + 0x64]
mov ebx, dword [edx + 0x180]
mov ebp, dword [edx + 0x184]
movzx esi, byte [esp + 0x2b]
xchg esi, eax
test al, al
xchg esi, eax
je 0x519ed8
mov esi, dword [esp + 0x2c]
cmp esi, eax
jl 0x519fb0
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], ebx
cmp dword [0x77ed90], ebx
jne 0x519f7a
mov eax, dword [edx + 0x18c]
test eax, eax
je 0x519f43
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx + 8]
mov esi, dword [ebp]
mov edi, dword [ebp + 4]
mov ebp, dword [ebp + 8]
mov dword [esp], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ebp
call fcn.0051a5e0
add esp, 0x60
ret
movzx eax, byte [esp + 0x74]
test al, al
je 0x519f73
mov eax, 3
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 3
call fcn.00518e40
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x58]
jmp 0x519ef6
mov eax, 2
jmp 0x519f51
mov dword [esp], edx
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
movzx eax, byte [esp + 0x74]
mov byte [esp + 0x10], al
call fcn.005198e0
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x58]
jmp 0x519ef6
mov dword [esp], edx
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
movzx ecx, byte [esp + 0x74]
mov byte [esp + 8], cl
call fcn.00519b90
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xc], eax
call fcn.00519000
add esp, 0x60
ret
movzx esi, byte [esp + 0x2b]
xchg esi, eax
test al, al
xchg esi, eax
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x58]
jmp 0x519eca
mov edi, dword [esp + 0x64]
xor edx, edx
jmp 0x519de5
xor esi, esi
xor ebp, ebp
jmp 0x519cc9
mov ebx, dword [esp + 0x7c]
xor esi, esi
xor ebp, ebp
jmp 0x519cc9
lea eax, [0x55bb40]
mov dword [esp], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00441c00
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x6c]
jmp 0x519c72
add esp, 0x60
ret
mov eax, ebx
mov ecx, esi
call fcn.0045a170
mov eax, ebx
mov ecx, ebp
call fcn.0045a170
mov eax, edi
mov ecx, ebp
call fcn.0045a170
mov eax, edx
mov ecx, ebx
call fcn.0045a170
nop
call fcn.00458ba0
jmp fcn.00519c30