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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x517ef3
sub esp, 0x60
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
xor ebx, ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
xor ebx, ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x24], 0
mov byte [esp + 0x23], 0
xor eax, eax
cmp eax, edx
jge 0x5178a0
cmp eax, edx
jae 0x517e05
mov ebp, esi
add ebp, eax
movzx ebx, byte [ebp]
cmp bl, 0x25
jne 0x517de1
mov ebx, dword [esp + 0x24]
inc ebx
mov dword [esp + 0x24], ebx
mov ecx, eax
add ecx, 2
cmp ecx, edx
jge 0x517cf7
mov ebx, eax
inc ebx
cmp ebx, edx
jae 0x517dda
mov ebp, esi
add ebp, ebx
movzx ebx, byte [ebp]
mov ecx, ebx
cmp bl, 0x30
jb 0x517dab
cmp cl, 0x39
ja 0x517dab
mov ecx, 1
cmp cl, 0
je 0x517cf7
mov ebx, eax
add ebx, 2
cmp ebx, edx
jae 0x517da4
mov ebp, esi
add ebp, ebx
movzx ebx, byte [ebp]
mov ecx, ebx
cmp bl, 0x30
jb 0x517d75
cmp cl, 0x39
ja 0x517d75
mov ecx, 1
cmp cl, 0
je 0x517cf7
mov ebx, dword [esp + 0x6c]
cmp ebx, 2
jne 0x5177a9
mov ebx, eax
inc ebx
cmp ebx, edx
jae 0x517cf0
mov ebp, esi
add ebp, ebx
movzx ebx, byte [ebp]
mov ecx, ebx
cmp bl, 0x30
jb 0x517cb7
cmp cl, 0x39
ja 0x517cb7
mov ebx, ecx
sub ebx, 0x30
mov ecx, ebx
cmp cl, 8
jae 0x5177a9
mov ecx, eax
add ecx, 3
mov dword [esp + 0x28], eax
cmp ecx, edx
ja 0x517cb0
cmp eax, ecx
ja 0x517cb0
mov edi, ecx
sub edi, eax
mov ecx, esi
cmp edi, 0
je 0x51775d
add ecx, eax
mov dword [esp + 0x44], ecx
cmp edi, 3
jne 0x517c45
mov ebp, dword [esp + 0x44]
mov dword [esp], ebp
mov dword [esp + 0x48], edi
mov dword [esp + 4], edi
mov ebp, 0x5f6825
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 3
call fcn.004535f0
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x28]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x517c45
mov ebx, dword [esp + 0x6c]
cmp ebx, 3
jne 0x517895
mov ebx, eax
inc ebx
cmp ebx, edx
jae 0x517c3e
mov ebp, esi
add ebp, ebx
movzx ebx, byte [ebp]
mov ecx, ebx
cmp bl, 0x30
jb 0x517c05
cmp cl, 0x39
ja 0x517c05
mov ebx, ecx
sub ebx, 0x30
mov edi, ebx
mov ebx, eax
add ebx, 2
cmp ebx, edx
jae 0x517bfe
mov ebp, esi
add ebp, ebx
movzx ebx, byte [ebp]
mov ecx, ebx
cmp bl, 0x30
jb 0x517bc5
cmp cl, 0x39
ja 0x517bc5
mov ebx, ecx
sub ebx, 0x30
mov ecx, ebx
mov ebx, edi
shl ebx, 4
mov ebp, ebx
or ebp, ecx
xchg ebp, eax
mov byte [esp + 0x22], al
xchg ebp, eax
mov ebp, eax
add ebp, 3
mov dword [esp + 0x28], eax
cmp ebp, edx
ja 0x517bbe
cmp eax, ebp
ja 0x517bbe
mov edi, ebp
sub edi, eax
mov ebp, esi
cmp edi, 0
je 0x517849
add ebp, eax
mov dword [esp + 0x3c], ebp
cmp edi, 3
jne 0x517b14
mov ebp, dword [esp + 0x3c]
mov dword [esp], ebp
mov dword [esp + 0x40], edi
mov dword [esp + 4], edi
mov ebp, 0x5f6825
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 3
call fcn.004535f0
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x28]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x517b14
add eax, 3
cmp eax, edx
jl 0x51765c
mov ebx, dword [esp + 0x24]
cmp ebx, 0
jne 0x5178c6
cmp byte [esp + 0x23], 0
jne 0x5178c6
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], edx
xor ebx, ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
add esp, 0x60
ret
mov ebx, dword [esp + 0x24]
shl ebx, 1
mov eax, edx
sub eax, ebx
mov dword [esp], 0x5c5000
mov ecx, eax
cdq
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, ecx
cdq
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call fcn.0043cbf0
mov edi, dword [esp + 0x68]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x5c], ebx
xor ecx, ecx
xor eax, eax
cmp eax, edi
jge 0x5179b4
cmp eax, edi
jae 0x517ab3
mov ebp, dword [esp + 0x64]
add ebp, eax
movzx ebx, byte [ebp]
cmp bl, 0x25
jne 0x517a7d
mov ebx, eax
inc ebx
cmp ebx, edi
jae 0x517a76
mov ebp, dword [esp + 0x64]
add ebp, ebx
movzx ebx, byte [ebp]
mov edx, ebx
cmp bl, 0x30
jb 0x517a3d
cmp dl, 0x39
ja 0x517a3d
mov ebx, edx
sub ebx, 0x30
mov esi, ebx
mov ebx, eax
add ebx, 2
cmp ebx, edi
jae 0x517a36
mov ebp, dword [esp + 0x64]
add ebp, ebx
movzx ebx, byte [ebp]
mov edx, ebx
cmp bl, 0x30
jb 0x5179fd
cmp dl, 0x39
ja 0x5179fd
mov ebx, edx
sub ebx, 0x30
mov edx, ebx
mov ebp, esi
shl ebp, 4
mov ebx, ebp
or ebx, edx
mov esi, dword [esp + 0x58]
cmp ecx, esi
jae 0x5179f6
mov esi, dword [esp + 0x54]
add esi, ecx
mov byte [esi], bl
inc ecx
add eax, 3
cmp eax, edi
jl 0x51791a
mov dword [esp], 0
mov ebx, dword [esp + 0x54]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0xc], ebx
call fcn.00440a30
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x74], ebx
xor ebx, ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
add esp, 0x60
ret
call fcn.004291a0
ud2
cmp dl, 0x61
jb 0x517a16
cmp dl, 0x66
ja 0x517a16
mov ebx, edx
sub ebx, 0x61
add ebx, 0xa
mov edx, ebx
jmp 0x51798f
cmp dl, 0x41
jb 0x517a2f
cmp dl, 0x46
ja 0x517a2f
mov ebx, edx
sub ebx, 0x41
add ebx, 0xa
mov edx, ebx
jmp 0x51798f
xor edx, edx
jmp 0x51798f
call fcn.004291a0
ud2
cmp dl, 0x61
jb 0x517a56
cmp dl, 0x66
ja 0x517a56
mov ebx, edx
sub ebx, 0x61
add ebx, 0xa
mov esi, ebx
jmp 0x517965
cmp dl, 0x41
jb 0x517a6f
cmp dl, 0x46
ja 0x517a6f
mov ebx, edx
sub ebx, 0x41
add ebx, 0xa
mov esi, ebx
jmp 0x517965
xor esi, esi
jmp 0x517965
call fcn.004291a0
ud2
cmp bl, 0x2b
jne 0x517ae0
mov ebx, dword [esp + 0x6c]
cmp ebx, 5
jne 0x517ac1
mov edx, 0x20
mov ebp, dword [esp + 0x58]
cmp ecx, ebp
jae 0x517aba
mov ebp, dword [esp + 0x54]
add ebp, ecx
mov byte [ebp], dl
inc ecx
inc eax
cmp eax, edi
jge 0x5179b4
cmp eax, edi
jb 0x517922
call fcn.004291a0
ud2
call fcn.004291a0
ud2
mov edx, 0x2b
mov ebp, dword [esp + 0x58]
cmp ecx, ebp
jae 0x517ad9
mov ebp, dword [esp + 0x54]
add ebp, ecx
mov byte [ebp], dl
jmp 0x517aa1
call fcn.004291a0
ud2
cmp eax, edi
jae 0x517b0d
mov ebp, dword [esp + 0x64]
add ebp, eax
movzx ebx, byte [ebp]
mov ebp, dword [esp + 0x58]
cmp ecx, ebp
jae 0x517b06
mov ebp, dword [esp + 0x54]
add ebp, ecx
mov byte [ebp], bl
inc ecx
inc eax
jmp 0x517912
call fcn.004291a0
ud2
call fcn.004291a0
ud2
movzx ebx, byte [esp + 0x22]
cmp bl, 0x20
je 0x517895
movzx ebx, byte [esp + 0x22]
mov byte [esp], bl
mov dword [esp + 4], 2
call fcn.00517410
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x28]
movzx ebx, byte [esp + 8]
cmp bl, 0
je 0x517895
mov ebp, eax
add ebp, 3
mov ecx, eax
cmp ebp, edx
ja 0x517bb7
cmp eax, ebp
ja 0x517bb7
mov edx, ebp
sub edx, eax
mov eax, esi
cmp edx, 0
je 0x517b6d
add eax, ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x50], edx
xor ebx, ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp], 0x6b2330
lea ebx, [esp + 0x4c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040c4d0
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x7c], ebx
add esp, 0x60
ret
call fcn.00429210
ud2
call fcn.00429210
ud2
cmp cl, 0x61
jb 0x517bde
cmp cl, 0x66
ja 0x517bde
mov ebx, ecx
sub ebx, 0x61
add ebx, 0xa
mov ecx, ebx
jmp 0x517814
cmp cl, 0x41
jb 0x517bf7
cmp cl, 0x46
ja 0x517bf7
mov ebx, ecx
sub ebx, 0x41
add ebx, 0xa
mov ecx, ebx
jmp 0x517814
xor ecx, ecx
jmp 0x517814
call fcn.004291a0
ud2
cmp cl, 0x61
jb 0x517c1e
cmp cl, 0x66
ja 0x517c1e
mov ebx, ecx
sub ebx, 0x61
add ebx, 0xa
mov edi, ebx
jmp 0x5177e4
cmp cl, 0x41
jb 0x517c37
cmp cl, 0x46
ja 0x517c37
mov ebx, ecx
sub ebx, 0x41
add ebx, 0xa
mov edi, ebx
jmp 0x5177e4
xor edi, edi
jmp 0x5177e4
call fcn.004291a0
ud2
mov ecx, eax
add ecx, 3
cmp ecx, edx
ja 0x517ca9
cmp eax, ecx
ja 0x517ca9
mov edx, ecx
sub edx, eax
mov ecx, esi
cmp edx, 0
je 0x517c5f
add ecx, eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x50], edx
xor ebx, ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp], 0x6b2330
lea ebx, [esp + 0x4c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040c4d0
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x7c], ebx
add esp, 0x60
ret
call fcn.00429210
ud2
call fcn.00429210
ud2
cmp cl, 0x61
jb 0x517cd0
cmp cl, 0x66
ja 0x517cd0
mov ebx, ecx
sub ebx, 0x61
add ebx, 0xa
mov ecx, ebx
jmp 0x517732
cmp cl, 0x41
jb 0x517ce9
cmp cl, 0x46
ja 0x517ce9
mov ebx, ecx
sub ebx, 0x41
add ebx, 0xa
mov ecx, ebx
jmp 0x517732
xor ecx, ecx
jmp 0x517732
call fcn.004291a0
ud2
mov ecx, eax
cmp eax, edx
ja 0x517d6e
sub edx, eax
mov eax, esi
cmp edx, 0
je 0x517d08
add eax, ecx
mov ecx, edx
mov edx, eax
cmp ecx, 3
jle 0x517d6c
cmp ecx, 3
jb 0x517d65
mov ecx, 3
mov dword [esp + 0x64], edx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x50], ecx
xor ebx, ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp], 0x6b2330
lea ebx, [esp + 0x4c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040c4d0
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x7c], ebx
add esp, 0x60
ret
call fcn.00429210
ud2
jmp 0x517d1b
call fcn.00429210
ud2
cmp cl, 0x61
jb 0x517d89
cmp cl, 0x66
ja 0x517d89
mov ecx, 1
jmp 0x5176ee
cmp cl, 0x41
jb 0x517d9d
cmp cl, 0x46
ja 0x517d9d
mov ecx, 1
jmp 0x5176ee
xor ecx, ecx
jmp 0x5176ee
call fcn.004291a0
ud2
cmp cl, 0x61
jb 0x517dbf
cmp cl, 0x66
ja 0x517dbf
mov ecx, 1
jmp 0x5176b7
cmp cl, 0x41
jb 0x517dd3
cmp cl, 0x46
ja 0x517dd3
mov ecx, 1
jmp 0x5176b7
xor ecx, ecx
jmp 0x5176b7
call fcn.004291a0
ud2
cmp bl, 0x2b
jne 0x517e13
mov ebx, dword [esp + 0x6c]
cmp ebx, 5
je 0x517e0c
mov byte [esp + 0x23], 0
inc eax
cmp eax, edx
jge 0x5178a0
cmp eax, edx
jb 0x517664
call fcn.004291a0
ud2
mov byte [esp + 0x23], 1
jmp 0x517df4
mov ebx, dword [esp + 0x6c]
cmp ebx, 2
je 0x517e2b
mov ebx, dword [esp + 0x6c]
cmp ebx, 3
je 0x517e2b
inc eax
jmp 0x517654
cmp eax, edx
jae 0x517eec
mov ebp, esi
add ebp, eax
movzx ebx, byte [ebp]
cmp bl, 0x80
jae 0x517e25
mov dword [esp + 0x28], eax
cmp eax, edx
jae 0x517ee5
mov ebp, esi
add ebp, eax
movzx ebx, byte [ebp]
mov byte [esp], bl
mov ebx, dword [esp + 0x6c]
mov dword [esp + 4], ebx
call fcn.00517410
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x28]
movzx ebx, byte [esp + 8]
cmp bl, 0
je 0x517e25
mov ebp, eax
inc ebp
mov ecx, eax
cmp ebp, edx
ja 0x517ede
cmp eax, ebp
ja 0x517ede
mov edx, ebp
sub edx, eax
mov eax, esi
cmp edx, 0
je 0x517e94
add eax, ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x30], edx
xor ebx, ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp], 0x6b2350
lea ebx, [esp + 0x2c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040c4d0
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x7c], ebx
add esp, 0x60
ret
call fcn.00429210
ud2
call fcn.004291a0
ud2
call fcn.004291a0
ud2
call fcn.004518d0
jmp fcn.00517610