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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5187f3
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 0x5181a0
cmp eax, edx
jae 0x518705
mov ebp, esi
add ebp, eax
movzx ebx, byte [ebp]
cmp bl, 0x25
jne 0x5186e1
mov ebx, dword [esp + 0x24]
inc ebx
mov dword [esp + 0x24], ebx
mov ecx, eax
add ecx, 2
cmp ecx, edx
jge 0x5185f7
mov ebx, eax
inc ebx
cmp ebx, edx
jae 0x5186da
mov ebp, esi
add ebp, ebx
movzx ebx, byte [ebp]
mov ecx, ebx
cmp bl, 0x30
jb 0x5186ab
cmp cl, 0x39
ja 0x5186ab
mov ecx, 1
cmp cl, 0
je 0x5185f7
mov ebx, eax
add ebx, 2
cmp ebx, edx
jae 0x5186a4
mov ebp, esi
add ebp, ebx
movzx ebx, byte [ebp]
mov ecx, ebx
cmp bl, 0x30
jb 0x518675
cmp cl, 0x39
ja 0x518675
mov ecx, 1
cmp cl, 0
je 0x5185f7
mov ebx, dword [esp + 0x6c]
cmp ebx, 2
jne 0x5180a9
mov ebx, eax
inc ebx
cmp ebx, edx
jae 0x5185f0
mov ebp, esi
add ebp, ebx
movzx ebx, byte [ebp]
mov ecx, ebx
cmp bl, 0x30
jb 0x5185b7
cmp cl, 0x39
ja 0x5185b7
mov ebx, ecx
sub ebx, 0x30
mov ecx, ebx
cmp cl, 8
jae 0x5180a9
mov ecx, eax
add ecx, 3
mov dword [esp + 0x28], eax
cmp ecx, edx
ja 0x5185b0
cmp eax, ecx
ja 0x5185b0
mov edi, ecx
sub edi, eax
mov ecx, esi
cmp edi, 0
je 0x51805d
add ecx, eax
mov dword [esp + 0x44], ecx
cmp edi, 3
jne 0x518545
mov ebp, dword [esp + 0x44]
mov dword [esp], ebp
mov dword [esp + 0x48], edi
mov dword [esp + 4], edi
mov ebp, 0x5f7147
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 3
call fcn.00453f60
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x28]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x518545
mov ebx, dword [esp + 0x6c]
cmp ebx, 3
jne 0x518195
mov ebx, eax
inc ebx
cmp ebx, edx
jae 0x51853e
mov ebp, esi
add ebp, ebx
movzx ebx, byte [ebp]
mov ecx, ebx
cmp bl, 0x30
jb 0x518505
cmp cl, 0x39
ja 0x518505
mov ebx, ecx
sub ebx, 0x30
mov edi, ebx
mov ebx, eax
add ebx, 2
cmp ebx, edx
jae 0x5184fe
mov ebp, esi
add ebp, ebx
movzx ebx, byte [ebp]
mov ecx, ebx
cmp bl, 0x30
jb 0x5184c5
cmp cl, 0x39
ja 0x5184c5
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 0x5184be
cmp eax, ebp
ja 0x5184be
mov edi, ebp
sub edi, eax
mov ebp, esi
cmp edi, 0
je 0x518149
add ebp, eax
mov dword [esp + 0x3c], ebp
cmp edi, 3
jne 0x518414
mov ebp, dword [esp + 0x3c]
mov dword [esp], ebp
mov dword [esp + 0x40], edi
mov dword [esp + 4], edi
mov ebp, 0x5f7147
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 3
call fcn.00453f60
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x28]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x518414
add eax, 3
cmp eax, edx
jl 0x517f5c
mov ebx, dword [esp + 0x24]
cmp ebx, 0
jne 0x5181c6
cmp byte [esp + 0x23], 0
jne 0x5181c6
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], 0x5c5920
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.0043d560
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 0x5182b4
cmp eax, edi
jae 0x5183b3
mov ebp, dword [esp + 0x64]
add ebp, eax
movzx ebx, byte [ebp]
cmp bl, 0x25
jne 0x51837d
mov ebx, eax
inc ebx
cmp ebx, edi
jae 0x518376
mov ebp, dword [esp + 0x64]
add ebp, ebx
movzx ebx, byte [ebp]
mov edx, ebx
cmp bl, 0x30
jb 0x51833d
cmp dl, 0x39
ja 0x51833d
mov ebx, edx
sub ebx, 0x30
mov esi, ebx
mov ebx, eax
add ebx, 2
cmp ebx, edi
jae 0x518336
mov ebp, dword [esp + 0x64]
add ebp, ebx
movzx ebx, byte [ebp]
mov edx, ebx
cmp bl, 0x30
jb 0x5182fd
cmp dl, 0x39
ja 0x5182fd
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 0x5182f6
mov esi, dword [esp + 0x54]
add esi, ecx
mov byte [esi], bl
inc ecx
add eax, 3
cmp eax, edi
jl 0x51821a
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.004413a0
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.00429b10
ud2
cmp dl, 0x61
jb 0x518316
cmp dl, 0x66
ja 0x518316
mov ebx, edx
sub ebx, 0x61
add ebx, 0xa
mov edx, ebx
jmp 0x51828f
cmp dl, 0x41
jb 0x51832f
cmp dl, 0x46
ja 0x51832f
mov ebx, edx
sub ebx, 0x41
add ebx, 0xa
mov edx, ebx
jmp 0x51828f
xor edx, edx
jmp 0x51828f
call fcn.00429b10
ud2
cmp dl, 0x61
jb 0x518356
cmp dl, 0x66
ja 0x518356
mov ebx, edx
sub ebx, 0x61
add ebx, 0xa
mov esi, ebx
jmp 0x518265
cmp dl, 0x41
jb 0x51836f
cmp dl, 0x46
ja 0x51836f
mov ebx, edx
sub ebx, 0x41
add ebx, 0xa
mov esi, ebx
jmp 0x518265
xor esi, esi
jmp 0x518265
call fcn.00429b10
ud2
cmp bl, 0x2b
jne 0x5183e0
mov ebx, dword [esp + 0x6c]
cmp ebx, 5
jne 0x5183c1
mov edx, 0x20
mov ebp, dword [esp + 0x58]
cmp ecx, ebp
jae 0x5183ba
mov ebp, dword [esp + 0x54]
add ebp, ecx
mov byte [ebp], dl
inc ecx
inc eax
cmp eax, edi
jge 0x5182b4
cmp eax, edi
jb 0x518222
call fcn.00429b10
ud2
call fcn.00429b10
ud2
mov edx, 0x2b
mov ebp, dword [esp + 0x58]
cmp ecx, ebp
jae 0x5183d9
mov ebp, dword [esp + 0x54]
add ebp, ecx
mov byte [ebp], dl
jmp 0x5183a1
call fcn.00429b10
ud2
cmp eax, edi
jae 0x51840d
mov ebp, dword [esp + 0x64]
add ebp, eax
movzx ebx, byte [ebp]
mov ebp, dword [esp + 0x58]
cmp ecx, ebp
jae 0x518406
mov ebp, dword [esp + 0x54]
add ebp, ecx
mov byte [ebp], bl
inc ecx
inc eax
jmp 0x518212
call fcn.00429b10
ud2
call fcn.00429b10
ud2
movzx ebx, byte [esp + 0x22]
cmp bl, 0x20
je 0x518195
movzx ebx, byte [esp + 0x22]
mov byte [esp], bl
mov dword [esp + 4], 2
call fcn.00517d10
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x28]
movzx ebx, byte [esp + 8]
cmp bl, 0
je 0x518195
mov ebp, eax
add ebp, 3
mov ecx, eax
cmp ebp, edx
ja 0x5184b7
cmp eax, ebp
ja 0x5184b7
mov edx, ebp
sub edx, eax
mov eax, esi
cmp edx, 0
je 0x51846d
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], 0x6b3330
lea ebx, [esp + 0x4c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040ce40
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.00429b80
ud2
call fcn.00429b80
ud2
cmp cl, 0x61
jb 0x5184de
cmp cl, 0x66
ja 0x5184de
mov ebx, ecx
sub ebx, 0x61
add ebx, 0xa
mov ecx, ebx
jmp 0x518114
cmp cl, 0x41
jb 0x5184f7
cmp cl, 0x46
ja 0x5184f7
mov ebx, ecx
sub ebx, 0x41
add ebx, 0xa
mov ecx, ebx
jmp 0x518114
xor ecx, ecx
jmp 0x518114
call fcn.00429b10
ud2
cmp cl, 0x61
jb 0x51851e
cmp cl, 0x66
ja 0x51851e
mov ebx, ecx
sub ebx, 0x61
add ebx, 0xa
mov edi, ebx
jmp 0x5180e4
cmp cl, 0x41
jb 0x518537
cmp cl, 0x46
ja 0x518537
mov ebx, ecx
sub ebx, 0x41
add ebx, 0xa
mov edi, ebx
jmp 0x5180e4
xor edi, edi
jmp 0x5180e4
call fcn.00429b10
ud2
mov ecx, eax
add ecx, 3
cmp ecx, edx
ja 0x5185a9
cmp eax, ecx
ja 0x5185a9
mov edx, ecx
sub edx, eax
mov ecx, esi
cmp edx, 0
je 0x51855f
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], 0x6b3330
lea ebx, [esp + 0x4c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040ce40
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.00429b80
ud2
call fcn.00429b80
ud2
cmp cl, 0x61
jb 0x5185d0
cmp cl, 0x66
ja 0x5185d0
mov ebx, ecx
sub ebx, 0x61
add ebx, 0xa
mov ecx, ebx
jmp 0x518032
cmp cl, 0x41
jb 0x5185e9
cmp cl, 0x46
ja 0x5185e9
mov ebx, ecx
sub ebx, 0x41
add ebx, 0xa
mov ecx, ebx
jmp 0x518032
xor ecx, ecx
jmp 0x518032
call fcn.00429b10
ud2
mov ecx, eax
cmp eax, edx
ja 0x51866e
sub edx, eax
mov eax, esi
cmp edx, 0
je 0x518608
add eax, ecx
mov ecx, edx
mov edx, eax
cmp ecx, 3
jle 0x51866c
cmp ecx, 3
jb 0x518665
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], 0x6b3330
lea ebx, [esp + 0x4c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040ce40
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.00429b80
ud2
jmp 0x51861b
call fcn.00429b80
ud2
cmp cl, 0x61
jb 0x518689
cmp cl, 0x66
ja 0x518689
mov ecx, 1
jmp 0x517fee
cmp cl, 0x41
jb 0x51869d
cmp cl, 0x46
ja 0x51869d
mov ecx, 1
jmp 0x517fee
xor ecx, ecx
jmp 0x517fee
call fcn.00429b10
ud2
cmp cl, 0x61
jb 0x5186bf
cmp cl, 0x66
ja 0x5186bf
mov ecx, 1
jmp 0x517fb7
cmp cl, 0x41
jb 0x5186d3
cmp cl, 0x46
ja 0x5186d3
mov ecx, 1
jmp 0x517fb7
xor ecx, ecx
jmp 0x517fb7
call fcn.00429b10
ud2
cmp bl, 0x2b
jne 0x518713
mov ebx, dword [esp + 0x6c]
cmp ebx, 5
je 0x51870c
mov byte [esp + 0x23], 0
inc eax
cmp eax, edx
jge 0x5181a0
cmp eax, edx
jb 0x517f64
call fcn.00429b10
ud2
mov byte [esp + 0x23], 1
jmp 0x5186f4
mov ebx, dword [esp + 0x6c]
cmp ebx, 2
je 0x51872b
mov ebx, dword [esp + 0x6c]
cmp ebx, 3
je 0x51872b
inc eax
jmp 0x517f54
cmp eax, edx
jae 0x5187ec
mov ebp, esi
add ebp, eax
movzx ebx, byte [ebp]
cmp bl, 0x80
jae 0x518725
mov dword [esp + 0x28], eax
cmp eax, edx
jae 0x5187e5
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.00517d10
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x28]
movzx ebx, byte [esp + 8]
cmp bl, 0
je 0x518725
mov ebp, eax
inc ebp
mov ecx, eax
cmp ebp, edx
ja 0x5187de
cmp eax, ebp
ja 0x5187de
mov edx, ebp
sub edx, eax
mov eax, esi
cmp edx, 0
je 0x518794
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], 0x6b3350
lea ebx, [esp + 0x2c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040ce40
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.00429b80
ud2
call fcn.00429b10
ud2
call fcn.00429b10
ud2
call fcn.00452240
jmp fcn.00517f10