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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r15
mov rbp, rsp
sub rsp, 0x68
mov rax, qword [r8]
mov r12, r9
mov qword [rbp - 0x48], rax
mov r13, rdx
movzx edi, byte [rax]
lea rsi, [rax + 1]
mov qword [rbp - 0x48], rsi
test dil, dil
jne 0x1400ecbda
mov eax, 1
add rsp, 0x68
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0x60], r14
cmp dil, 0x5c
jne 0x1400ecc35
movzx r15d, byte [rsi]
inc rsi
mov qword [rbp - 0x48], rsi
test r15b, r15b
je 0x1400ed98d
cmp r15b, 0x7c
jne 0x1400ecc1b
mov qword [r9], 0
mov eax, 0xffffffff
mov qword [r8], rsi
jmp 0x1400ee002
cmp r15b, 0x29
jne 0x1400ecc3a
mov qword [r9], 0
mov eax, 8
mov qword [r8], rsi
jmp 0x1400ee002
movzx r15d, byte [rbp + 0x48]
movzx ebx, r15b
test r13, r13
je 0x1400ecda5
cmp byte [rdx + 0x48], 0x17
jae 0x1400ecda5
cmp dil, 0x3f
jne 0x1400ecc63
xor r14d, r14d
lea edx, [r14 + 1]
jmp 0x1400ecd81
cmp dil, 0x2a
jne 0x1400ecc75
xor r14d, r14d
lea edx, [r14 - 1]
jmp 0x1400ecd81
cmp dil, 0x2b
jne 0x1400ecc89
mov edx, 0xffffffff
lea r14d, [rdx + 2]
jmp 0x1400ecd81
cmp dil, 0x5c
jne 0x1400ecda5
cmp r15b, 0x7b
jne 0x1400ecda5
movzx ecx, byte [rsi]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isdigit]
test eax, eax
je 0x1400eccc8
nop word [rax + rax]
mov rax, qword [rbp - 0x48]
inc rax
mov qword [rbp - 0x48], rax
movzx ecx, byte [rax]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isdigit]
test eax, eax
jne 0x1400eccb0
mov rax, qword [rbp - 0x48]
cmp rax, rsi
je 0x1400eccf9
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov rcx, qword [rbp - 0x48]
mov r14d, eax
movzx edi, byte [rcx]
lea rsi, [rcx + 1]
mov rcx, rsi
mov qword [rbp - 0x48], rcx
cmp dil, 0x2c
je 0x1400ecd10
mov edx, eax
jmp 0x1400ecd64
cmp byte [rax], 0x2c
jne 0x1400ecd9b
lea rsi, [rax + 1]
xor r14d, r14d
mov rcx, rsi
mov qword [rbp - 0x48], rcx
movzx ecx, byte [rcx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isdigit]
test eax, eax
je 0x1400ecd38
nop dword [rax]
mov rax, qword [rbp - 0x48]
inc rax
mov qword [rbp - 0x48], rax
movzx ecx, byte [rax]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isdigit]
test eax, eax
jne 0x1400ecd20
mov rcx, qword [rbp - 0x48]
cmp rcx, rsi
je 0x1400ecd52
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov rcx, qword [rbp - 0x48]
mov edx, eax
jmp 0x1400ecd57
mov edx, 0xffffffff
movzx edi, byte [rcx]
inc rcx
mov qword [rbp - 0x48], rcx
mov rsi, rcx
cmp dil, 0x5c
jne 0x1400ecd9b
movzx eax, byte [rcx]
inc rsi
mov qword [rbp - 0x48], rsi
cmp al, 0x7d
jne 0x1400ecd9b
test r14d, r14d
js 0x1400ecda5
mov r8, qword [rbp + 0x48]
mov dword [r13 + 0x20], r14d
xor eax, eax
mov dword [r13 + 0x24], edx
mov qword [r12], 0
mov qword [r8], rsi
jmp 0x1400ee002
mov eax, 9
jmp 0x1400ee002
mov rsi, qword [rbp + 0x38]
mov rcx, rsi
call fcn.1400ecb20
mov r14, rax
test rax, rax
je 0x1400edffd
mov qword [r12], rax
mov r12d, 1
mov qword [rbp - 0x28], r12
lea r9, [0x140000000]
cmp dil, 0x5c
jne 0x1400ed13c
movzx r8d, r15b
lea eax, [r8 - 0x27]
cmp eax, 0x50
ja case.0x1400ece03.63
cdqe
movzx eax, byte [r9 + rax + 0xee084]
mov ecx, dword [r9 + rax*4 + 0xee020]
add rcx, r9
jmp rcx
inc dword [rsi + 0x88]
cmp dword [rsi + 0x88], 0x14
jge 0x1400edffd
mov byte [r14 + 0x48], r12b
lea rdx, [r14 + 0x10]
movsxd rcx, dword [rsi + 8]
lea r8, [rbp - 0x48]
mov rbx, rcx
lea eax, [rcx + 1]
mov dword [rsi + 8], eax
mov dword [r14 + 0x28], eax
mov rax, qword [rsi + 0x68]
mov byte [rcx + rax + 1], 0
mov rcx, rsi
call fcn.1400ebe10
cmp eax, 8
je 0x1400ece5a
test eax, eax
mov ecx, 4
cmove eax, ecx
jmp 0x1400ee002
mov rax, qword [rsi + 0x68]
mov byte [rbx + rax + 1], r12b
dec dword [rsi + 0x88]
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov byte [r14 + 0x48], reloc.WS2_32.dll_socket
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov byte [r14 + 0x48], 0x18
or dword [rsi + 0x10], 0x10
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov byte [r14 + 0x48], 0x1b
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov byte [r14 + 0x48], 0x1c
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov byte [r14 + 0x48], 7
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov byte [r14 + 0x48], 8
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov byte [r14 + 0x48], 0x1d
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov byte [r14 + 0x48], 0x1e
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov byte [r14 + 0x48], 9
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov byte [r14 + 0x48], 0xa
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov byte [r14 + 0x48], reloc.WS2_32.dll_inet_addr
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov byte [r14 + 0x48], recv
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov byte [r14 + 0x48], recv
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov byte [r14 + 0x48], recv
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov byte [r14 + 0x48], send
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov byte [r14 + 0x48], reloc.WS2_32.dll_recv
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov byte [r14 + 0x48], send
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov byte [r14 + 0x48], send
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov byte [r14 + 0x48], reloc.WS2_32.dll_send
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov byte [r14 + 0x48], socket
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov byte [r14 + 0x48], socket
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov byte [r14 + 0x48], socket
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
add r15b, 0xd0
je 0x1400ecff1
movzx edx, r15b
cmp edx, dword [rsi + 8]
jg 0x1400ecff1
mov rax, qword [rsi + 0x68]
movzx ecx, r15b
cmp byte [rcx + rax], 0
je case.0x1400ece03.63
mov byte [r14 + 0x48], 2
movzx eax, byte [r14 + 0x48]
mov dword [r14 + 0x28], edx
jmp 0x1400edaf2
mov eax, 0xa
jmp 0x1400ee002
lea eax, [r8 - 0x65]
cmp eax, 0x13
ja case.0x1400ed015.104
cdqe
mov ecx, dword [r9 + rax*4 + 0xee0d8]
add rcx, r9
jmp rcx
mov bl, 0x1b
test byte [rsi + 0x10], r12b
je 0x1400ed129
movzx edi, bl
mov ecx, edi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
test eax, eax
je 0x1400ed129
mov byte [r14 + 0x48], 4
mov ecx, edi
mov byte [r14 + 0x28], bl
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isupper]
mov ecx, edi
test eax, eax
je 0x1400ed107
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov edi, eax
mov byte [r14 + 0x29], dil
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov bl, 0xc
jmp 0x1400ed019
mov bl, 7
jmp 0x1400ed019
mov bl, 0xa
jmp 0x1400ed019
mov bl, 0xd
jmp 0x1400ed019
mov bl, 9
jmp 0x1400ed019
mov bl, reloc.WS2_32.dll_inet_addr
jmp 0x1400ed019
mov rax, qword [rbp - 0x48]
movzx esi, byte [rax]
mov ecx, esi
mov ebx, esi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je 0x1400ed0fb
mov rax, qword [rbp - 0x48]
inc rax
mov qword [rbp - 0x48], rax
movzx r15d, byte [rax]
mov ecx, r15d
mov edi, r15d
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je 0x1400ed0fb
cmp sil, 0x39
ja 0x1400ed0be
xor ebx, 0x30
jmp 0x1400ed0cc
cmp sil, 0x61
jb 0x1400ed0c9
add ebx, 0xffffffa9
jmp 0x1400ed0cc
add ebx, 0xffffffc9
cmp r15b, 0x39
ja 0x1400ed0d7
xor edi, 0x30
jmp 0x1400ed0e5
cmp r15b, 0x61
jb 0x1400ed0e2
add edi, 0xffffffa9
jmp 0x1400ed0e5
add edi, 0xffffffc9
mov rsi, qword [rbp + 0x38]
shl bl, 4
or bl, dil
inc qword [rbp - 0x48]
test bl, bl
jne 0x1400ed019
mov rax, qword [rbp - 0x48]
cmp byte [rax], 0
jmp 0x1400ed98b
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_islower]
test eax, eax
je 0x1400ed11b
mov ecx, edi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov edi, eax
mov byte [r14 + 0x29], dil
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov byte [r14 + 0x48], 3
movzx eax, byte [r14 + 0x48]
mov byte [r14 + 0x28], bl
jmp 0x1400edaf2
cmp dil, 0x5b
jne 0x1400eda56
mov byte [rax + 0x48], 5
xorps xmm0, xmm0
movups xmmword [rax + 0x28], xmm0
movups xmmword [rax + 0x38], xmm0
mov rcx, qword [rbp - 0x48]
cmp byte [rcx], 0x5e
jne 0x1400ed168
inc qword [rbp - 0x48]
mov dword [rbp - 0x30], r12d
jmp 0x1400ed16f
mov dword [rbp - 0x30], 0
mov rcx, qword [rbp - 0x48]
movzx ebx, byte [rcx]
inc rcx
mov qword [rbp - 0x48], rcx
test bl, bl
je 0x1400eda4c
cmp bl, 0x5c
jne 0x1400ed370
mov rax, qword [rbp - 0x48]
movzx ebx, byte [rax]
lea rax, [rcx + 1]
mov rcx, qword [str.aAdDhHlLmMsSuUwW]
mov edx, ebx
mov qword [rbp - 0x48], rax
call sub.VCRUNTIME140.dll_strchr
mov rdi, rax
test rax, rax
je 0x1400ed29b
sub rdi, qword [str.aAdDhHlLmMsSuUwW]
mov ebx, 0xff
mov r15, rdi
mov esi, ebx
and r15d, 1
shr rdi, 1
nop
mov ecx, ebx
test rdi, rdi
jne 0x1400ed1e2
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
movsxd rcx, eax
jmp 0x1400ed25e
cmp rdi, 1
jne 0x1400ed1f3
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isdigit]
movsxd rcx, eax
jmp 0x1400ed25e
cmp rdi, 2
jne 0x1400ed204
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
movsxd rcx, eax
jmp 0x1400ed25e
cmp rdi, 3
jne 0x1400ed215
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_islower]
movsxd rcx, eax
jmp 0x1400ed25e
cmp rdi, 4
jne 0x1400ed226
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalnum]
movsxd rcx, eax
jmp 0x1400ed25e
cmp rdi, 5
jne 0x1400ed237
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
movsxd rcx, eax
jmp 0x1400ed25e
cmp rdi, 6
jne 0x1400ed248
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isupper]
movsxd rcx, eax
jmp 0x1400ed25e
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalnum]
test eax, eax
jne 0x1400ed25b
cmp ebx, 0x5f
je 0x1400ed25b
xor ecx, ecx
jmp 0x1400ed25e
mov rcx, r12
xor eax, eax
test rcx, rcx
setne al
cmp rax, r15
je 0x1400ed285
mov rdx, rsi
mov eax, ebx
sar rdx, 3
and eax, 7
movzx ecx, byte [rdx + r14 + 0x28]
bts ecx, eax
mov byte [rdx + r14 + 0x28], cl
dec ebx
dec rsi
test ebx, ebx
jg 0x1400ed1d0
mov rsi, qword [rbp + 0x38]
jmp 0x1400ed958
lea eax, [rbx - 0x65]
lea r9, [0x140000000]
cmp eax, 0x13
ja case.0x1400ed2bb.104
cdqe
mov ecx, dword [r9 + rax*4 + 0xee128]
add rcx, r9
jmp rcx
mov bl, 0x1b
jmp 0x1400ed370
mov bl, 0xc
jmp 0x1400ed370
mov bl, 7
jmp 0x1400ed370
mov bl, 0xa
jmp 0x1400ed370
mov bl, 0xd
jmp 0x1400ed370
mov bl, 9
jmp 0x1400ed370
mov bl, reloc.WS2_32.dll_inet_addr
jmp 0x1400ed370
mov rax, qword [rbp - 0x48]
movzx esi, byte [rax]
mov ecx, esi
mov ebx, esi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je 0x1400ed0fb
mov rax, qword [rbp - 0x48]
inc rax
mov qword [rbp - 0x48], rax
movzx r15d, byte [rax]
mov ecx, r15d
mov edi, r15d
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je 0x1400ed0fb
cmp sil, 0x39
jbe 0x1400ed33e
cmp sil, 0x61
jb 0x1400ed33b
add ebx, 0xffffffa9
jmp 0x1400ed33e
add ebx, 0xffffffc9
cmp r15b, 0x39
ja 0x1400ed349
xor edi, 0x30
jmp 0x1400ed357
cmp r15b, 0x61
jb 0x1400ed354
add edi, 0xffffffa9
jmp 0x1400ed357
add edi, 0xffffffc9
shl bl, 4
lea r9, [0x140000000]
or bl, dil
inc qword [rbp - 0x48]
test bl, bl
je 0x1400ed0fb
mov rcx, qword [rbp - 0x48]
movzx eax, byte [rcx]
cmp al, 0x2d
jne 0x1400ed529
movzx esi, byte [rcx + 1]
cmp sil, 0x5d
je 0x1400ed529
add rcx, 2
mov qword [rbp - 0x48], rcx
cmp sil, 0x5c
jne 0x1400ed480
movzx esi, byte [rcx]
lea rdx, [rcx + 1]
mov qword [rbp - 0x48], rdx
lea eax, [rsi - 0x65]
cmp eax, 0x13
ja case.0x1400ed3c3.104
cdqe
mov ecx, dword [r9 + rax*4 + 0xee178]
add rcx, r9
jmp rcx
mov sil, 0x1b
jmp 0x1400ed480
mov sil, 0xc
jmp 0x1400ed480
mov sil, 7
jmp 0x1400ed480
mov sil, 0xa
jmp 0x1400ed480
mov sil, 0xd
jmp 0x1400ed480
mov sil, 9
jmp 0x1400ed480
mov sil, reloc.WS2_32.dll_inet_addr
jmp 0x1400ed480
movzx r15d, byte [rdx]
mov ecx, r15d
mov esi, r15d
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je 0x1400ed984
mov rax, qword [rbp - 0x48]
inc rax
mov qword [rbp - 0x48], rax
movzx r12d, byte [rax]
mov ecx, r12d
mov edi, r12d
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je 0x1400ed984
cmp r15b, 0x39
jbe 0x1400ed44c
cmp r15b, 0x61
jb 0x1400ed449
add esi, 0xffffffa9
jmp 0x1400ed44c
add esi, 0xffffffc9
cmp r12b, 0x39
ja 0x1400ed457
xor edi, 0x30
jmp 0x1400ed465
cmp r12b, 0x61
jb 0x1400ed462
add edi, 0xffffffa9
jmp 0x1400ed465
add edi, 0xffffffc9
mov rdx, qword [rbp - 0x48]
shl sil, 4
or sil, dil
inc rdx
mov qword [rbp - 0x48], rdx
test sil, sil
je 0x1400ed988
cmp sil, bl
jb 0x1400ed9a1
mov r15, qword [rbp + 0x38]
nop dword [rax]
movzx edx, bl
shr rdx, 3
movzx edi, bl
mov eax, edi
and eax, 7
movzx ecx, byte [rdx + r14 + 0x28]
bts ecx, eax
mov byte [rdx + r14 + 0x28], cl
test byte [r15 + 0x10], 1
je 0x1400ed512
mov ecx, edi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
test eax, eax
je 0x1400ed512
mov ecx, edi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isupper]
mov ecx, edi
test eax, eax
je 0x1400ed4d9
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov r8d, eax
jmp 0x1400ed4f5
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_islower]
test eax, eax
je 0x1400ed4f1
mov ecx, edi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
movzx r8d, al
jmp 0x1400ed4f5
movzx r8d, bl
movzx edx, r8b
shr rdx, 3
movzx eax, r8b
and eax, 7
movzx ecx, byte [rdx + r14 + 0x28]
bts ecx, eax
mov byte [rdx + r14 + 0x28], cl
movzx eax, bl
inc bl
cmp al, sil
jne 0x1400ed490
mov rsi, qword [rbp + 0x38]
jmp 0x1400ed958
cmp bl, 0x5b
jne 0x1400ed8df
cmp al, 0x3a
jne 0x1400ed8df
mov rbx, qword [rbp - 0x48]
xor ecx, ecx
inc rbx
mov rdx, rbx
movzx eax, byte [rbx]
test al, al
je 0x1400ed569
nop dword [rax]
inc rdx
mov qword [rbp - 0x18], rdx
cmp al, 0x3a
jne 0x1400ed560
cmp byte [rdx], 0x5d
je 0x1400ed577
movzx eax, byte [rdx]
inc ecx
test al, al
jne 0x1400ed550
or byte [r14 + 0x33], 0x20
mov rsi, qword [rbp + 0x38]
jmp 0x1400ed958
cmp ecx, 5
jne 0x1400ed7b3
mov r8d, ecx
lea rdx, str.space
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x1400ed5b0
mov rax, qword [rbp - 0x28]
xor esi, esi
xor edi, edi
mov dword [rbp - 0x3c], esi
xor r15d, r15d
xor r12d, r12d
xor r13d, r13d
jmp 0x1400ed7ed
mov r8d, 5
lea rdx, str.blank
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x1400ed5e3
mov rax, qword [rbp - 0x28]
xor esi, esi
xor edi, edi
mov dword [rbp - 0x3c], esi
xor r15d, r15d
xor r12d, r12d
xor r13d, r13d
jmp 0x1400ed7ed
mov r8d, 5
lea rdx, str.digit
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x1400ed619
xor esi, esi
mov dword [rbp - 0x40], 2
xor edi, edi
mov dword [rbp - 0x3c], esi
xor r15d, r15d
xor r12d, r12d
xor r13d, r13d
jmp 0x1400ed7f0
mov r8d, 5
lea rdx, str.upper
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x1400ed652
xor esi, esi
mov dword [rbp - 0x38], 8
xor edi, edi
mov dword [rbp - 0x3c], esi
xor r15d, r15d
mov dword [rbp - 0x40], esi
xor r12d, r12d
xor r13d, r13d
jmp 0x1400ed7f3
mov r8d, 5
lea rdx, str.lower
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x1400ed67a
xor esi, esi
lea r13d, [rax + 0x10]
mov dword [rbp - 0x3c], esi
jmp 0x1400ed7e3
mov r8d, 5
lea rdx, str.alpha
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x1400ed6b4
xor esi, esi
mov dword [rbp - 0x38], 8
xor edi, edi
mov dword [rbp - 0x3c], esi
xor r15d, r15d
mov dword [rbp - 0x40], esi
xor r12d, r12d
lea r13d, [rax + 0x10]
jmp 0x1400ed7f3
mov r8d, 5
lea rdx, str.alnum
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x1400ed6f2
xor esi, esi
mov dword [rbp - 0x38], 8
xor edi, edi
mov dword [rbp - 0x3c], esi
xor r15d, r15d
mov dword [rbp - 0x40], 2
xor r12d, r12d
lea r13d, [rax + 0x10]
jmp 0x1400ed7f3
mov r8d, 5
lea rdx, str.print
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x1400ed71d
xor esi, esi
lea r12d, [rax + 0x20]
xor r13d, r13d
mov dword [rbp - 0x3c], esi
jmp 0x1400ed7e6
mov r8d, 5
lea rdx, str.punct
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x1400ed74b
xor esi, esi
lea r15d, [rax + 0x40]
xor r12d, r12d
mov dword [rbp - 0x3c], esi
xor r13d, r13d
jmp 0x1400ed7e9
mov r8d, 5
lea rdx, str.graph
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x1400ed780
xor edi, edi
xor r15d, r15d
xor r12d, r12d
mov dword [rbp - 0x38], edi
xor r13d, r13d
mov dword [rbp - 0x3c], edi
mov dword [rbp - 0x40], edi
mov esi, 0x80
jmp 0x1400ed7f3
mov r8d, 5
lea rdx, str.cntrl
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x1400ed569
xor esi, esi
xor r15d, r15d
xor r12d, r12d
mov dword [rbp - 0x3c], esi
xor r13d, r13d
mov edi, 0x100
jmp 0x1400ed7eb
cmp ecx, 6
jne 0x1400ed569
mov r8d, ecx
lea rdx, str.xdigit
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x1400ed569
xor esi, esi
mov dword [rbp - 0x3c], 4
xor r13d, r13d
xor r12d, r12d
xor r15d, r15d
xor edi, edi
xor eax, eax
mov dword [rbp - 0x40], esi
mov dword [rbp - 0x38], esi
mov ebx, 0xff
mov dword [rbp - 0x34], eax
mov qword [rbp - 0x20], rbx
nop
test eax, eax
je 0x1400ed814
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
jne 0x1400ed8a2
cmp dword [rbp - 0x40], 0
je 0x1400ed826
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isdigit]
test eax, eax
jne 0x1400ed8a2
cmp dword [rbp - 0x3c], 0
je 0x1400ed838
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
jne 0x1400ed8a2
cmp dword [rbp - 0x38], 0
je 0x1400ed84a
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_islower]
test eax, eax
jne 0x1400ed8a2
test r13d, r13d
je 0x1400ed85b
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isupper]
test eax, eax
jne 0x1400ed8a2
test r12d, r12d
je 0x1400ed86c
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isprint]
test eax, eax
jne 0x1400ed8a2
test r15d, r15d
je 0x1400ed87d
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_ispunct]
test eax, eax
jne 0x1400ed8a2
test esi, esi
je 0x1400ed892
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isprint]
test eax, eax
je 0x1400ed892
cmp ebx, 0x20
jne 0x1400ed8a2
test edi, edi
je 0x1400ed8bd
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_iscntrl]
test eax, eax
je 0x1400ed8bd
mov rdx, qword [rbp - 0x20]
mov eax, ebx
sar rdx, 3
and eax, 7
movzx ecx, byte [rdx + r14 + 0x28]
bts ecx, eax
mov byte [rdx + r14 + 0x28], cl
dec qword [rbp - 0x20]
dec ebx
mov eax, dword [rbp - 0x34]
test ebx, ebx
jg 0x1400ed800
mov rax, qword [rbp - 0x18]
mov rsi, qword [rbp + 0x38]
inc rax
mov qword [rbp - 0x48], rax
jmp 0x1400ed958
mov rsi, qword [rbp + 0x38]
movzx edx, bl
shr rdx, 3
movzx edi, bl
mov eax, edi
and eax, 7
movzx ecx, byte [rdx + r14 + 0x28]
bts ecx, eax
mov byte [rdx + r14 + 0x28], cl
test byte [rsi + 0x10], 1
je 0x1400ed958
mov ecx, edi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
test eax, eax
je 0x1400ed958
mov ecx, edi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isupper]
mov ecx, edi
test eax, eax
je 0x1400ed928
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
jmp 0x1400ed93a
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_islower]
test eax, eax
je 0x1400ed93d
mov ecx, edi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
movzx ebx, al
movzx edx, bl
shr rdx, 3
movzx eax, bl
and eax, 7
movzx ecx, byte [rdx + r14 + 0x28]
bts ecx, eax
mov byte [rdx + r14 + 0x28], cl
mov rax, qword [rbp - 0x48]
movzx ebx, byte [rax]
lea rcx, [rax + 1]
mov qword [rbp - 0x48], rcx
cmp bl, 0x5d
je 0x1400ed9ab
test bl, bl
je 0x1400eda4c
mov r12, qword [rbp - 0x28]
lea r9, [0x140000000]
jmp 0x1400ed185
mov rdx, qword [rbp - 0x48]
cmp byte [rdx], 0
jne 0x1400ed997
mov eax, 2
jmp 0x1400ee002
mov eax, 7
jmp 0x1400ee002
mov eax, 5
jmp 0x1400ee002
cmp dword [rbp - 0x30], 0
je 0x1400eda3e
not byte [r14 + 0x47]
not byte [r14 + 0x46]
not byte [r14 + 0x45]
not byte [r14 + 0x44]
not byte [r14 + 0x43]
not byte [r14 + 0x42]
not byte [r14 + 0x41]
not byte [r14 + 0x40]
not byte [r14 + 0x3f]
not byte [r14 + 0x3e]
not byte [r14 + 0x3d]
not byte [r14 + 0x3c]
not byte [r14 + 0x3b]
not byte [r14 + 0x3a]
not byte [r14 + 0x39]
not byte [r14 + 0x38]
not byte [r14 + 0x37]
not byte [r14 + 0x36]
not byte [r14 + 0x35]
not byte [r14 + 0x34]
not byte [r14 + 0x33]
not byte [r14 + 0x32]
not byte [r14 + 0x31]
not byte [r14 + 0x30]
not byte [r14 + 0x2f]
not byte [r14 + 0x2e]
not byte [r14 + 0x2d]
not byte [r14 + 0x2c]
not byte [r14 + 0x2b]
not byte [r14 + 0x2a]
not byte [r14 + 0x29]
movzx eax, byte [r14 + 0x28]
not al
and al, 0xfe
mov byte [r14 + 0x28], al
movzx eax, byte [r14 + 0x48]
mov r12, qword [rbp - 0x28]
jmp 0x1400edaf2
mov eax, 3
jmp 0x1400ee002
cmp dil, 0x5e
jne 0x1400eda6c
test r13, r13
jne 0x1400eda88
mov byte [rax + 0x48], 0x19
mov al, 0x19
jmp 0x1400edaf2
cmp dil, 0x24
jne 0x1400eda7a
mov byte [rax + 0x48], 0x1a
mov al, 0x1a
jmp 0x1400edaf2
cmp dil, 0x2e
jne 0x1400eda88
mov byte [rax + 0x48], 6
mov al, 6
jmp 0x1400edaf2
test byte [rsi + 0x10], r12b
je 0x1400edae7
movzx ebx, dil
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
test eax, eax
je 0x1400edae7
mov byte [r14 + 0x48], 4
mov ecx, ebx
mov byte [r14 + 0x28], dil
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isupper]
mov ecx, ebx
test eax, eax
je 0x1400edac8
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov ebx, eax
mov byte [r14 + 0x29], bl
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_islower]
test eax, eax
je 0x1400edadc
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov ebx, eax
mov byte [r14 + 0x29], bl
movzx eax, byte [r14 + 0x48]
jmp 0x1400edaf2
mov byte [r14 + 0x48], 3
mov al, 3
mov byte [r14 + 0x28], dil
movzx ecx, al
cmp ecx, 0x1e
ja case.0x1400edb0f.0
lea rdx, [0x140000000]
mov ecx, dword [rdx + rcx*4 + 0xee1c8]
add rcx, rdx
jmp rcx
mov ecx, dword [rsi + 0x88]
mov r9d, dword [r14 + 0x28]
dec ecx
test ecx, ecx
jle case.0x1400edb0f.0
mov r10, qword [rsi + 0x68]
movsxd rax, ecx
lea r8, [r10 + rax*8]
mov rdx, qword [r8]
cmp byte [rdx + 0x48], 1
jne 0x1400edb3f
cmp dword [rdx + 0x28], r9d
je 0x1400edb4d
dec ecx
dec rax
sub r8, 8
test rax, rax
jg 0x1400edb30
test ecx, ecx
jle case.0x1400edb0f.0
mov r9, qword [rsi + 0x78]
movsxd rax, ecx
dec ecx
mov r12d, dword [r9 + rax*4]
test ecx, ecx
jle case.0x1400edb0f.0
movsxd rax, ecx
lea r8, [r10 + rax*8]
cmp qword [r8], rdx
je 0x1400edb96
dec ecx
dec rax
sub r8, 8
test rax, rax
jg 0x1400edb71
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp + 0x48]
mov qword [rcx], rax
xor eax, eax
jmp 0x1400ee002
movsxd rax, ecx
lea rdx, [0x1401b8ed8]
movsxd rcx, dword [r9 + rax*4]
sub r12d, ecx
add rcx, rdx
movsxd r8, r12d
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne case.0x1400edb0f.0
jmp 0x1400edfca
movzx eax, byte [r14 + 0x28]
cmp byte [0x1401b8ed8], al
jne case.0x1400edb0f.0
mov rax, qword [rbp - 0x48]
inc dword [rsi + 0xc]
mov rcx, qword [rbp + 0x48]
mov qword [rcx], rax
xor eax, eax
jmp 0x1400ee002
movzx eax, word [0x1401b8ed8]
cmp al, byte [r14 + 0x28]
je 0x1400edfcf
cmp al, byte [r14 + 0x29]
jne case.0x1400edb0f.0
mov rax, qword [rbp - 0x48]
inc dword [rsi + 0xc]
mov rcx, qword [rbp + 0x48]
mov qword [rcx], rax
xor eax, eax
jmp 0x1400ee002
movzx eax, word [0x1401b8ed8]
mov edx, r12d
movzx ecx, al
and ecx, 7
shl edx, cl
movzx ecx, al
mov eax, 0xffffffff
shr rcx, 3
test byte [rcx + r14 + 0x28], dl
cmove r12d, eax
jmp 0x1400edfca
movzx eax, word [0x1401b8ed8]
test al, al
je case.0x1400edb0f.0
cmp al, 0xa
je case.0x1400edb0f.0
mov rax, qword [rbp - 0x48]
inc dword [rsi + 0xc]
mov rcx, qword [rbp + 0x48]
mov qword [rcx], rax
xor eax, eax
jmp 0x1400ee002
movzx eax, word [0x1401b8ed8]
test al, al
je case.0x1400edb0f.0
movzx ecx, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
test eax, eax
je case.0x1400edb0f.0
mov rax, qword [rbp - 0x48]
inc dword [rsi + 0xc]
mov rcx, qword [rbp + 0x48]
mov qword [rcx], rax
xor eax, eax
jmp 0x1400ee002
movzx eax, word [0x1401b8ed8]
test al, al
je case.0x1400edb0f.0
movzx ecx, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
test eax, eax
jne case.0x1400edb0f.0
mov rax, qword [rbp - 0x48]
inc dword [rsi + 0xc]
mov rcx, qword [rbp + 0x48]
mov qword [rcx], rax
xor eax, eax
jmp 0x1400ee002
movzx eax, word [0x1401b8ed8]
test al, al
je case.0x1400edb0f.0
movzx ecx, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isdigit]
test eax, eax
je case.0x1400edb0f.0
mov rax, qword [rbp - 0x48]
inc dword [rsi + 0xc]
mov rcx, qword [rbp + 0x48]
mov qword [rcx], rax
xor eax, eax
jmp 0x1400ee002
movzx eax, word [0x1401b8ed8]
test al, al
je case.0x1400edb0f.0
movzx ecx, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isdigit]
test eax, eax
jne case.0x1400edb0f.0
mov rax, qword [rbp - 0x48]
inc dword [rsi + 0xc]
mov rcx, qword [rbp + 0x48]
mov qword [rcx], rax
xor eax, eax
jmp 0x1400ee002
movzx eax, word [0x1401b8ed8]
test al, al
je case.0x1400edb0f.0
movzx ecx, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x1400edb0f.0
mov rax, qword [rbp - 0x48]
inc dword [rsi + 0xc]
mov rcx, qword [rbp + 0x48]
mov qword [rcx], rax
xor eax, eax
jmp 0x1400ee002
movzx eax, word [0x1401b8ed8]
test al, al
je case.0x1400edb0f.0
movzx ecx, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
jne case.0x1400edb0f.0
mov rax, qword [rbp - 0x48]
inc dword [rsi + 0xc]
mov rcx, qword [rbp + 0x48]
mov qword [rcx], rax
xor eax, eax
jmp 0x1400ee002
movzx eax, word [0x1401b8ed8]
test al, al
je case.0x1400edb0f.0
movzx ecx, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_islower]
test eax, eax
je case.0x1400edb0f.0
mov rax, qword [rbp - 0x48]
inc dword [rsi + 0xc]
mov rcx, qword [rbp + 0x48]
mov qword [rcx], rax
xor eax, eax
jmp 0x1400ee002
movzx eax, word [0x1401b8ed8]
test al, al
je case.0x1400edb0f.0
movzx ecx, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_islower]
test eax, eax
jne case.0x1400edb0f.0
mov rax, qword [rbp - 0x48]
inc dword [rsi + 0xc]
mov rcx, qword [rbp + 0x48]
mov qword [rcx], rax
xor eax, eax
jmp 0x1400ee002
movzx eax, word [0x1401b8ed8]
test al, al
je case.0x1400edb0f.0
movzx ecx, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalnum]
test eax, eax
je case.0x1400edb0f.0
mov rax, qword [rbp - 0x48]
inc dword [rsi + 0xc]
mov rcx, qword [rbp + 0x48]
mov qword [rcx], rax
xor eax, eax
jmp 0x1400ee002
movzx eax, word [0x1401b8ed8]
test al, al
je case.0x1400edb0f.0
movzx ecx, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalnum]
test eax, eax
jne case.0x1400edb0f.0
mov rax, qword [rbp - 0x48]
inc dword [rsi + 0xc]
mov rcx, qword [rbp + 0x48]
mov qword [rcx], rax
xor eax, eax
jmp 0x1400ee002
movzx eax, word [0x1401b8ed8]
test al, al
je case.0x1400edb0f.0
movzx ecx, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
je case.0x1400edb0f.0
mov rax, qword [rbp - 0x48]
inc dword [rsi + 0xc]
mov rcx, qword [rbp + 0x48]
mov qword [rcx], rax
xor eax, eax
jmp 0x1400ee002
movzx eax, word [0x1401b8ed8]
test al, al
je case.0x1400edb0f.0
movzx ecx, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
jne case.0x1400edb0f.0
mov rax, qword [rbp - 0x48]
inc dword [rsi + 0xc]
mov rcx, qword [rbp + 0x48]
mov qword [rcx], rax
xor eax, eax
jmp 0x1400ee002
movzx eax, word [0x1401b8ed8]
test al, al
je case.0x1400edb0f.0
movzx ecx, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isupper]
test eax, eax
je case.0x1400edb0f.0
mov rax, qword [rbp - 0x48]
inc dword [rsi + 0xc]
mov rcx, qword [rbp + 0x48]
mov qword [rcx], rax
xor eax, eax
jmp 0x1400ee002
movzx eax, word [0x1401b8ed8]
test al, al
je case.0x1400edb0f.0
movzx ecx, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isupper]
test eax, eax
jne case.0x1400edb0f.0
mov rax, qword [rbp - 0x48]
inc dword [rsi + 0xc]
mov rcx, qword [rbp + 0x48]
mov qword [rcx], rax
xor eax, eax
jmp 0x1400ee002
movzx eax, word [0x1401b8ed8]
test al, al
je case.0x1400edb0f.0
movzx ecx, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalnum]
test eax, eax
jne 0x1400edfcf
cmp byte [0x1401b8ed8], 0x5f
jne case.0x1400edb0f.0
mov rax, qword [rbp - 0x48]
inc dword [rsi + 0xc]
mov rcx, qword [rbp + 0x48]
mov qword [rcx], rax
xor eax, eax
jmp 0x1400ee002
movzx eax, word [0x1401b8ed8]
test al, al
je case.0x1400edb0f.0
movzx ecx, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalnum]
test eax, eax
jne case.0x1400edb0f.0
cmp byte [0x1401b8ed8], 0x5f
jne 0x1400edfcf
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp + 0x48]
mov qword [rcx], rax
xor eax, eax
jmp 0x1400ee002
mov eax, dword [rsi + 0x60]
and al, 2
neg al
sbb ecx, ecx
neg ecx
lea r12d, [rcx - 1]
test r12d, r12d
jle case.0x1400edb0f.0
mov rax, qword [rbp - 0x48]
inc dword [rsi + 0xc]
mov rcx, qword [rbp + 0x48]
mov qword [rcx], rax
xor eax, eax
jmp 0x1400ee002
movzx ecx, byte [0x1401b8ed8]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalnum]
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp + 0x48]
mov qword [rcx], rax
xor eax, eax
jmp 0x1400ee002
mov eax, recv
mov rbx, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x60]
add rsp, 0x68
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret