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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5175d3
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 0x516f80
cmp eax, edx
jae 0x5174e5
mov ebp, esi
add ebp, eax
movzx ebx, byte [ebp]
cmp bl, 0x25
jne 0x5174c1
mov ebx, dword [esp + 0x24]
inc ebx
mov dword [esp + 0x24], ebx
mov ecx, eax
add ecx, 2
cmp ecx, edx
jge 0x5173d7
mov ebx, eax
inc ebx
cmp ebx, edx
jae 0x5174ba
mov ebp, esi
add ebp, ebx
movzx ebx, byte [ebp]
mov ecx, ebx
cmp bl, 0x30
jb 0x51748b
cmp cl, 0x39
ja 0x51748b
mov ecx, 1
cmp cl, 0
je 0x5173d7
mov ebx, eax
add ebx, 2
cmp ebx, edx
jae 0x517484
mov ebp, esi
add ebp, ebx
movzx ebx, byte [ebp]
mov ecx, ebx
cmp bl, 0x30
jb 0x517455
cmp cl, 0x39
ja 0x517455
mov ecx, 1
cmp cl, 0
je 0x5173d7
mov ebx, dword [esp + 0x6c]
cmp ebx, 2
jne 0x516e89
mov ebx, eax
inc ebx
cmp ebx, edx
jae 0x5173d0
mov ebp, esi
add ebp, ebx
movzx ebx, byte [ebp]
mov ecx, ebx
cmp bl, 0x30
jb 0x517397
cmp cl, 0x39
ja 0x517397
mov ebx, ecx
sub ebx, 0x30
mov ecx, ebx
cmp cl, 8
jae 0x516e89
mov ecx, eax
add ecx, 3
mov dword [esp + 0x28], eax
cmp ecx, edx
ja 0x517390
cmp eax, ecx
ja 0x517390
mov edi, ecx
sub edi, eax
mov ecx, esi
cmp edi, 0
je 0x516e3d
add ecx, eax
mov dword [esp + 0x44], ecx
cmp edi, 3
jne 0x517325
mov ebp, dword [esp + 0x44]
mov dword [esp], ebp
mov dword [esp + 0x48], edi
mov dword [esp + 4], edi
mov ebp, 0x5f5ba5
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 3
call fcn.00452cd0
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x28]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x517325
mov ebx, dword [esp + 0x6c]
cmp ebx, 3
jne 0x516f75
mov ebx, eax
inc ebx
cmp ebx, edx
jae 0x51731e
mov ebp, esi
add ebp, ebx
movzx ebx, byte [ebp]
mov ecx, ebx
cmp bl, 0x30
jb 0x5172e5
cmp cl, 0x39
ja 0x5172e5
mov ebx, ecx
sub ebx, 0x30
mov edi, ebx
mov ebx, eax
add ebx, 2
cmp ebx, edx
jae 0x5172de
mov ebp, esi
add ebp, ebx
movzx ebx, byte [ebp]
mov ecx, ebx
cmp bl, 0x30
jb 0x5172a5
cmp cl, 0x39
ja 0x5172a5
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 0x51729e
cmp eax, ebp
ja 0x51729e
mov edi, ebp
sub edi, eax
mov ebp, esi
cmp edi, 0
je 0x516f29
add ebp, eax
mov dword [esp + 0x3c], ebp
cmp edi, 3
jne 0x5171f4
mov ebp, dword [esp + 0x3c]
mov dword [esp], ebp
mov dword [esp + 0x40], edi
mov dword [esp + 4], edi
mov ebp, 0x5f5ba5
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 3
call fcn.00452cd0
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x28]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x5171f4
add eax, 3
cmp eax, edx
jl 0x516d3c
mov ebx, dword [esp + 0x24]
cmp ebx, 0
jne 0x516fa6
cmp byte [esp + 0x23], 0
jne 0x516fa6
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], 0x5c4440
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.0043c2d0
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 0x517094
cmp eax, edi
jae 0x517193
mov ebp, dword [esp + 0x64]
add ebp, eax
movzx ebx, byte [ebp]
cmp bl, 0x25
jne 0x51715d
mov ebx, eax
inc ebx
cmp ebx, edi
jae 0x517156
mov ebp, dword [esp + 0x64]
add ebp, ebx
movzx ebx, byte [ebp]
mov edx, ebx
cmp bl, 0x30
jb 0x51711d
cmp dl, 0x39
ja 0x51711d
mov ebx, edx
sub ebx, 0x30
mov esi, ebx
mov ebx, eax
add ebx, 2
cmp ebx, edi
jae 0x517116
mov ebp, dword [esp + 0x64]
add ebp, ebx
movzx ebx, byte [ebp]
mov edx, ebx
cmp bl, 0x30
jb 0x5170dd
cmp dl, 0x39
ja 0x5170dd
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 0x5170d6
mov esi, dword [esp + 0x54]
add esi, ecx
mov byte [esi], bl
inc ecx
add eax, 3
cmp eax, edi
jl 0x516ffa
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.00440110
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.00428880
ud2
cmp dl, 0x61
jb 0x5170f6
cmp dl, 0x66
ja 0x5170f6
mov ebx, edx
sub ebx, 0x61
add ebx, 0xa
mov edx, ebx
jmp 0x51706f
cmp dl, 0x41
jb 0x51710f
cmp dl, 0x46
ja 0x51710f
mov ebx, edx
sub ebx, 0x41
add ebx, 0xa
mov edx, ebx
jmp 0x51706f
xor edx, edx
jmp 0x51706f
call fcn.00428880
ud2
cmp dl, 0x61
jb 0x517136
cmp dl, 0x66
ja 0x517136
mov ebx, edx
sub ebx, 0x61
add ebx, 0xa
mov esi, ebx
jmp 0x517045
cmp dl, 0x41
jb 0x51714f
cmp dl, 0x46
ja 0x51714f
mov ebx, edx
sub ebx, 0x41
add ebx, 0xa
mov esi, ebx
jmp 0x517045
xor esi, esi
jmp 0x517045
call fcn.00428880
ud2
cmp bl, 0x2b
jne 0x5171c0
mov ebx, dword [esp + 0x6c]
cmp ebx, 5
jne 0x5171a1
mov edx, 0x20
mov ebp, dword [esp + 0x58]
cmp ecx, ebp
jae 0x51719a
mov ebp, dword [esp + 0x54]
add ebp, ecx
mov byte [ebp], dl
inc ecx
inc eax
cmp eax, edi
jge 0x517094
cmp eax, edi
jb 0x517002
call fcn.00428880
ud2
call fcn.00428880
ud2
mov edx, 0x2b
mov ebp, dword [esp + 0x58]
cmp ecx, ebp
jae 0x5171b9
mov ebp, dword [esp + 0x54]
add ebp, ecx
mov byte [ebp], dl
jmp 0x517181
call fcn.00428880
ud2
cmp eax, edi
jae 0x5171ed
mov ebp, dword [esp + 0x64]
add ebp, eax
movzx ebx, byte [ebp]
mov ebp, dword [esp + 0x58]
cmp ecx, ebp
jae 0x5171e6
mov ebp, dword [esp + 0x54]
add ebp, ecx
mov byte [ebp], bl
inc ecx
inc eax
jmp 0x516ff2
call fcn.00428880
ud2
call fcn.00428880
ud2
movzx ebx, byte [esp + 0x22]
cmp bl, 0x20
je 0x516f75
movzx ebx, byte [esp + 0x22]
mov byte [esp], bl
mov dword [esp + 4], 2
call fcn.00516af0
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x28]
movzx ebx, byte [esp + 8]
cmp bl, 0
je 0x516f75
mov ebp, eax
add ebp, 3
mov ecx, eax
cmp ebp, edx
ja 0x517297
cmp eax, ebp
ja 0x517297
mov edx, ebp
sub edx, eax
mov eax, esi
cmp edx, 0
je 0x51724d
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], 0x6b1330
lea ebx, [esp + 0x4c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040bbb0
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.004288f0
ud2
call fcn.004288f0
ud2
cmp cl, 0x61
jb 0x5172be
cmp cl, 0x66
ja 0x5172be
mov ebx, ecx
sub ebx, 0x61
add ebx, 0xa
mov ecx, ebx
jmp 0x516ef4
cmp cl, 0x41
jb 0x5172d7
cmp cl, 0x46
ja 0x5172d7
mov ebx, ecx
sub ebx, 0x41
add ebx, 0xa
mov ecx, ebx
jmp 0x516ef4
xor ecx, ecx
jmp 0x516ef4
call fcn.00428880
ud2
cmp cl, 0x61
jb 0x5172fe
cmp cl, 0x66
ja 0x5172fe
mov ebx, ecx
sub ebx, 0x61
add ebx, 0xa
mov edi, ebx
jmp 0x516ec4
cmp cl, 0x41
jb 0x517317
cmp cl, 0x46
ja 0x517317
mov ebx, ecx
sub ebx, 0x41
add ebx, 0xa
mov edi, ebx
jmp 0x516ec4
xor edi, edi
jmp 0x516ec4
call fcn.00428880
ud2
mov ecx, eax
add ecx, 3
cmp ecx, edx
ja 0x517389
cmp eax, ecx
ja 0x517389
mov edx, ecx
sub edx, eax
mov ecx, esi
cmp edx, 0
je 0x51733f
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], 0x6b1330
lea ebx, [esp + 0x4c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040bbb0
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.004288f0
ud2
call fcn.004288f0
ud2
cmp cl, 0x61
jb 0x5173b0
cmp cl, 0x66
ja 0x5173b0
mov ebx, ecx
sub ebx, 0x61
add ebx, 0xa
mov ecx, ebx
jmp 0x516e12
cmp cl, 0x41
jb 0x5173c9
cmp cl, 0x46
ja 0x5173c9
mov ebx, ecx
sub ebx, 0x41
add ebx, 0xa
mov ecx, ebx
jmp 0x516e12
xor ecx, ecx
jmp 0x516e12
call fcn.00428880
ud2
mov ecx, eax
cmp eax, edx
ja 0x51744e
sub edx, eax
mov eax, esi
cmp edx, 0
je 0x5173e8
add eax, ecx
mov ecx, edx
mov edx, eax
cmp ecx, 3
jle 0x51744c
cmp ecx, 3
jb 0x517445
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], 0x6b1330
lea ebx, [esp + 0x4c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040bbb0
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.004288f0
ud2
jmp 0x5173fb
call fcn.004288f0
ud2
cmp cl, 0x61
jb 0x517469
cmp cl, 0x66
ja 0x517469
mov ecx, 1
jmp 0x516dce
cmp cl, 0x41
jb 0x51747d
cmp cl, 0x46
ja 0x51747d
mov ecx, 1
jmp 0x516dce
xor ecx, ecx
jmp 0x516dce
call fcn.00428880
ud2
cmp cl, 0x61
jb 0x51749f
cmp cl, 0x66
ja 0x51749f
mov ecx, 1
jmp 0x516d97
cmp cl, 0x41
jb 0x5174b3
cmp cl, 0x46
ja 0x5174b3
mov ecx, 1
jmp 0x516d97
xor ecx, ecx
jmp 0x516d97
call fcn.00428880
ud2
cmp bl, 0x2b
jne 0x5174f3
mov ebx, dword [esp + 0x6c]
cmp ebx, 5
je 0x5174ec
mov byte [esp + 0x23], 0
inc eax
cmp eax, edx
jge 0x516f80
cmp eax, edx
jb 0x516d44
call fcn.00428880
ud2
mov byte [esp + 0x23], 1
jmp 0x5174d4
mov ebx, dword [esp + 0x6c]
cmp ebx, 2
je 0x51750b
mov ebx, dword [esp + 0x6c]
cmp ebx, 3
je 0x51750b
inc eax
jmp 0x516d34
cmp eax, edx
jae 0x5175cc
mov ebp, esi
add ebp, eax
movzx ebx, byte [ebp]
cmp bl, 0x80
jae 0x517505
mov dword [esp + 0x28], eax
cmp eax, edx
jae 0x5175c5
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.00516af0
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x28]
movzx ebx, byte [esp + 8]
cmp bl, 0
je 0x517505
mov ebp, eax
inc ebp
mov ecx, eax
cmp ebp, edx
ja 0x5175be
cmp eax, ebp
ja 0x5175be
mov edx, ebp
sub edx, eax
mov eax, esi
cmp edx, 0
je 0x517574
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], 0x6b1350
lea ebx, [esp + 0x2c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040bbb0
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.004288f0
ud2
call fcn.00428880
ud2
call fcn.00428880
ud2
call fcn.00450fb0
jmp fcn.00516cf0