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

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x78
mov rax, qword [0x1403d66b0]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x80]
call fcn.140023430
mov dword [rsp + 0x20], 5
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x14]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x24]
sub eax, 0x2d
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0xc
ja case.0x1400217c4.46
movsxd rax, dword [rsp + 0x24]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x21d90]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0x80]
mov edx, dword [rax + 0x14]
mov rcx, qword [rsp + 0x80]
call fcn.140023290
jmp case.0x1400217c4.46
mov rax, qword [rsp + 0x80]
mov edx, dword [rax + 0x14]
mov rcx, qword [rsp + 0x80]
call fcn.140023290
jmp 0x1400218c4
mov rax, qword [rsp + 0x80]
mov edx, dword [rax + 0x14]
mov rcx, qword [rsp + 0x80]
call fcn.140023290
jmp 0x14002193d
mov dword [rsp + 0x20], 6
mov rcx, qword [rsp + 0x80]
call fcn.140023350
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
sub eax, 0x30
mov dword [rsp + 0x28], eax
cmp dword [rsp + 0x28], 9
ja case.default.0x140021867
movsxd rax, dword [rsp + 0x28]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x21dc4]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0x80]
mov edx, dword [rax + 0x14]
mov rcx, qword [rsp + 0x80]
call fcn.140023290
jmp 0x1400218c4
mov rax, qword [rsp + 0x80]
mov edx, dword [rax + 0x14]
mov rcx, qword [rsp + 0x80]
call fcn.140023290
jmp 0x14002193d
mov rax, qword [rsp + 0x80]
lea rcx, str.invalid_number__expected_digit_after__
mov qword [rax + 0x70], rcx
mov eax, reloc.WS2_32.dll_ntohl
jmp 0x140021d7c
mov rcx, qword [rsp + 0x80]
call fcn.140023350
mov dword [rsp + 0x44], eax
cmp dword [rsp + 0x44], 0x2e
je 0x1400218ec
cmp dword [rsp + 0x44], 0x45
je 0x140021911
cmp dword [rsp + 0x44], 0x65
je 0x140021911
jmp 0x140021933
mov rax, qword [rsp + 0x80]
mov edx, dword [rax + 0x90]
mov rcx, qword [rsp + 0x80]
call fcn.140023290
jmp 0x1400219e5
mov rax, qword [rsp + 0x80]
mov edx, dword [rax + 0x14]
mov rcx, qword [rsp + 0x80]
call fcn.140023290
jmp 0x140021ae4
jmp case.default.0x140021c2f
mov rcx, qword [rsp + 0x80]
call fcn.140023350
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x2c]
sub eax, 0x2e
mov dword [rsp + 0x2c], eax
cmp dword [rsp + 0x2c], 0x37
ja case.0x14002197e.47
movsxd rax, dword [rsp + 0x2c]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax + 0x21e24]
mov eax, dword [rcx + rax*4 + 0x21dec]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0x80]
mov edx, dword [rax + 0x14]
mov rcx, qword [rsp + 0x80]
call fcn.140023290
jmp 0x14002193d
mov rax, qword [rsp + 0x80]
mov edx, dword [rax + 0x90]
mov rcx, qword [rsp + 0x80]
call fcn.140023290
jmp 0x1400219e5
mov rax, qword [rsp + 0x80]
mov edx, dword [rax + 0x14]
mov rcx, qword [rsp + 0x80]
call fcn.140023290
jmp 0x140021ae4
jmp case.default.0x140021c2f
mov dword [rsp + 0x20], 7
mov rcx, qword [rsp + 0x80]
call fcn.140023350
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
sub eax, 0x30
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 9
ja case.default.0x140021a26
movsxd rax, dword [rsp + 0x30]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x21e5c]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0x80]
mov edx, dword [rax + 0x14]
mov rcx, qword [rsp + 0x80]
call fcn.140023290
jmp 0x140021a61
mov rax, qword [rsp + 0x80]
lea rcx, str.invalid_number__expected_digit_after_.
mov qword [rax + 0x70], rcx
mov eax, reloc.WS2_32.dll_ntohl
jmp 0x140021d7c
mov rcx, qword [rsp + 0x80]
call fcn.140023350
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x34]
sub eax, 0x30
mov dword [rsp + 0x34], eax
cmp dword [rsp + 0x34], 0x35
ja case.0x140021aa2.58
movsxd rax, dword [rsp + 0x34]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax + 0x21eb8]
mov eax, dword [rcx + rax*4 + 0x21e84]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0x80]
mov edx, dword [rax + 0x14]
mov rcx, qword [rsp + 0x80]
call fcn.140023290
jmp 0x140021a61
mov rax, qword [rsp + 0x80]
mov edx, dword [rax + 0x14]
mov rcx, qword [rsp + 0x80]
call fcn.140023290
jmp 0x140021ae4
jmp case.default.0x140021c2f
mov dword [rsp + 0x20], 7
mov rcx, qword [rsp + 0x80]
call fcn.140023350
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x38]
sub eax, 0x2b
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x38], 0xe
ja case.0x140021b25.44
movsxd rax, dword [rsp + 0x38]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x21ef0]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0x80]
mov edx, dword [rax + 0x14]
mov rcx, qword [rsp + 0x80]
call fcn.140023290
jmp 0x140021b82
mov rax, qword [rsp + 0x80]
mov edx, dword [rax + 0x14]
mov rcx, qword [rsp + 0x80]
call fcn.140023290
jmp 0x140021bf6
mov rax, qword [rsp + 0x80]
lea rcx, str.invalid_number__expected______or_digit_after_exponent
mov qword [rax + 0x70], rcx
mov eax, reloc.WS2_32.dll_ntohl
jmp 0x140021d7c
mov rcx, qword [rsp + 0x80]
call fcn.140023350
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x3c]
sub eax, 0x30
mov dword [rsp + 0x3c], eax
cmp dword [rsp + 0x3c], 9
ja case.default.0x140021bbb
movsxd rax, dword [rsp + 0x3c]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x21f2c]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0x80]
mov edx, dword [rax + 0x14]
mov rcx, qword [rsp + 0x80]
call fcn.140023290
jmp 0x140021bf6
mov rax, qword [rsp + 0x80]
lea rcx, str.invalid_number__expected_digit_after_exponent_sign
mov qword [rax + 0x70], rcx
mov eax, reloc.WS2_32.dll_ntohl
jmp 0x140021d7c
mov rcx, qword [rsp + 0x80]
call fcn.140023350
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x40]
sub eax, 0x30
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 9
ja case.default.0x140021c2f
movsxd rax, dword [rsp + 0x40]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x21f54]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0x80]
mov edx, dword [rax + 0x14]
mov rcx, qword [rsp + 0x80]
call fcn.140023290
jmp 0x140021bf6
mov rcx, qword [rsp + 0x80]
call fcn.1400232c0
mov qword [rsp + 0x58], 0
call fcn.14028f26c
mov dword [rax], 0
cmp dword [rsp + 0x20], 5
jne 0x140021cdf
mov rax, qword [rsp + 0x80]
add rax, 0x50
mov rcx, rax
call fcn.140008a10
mov r8d, 0xa
lea rdx, [rsp + 0x58]
mov rcx, rax
call fcn.140296974
mov qword [rsp + 0x48], rax
call fcn.14028f26c
cmp dword [rax], 0
jne 0x140021cdd
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x48]
mov qword [rax + 0x80], rcx
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x48]
cmp qword [rax + 0x80], rcx
jne 0x140021cdd
mov eax, 5
jmp 0x140021d7c
jmp 0x140021d47
cmp dword [rsp + 0x20], 6
jne 0x140021d47
mov rax, qword [rsp + 0x80]
add rax, 0x50
mov rcx, rax
call fcn.140008a10
mov r8d, 0xa
lea rdx, [rsp + 0x58]
mov rcx, rax
call fcn.14029680c
mov qword [rsp + 0x50], rax
call fcn.14028f26c
cmp dword [rax], 0
jne 0x140021d47
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x50]
mov qword [rax + 0x78], rcx
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x50]
cmp qword [rax + 0x78], rcx
jne 0x140021d47
mov eax, 6
jmp 0x140021d7c
mov rax, qword [rsp + 0x80]
add rax, 0x50
mov rcx, rax
call fcn.140008a10
mov rcx, qword [rsp + 0x80]
add rcx, 0x88
lea r8, [rsp + 0x58]
mov rdx, rax
call fcn.140023490
mov eax, 7
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14027f960
add rsp, 0x78
ret