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

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x68
mov rax, qword [0x1401af080]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp dword [rsp + 0x88], 0x3e8
jbe 0x1401169be
mov eax, dword [rsp + 0x78]
inc eax
jmp 0x1401173d9
mov dword [rsp + 0x50], 0
lea r8, [rsp + 0x50]
mov edx, dword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
call fcn.140118f70
mov dword [rsp + 0x2c], eax
cmp dword [rsp + 0x2c], 0
jne 0x1401169ef
mov eax, dword [rsp + 0x78]
inc eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x78]
add ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x50]
cmp eax, dword [rsp + 0x80]
je 0x140116a13
mov eax, dword [rsp + 0x78]
inc eax
jmp 0x1401173d9
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x78]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
and eax, 0xf
mov byte [rsp + 0x24], al
movzx eax, byte [rsp + 0x24]
mov dword [rsp + 0x3c], eax
cmp dword [rsp + 0x3c], 0xc
ja case.default.0x140116a5e
movsxd rax, dword [rsp + 0x3c]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x1173ec]
add rax, rcx
jmp rax
mov eax, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x2c]
add ecx, eax
mov eax, ecx
cmp eax, 1
jne 0x140116a7b
mov dword [rsp + 0x40], 0
jmp 0x140116a85
mov eax, dword [rsp + 0x78]
inc eax
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x40]
jmp 0x1401173d9
cmp dword [rsp + 0x50], 1
jae 0x140116aa0
mov eax, dword [rsp + 0x78]
inc eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x78]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp eax, 0x2d
jne 0x140116ade
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x50], 2
jae 0x140116ade
mov eax, dword [rsp + 0x78]
inc eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x78]
add ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x50]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
cmp dword [rsp + 0x20], eax
jae 0x140116b34
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
lea rcx, [0x140199bd0]
movzx eax, byte [rcx + rax]
and eax, 4
test eax, eax
je 0x140116b27
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
jmp 0x140116b32
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
jmp 0x140116af2
xor eax, eax
jmp 0x1401173d9
cmp dword [rsp + 0x50], 3
jae 0x140116b4d
mov eax, dword [rsp + 0x78]
inc eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x78]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp eax, 0x2d
jne 0x140116b8b
cmp dword [rsp + 0x50], 4
jae 0x140116b81
mov eax, dword [rsp + 0x78]
inc eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp eax, 0x30
je 0x140116ba8
mov eax, dword [rsp + 0x78]
inc eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x20]
inc eax
mov eax, eax
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp eax, 0x78
je 0x140116be0
mov eax, dword [rsp + 0x20]
inc eax
mov eax, eax
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp eax, 0x58
je 0x140116be0
mov eax, dword [rsp + 0x20]
add eax, 2
jmp 0x1401173d9
mov eax, dword [rsp + 0x20]
add eax, 2
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x78]
add ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x50]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
cmp dword [rsp + 0x20], eax
jae 0x140116c41
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
lea rcx, [0x140199bd0]
movzx eax, byte [rcx + rax]
and eax, 8
test eax, eax
je 0x140116c34
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
jmp 0x140116c3f
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
jmp 0x140116bff
xor eax, eax
jmp 0x1401173d9
mov byte [rsp + 0x25], 0
cmp dword [rsp + 0x50], 2
jae 0x140116c5f
mov eax, dword [rsp + 0x78]
inc eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x78]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp eax, 0x2d
jne 0x140116cad
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x50], 3
jae 0x140116cad
mov eax, dword [rsp + 0x78]
inc eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp eax, 0x2e
jne 0x140116d17
movzx eax, byte [rsp + 0x24]
cmp eax, 5
jne 0x140116cd4
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x20]
inc eax
mov eax, eax
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
lea rcx, [0x140199bd0]
movzx eax, byte [rcx + rax]
and eax, 4
test eax, eax
jne 0x140116d02
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x20]
add eax, 2
mov dword [rsp + 0x20], eax
mov byte [rsp + 0x25], 1
jmp 0x140116da2
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp eax, 0x30
jne 0x140116da2
movzx eax, byte [rsp + 0x24]
cmp eax, 5
jne 0x140116da2
mov eax, dword [rsp + 0x20]
add eax, 3
cmp eax, dword [rsp + 0x28]
jbe 0x140116d4b
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x20]
inc eax
mov eax, eax
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp eax, 0x2e
je 0x140116d98
mov eax, dword [rsp + 0x20]
inc eax
mov eax, eax
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp eax, 0x65
je 0x140116d98
mov eax, dword [rsp + 0x20]
inc eax
mov eax, eax
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp eax, 0x45
je 0x140116d98
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
jmp 0x140116dae
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x28]
cmp dword [rsp + 0x20], eax
jae 0x140116f0c
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
lea rcx, [0x140199bd0]
movzx eax, byte [rcx + rax]
and eax, 4
test eax, eax
je 0x140116ddd
jmp 0x140116da4
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp eax, 0x2e
jne 0x140116e51
movzx eax, byte [rsp + 0x25]
test eax, eax
jle 0x140116e03
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
movzx eax, byte [rsp + 0x24]
cmp eax, 5
jne 0x140116e47
mov eax, dword [rsp + 0x28]
dec eax
cmp dword [rsp + 0x20], eax
je 0x140116e3c
mov eax, dword [rsp + 0x20]
inc eax
mov eax, eax
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
lea rcx, [0x140199bd0]
movzx eax, byte [rcx + rax]
and eax, 4
test eax, eax
jne 0x140116e47
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
mov byte [rsp + 0x25], 1
jmp 0x140116da4
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp eax, 0x65
je 0x140116e79
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp eax, 0x45
jne 0x140116efc
movzx eax, byte [rsp + 0x25]
cmp eax, 2
jne 0x140116e8e
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x28]
dec eax
cmp dword [rsp + 0x20], eax
jne 0x140116ea5
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x20]
inc eax
mov eax, eax
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp eax, 0x2b
je 0x140116ed1
mov eax, dword [rsp + 0x20]
inc eax
mov eax, eax
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp eax, 0x2d
jne 0x140116ef2
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x28]
dec eax
cmp dword [rsp + 0x20], eax
jne 0x140116ef2
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
mov byte [rsp + 0x25], 2
jmp 0x140116da4
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
movzx eax, byte [rsp + 0x25]
test eax, eax
jne 0x140116f20
mov eax, dword [rsp + 0x78]
inc eax
jmp 0x1401173d9
xor eax, eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x78]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
cmp dword [rsp + 0x20], eax
jae 0x140116f96
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
lea rcx, [0x14019e850]
movsx eax, byte [rcx + rax]
test eax, eax
jne 0x140116f8a
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp eax, 0x27
je 0x140116f8a
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
jmp 0x140116f47
xor eax, eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x78]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
cmp dword [rsp + 0x20], eax
jae 0x14011719e
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
lea rcx, [0x14019e850]
movsx eax, byte [rcx + rax]
test eax, eax
jne 0x14011718f
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp eax, 0x27
je 0x14011718f
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp eax, 0x22
jne 0x14011702d
movzx eax, byte [rsp + 0x24]
cmp eax, 8
jne 0x140117028
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
jmp 0x14011718f
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp eax, 0x1f
jg 0x140117059
movzx eax, byte [rsp + 0x24]
cmp eax, 8
jne 0x140117054
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
jmp 0x14011718f
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp eax, 0x5c
jne 0x140117077
mov eax, dword [rsp + 0x20]
inc eax
cmp eax, dword [rsp + 0x28]
jb 0x140117087
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x20]
inc eax
mov eax, eax
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
mov edx, eax
lea rcx, str.__bfnrt
call qword [sym.imp.VCRUNTIME140.dll_strchr]
test rax, rax
je 0x1401170bb
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
jmp 0x14011718f
mov eax, dword [rsp + 0x20]
inc eax
mov eax, eax
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp eax, 0x75
jne 0x140117120
mov eax, dword [rsp + 0x20]
add eax, 5
cmp eax, dword [rsp + 0x28]
jb 0x1401170e9
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x20]
add eax, 2
mov eax, eax
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.140115af0
test eax, eax
jne 0x140117114
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
jmp 0x14011718f
movzx eax, byte [rsp + 0x24]
cmp eax, 9
je 0x140117137
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
mov dword [rsp + 0x54], 0
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x28]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x20]
mov rdx, qword [rsp + 0x30]
add rdx, rcx
mov rcx, rdx
lea r8, [rsp + 0x54]
mov edx, eax
call fcn.14011a7e0
mov dword [rsp + 0x4c], eax
cmp dword [rsp + 0x54], 0x99999
jne 0x14011717f
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x4c]
lea eax, [rax + rcx - 1]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
jmp 0x140116fbd
xor eax, eax
jmp 0x1401173d9
xor eax, eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x78]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
cmp dword [rsp + 0x20], eax
jae 0x14011728a
mov dword [rsp + 0x50], 0
lea r8, [rsp + 0x50]
mov edx, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x70]
call fcn.140118f70
mov dword [rsp + 0x2c], eax
cmp dword [rsp + 0x2c], 0
jne 0x14011720b
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x50]
cmp eax, dword [rsp + 0x28]
jbe 0x14011722c
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x88]
inc eax
mov ecx, dword [rsp + 0x2c]
mov edx, dword [rsp + 0x20]
add edx, ecx
mov ecx, edx
add ecx, dword [rsp + 0x50]
mov r9d, eax
mov r8d, ecx
mov edx, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x70]
call fcn.140116980
mov dword [rsp + 0x44], eax
cmp dword [rsp + 0x44], 0
je 0x14011726d
mov eax, dword [rsp + 0x44]
jmp 0x1401173d9
mov eax, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x2c]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x1401171cc
xor eax, eax
jmp 0x1401173d9
mov dword [rsp + 0x38], 0
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x78]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
cmp dword [rsp + 0x20], eax
jae 0x1401173bc
mov dword [rsp + 0x50], 0
lea r8, [rsp + 0x50]
mov edx, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x70]
call fcn.140118f70
mov dword [rsp + 0x2c], eax
cmp dword [rsp + 0x2c], 0
jne 0x1401172f8
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x50]
cmp eax, dword [rsp + 0x28]
jbe 0x140117319
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x38]
and eax, 1
test eax, eax
jne 0x140117357
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
and eax, 0xf
mov byte [rsp + 0x24], al
movzx eax, byte [rsp + 0x24]
cmp eax, 7
jl 0x14011734c
movzx eax, byte [rsp + 0x24]
cmp eax, 0xa
jle 0x140117357
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x88]
inc eax
mov ecx, dword [rsp + 0x2c]
mov edx, dword [rsp + 0x20]
add edx, ecx
mov ecx, edx
add ecx, dword [rsp + 0x50]
mov r9d, eax
mov r8d, ecx
mov edx, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x70]
call fcn.140116980
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x140117395
mov eax, dword [rsp + 0x48]
jmp 0x1401173d9
mov eax, dword [rsp + 0x38]
inc eax
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x2c]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x1401172b9
mov eax, dword [rsp + 0x38]
and eax, 1
test eax, eax
je 0x1401173cf
mov eax, dword [rsp + 0x20]
inc eax
jmp 0x1401173d9
xor eax, eax
jmp 0x1401173d9
mov eax, dword [rsp + 0x78]
inc eax
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1401823c0
add rsp, 0x68
ret