Function at 0x1400c3880
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using speck
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb8]
sub rsp, 0x1b8
mov r10, qword [rdx]
mov rdi, qword [r8]
mov r14d, 0xfffffffe
xor edx, edx
mov r12, r9
mov r9d, dword [rcx]
xor ecx, ecx
mov eax, r9d
mov qword [rbp - 0x80], r10
shr eax, 9
mov dword [rbp - 0x30], edx
mov dword [rbp - 0x58], edx
and eax, 1
mov dword [rsp + 0x78], r9d
mov dword [rbp + 0x18], ecx
mov dword [rbp + 0x38], eax
xor eax, 1
mov dword [rbp + 8], ecx
mov dword [rbp + 0x3c], eax
mov eax, r9d
mov qword [rbp + 0x58], r10
and eax, 1
mov qword [rbp + 0x68], r10
mov dword [rbp - 0x74], ecx
shl eax, 0x1c
mov dword [rbp + 0x1c], ecx
mov r11d, ecx
mov qword [rbp - 0x68], rcx
mov r15d, ecx
mov qword [rbp - 0x50], rcx
mov dword [rbp + 0xc], eax
mov esi, ecx
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x20], rcx
mov dword [rbp - 0x78], r14d
mov r13d, r14d
mov dword [rbp - 0x48], r14d
mov dword [rbp - 0x44], r14d
mov dword [rbp - 0x5c], r14d
mov dword [rbp + 0x60], 0x81
mov qword [rsp + 0x70], rdi
movzx ebx, word [rdi]
test ebx, ebx
jne 0x1400c3959
test r11, r11
je 0x1400c3959
mov qword [rsp + 0x70], r11
movzx ebx, word [r11]
mov rdi, r11
mov qword [rbp - 0x68], rcx
mov r11, qword [rbp + 0x140]
mov r8, qword [rbp + 0x148]
movsxd rcx, dword [r11 + 0x60]
mov rax, qword [r11 + 0x20]
lea rcx, [rax + rcx*2 - 0xc8]
test r8, r8
je 0x1400c3a31
cmp r10, rcx
ja 0x1400c7f9b
mov rax, qword [rbp + 0x58]
mov edx, dword [r8]
cmp r10, rax
cmovb r10, rax
mov rcx, r10
mov qword [rbp - 0x80], r10
sub rcx, rax
mov eax, 0x7fffffeb
sub eax, edx
sar rcx, 1
cdqe
cmp rax, rcx
jl 0x1400c7ce8
lea eax, [rdx + rcx]
mov dword [r8], eax
test r15, r15
je 0x1400c3a20
mov rax, qword [rbp + 0x68]
cmp r15, rax
jbe 0x1400c3a28
mov r8, r10
mov rdx, r15
mov rcx, rax
sub r8, r15
and r8, 0xfffffffffffffffe
call fcn.1400d6960
mov rax, qword [rbp + 0x68]
mov r10, qword [rbp - 0x80]
mov rdi, qword [rsp + 0x70]
mov r11, qword [rbp + 0x140]
mov r9d, dword [rsp + 0x78]
mov r8, qword [rbp + 0x148]
mov edx, dword [rbp - 0x74]
sub r15, rax
sar r15, 1
mov qword [rbp - 0x50], rax
neg r15
lea r10, [r10 + r15*2]
mov r15, rax
mov qword [rbp - 0x80], r10
mov qword [rbp + 0x58], r10
jmp 0x1400c3a3b
mov r10, qword [rbp + 0x68]
mov qword [rbp - 0x80], r10
mov edx, dword [rbp - 0x74]
mov qword [rbp + 0x58], r10
jmp 0x1400c3a3b
cmp qword [r11 + 0x48], rcx
ja 0x1400c7f9b
test edx, edx
je 0x1400c3b8e
test ebx, ebx
je 0x1400c3b8e
cmp ebx, 0x5c
jne 0x1400c3a6f
cmp word [rdi + 2], 0x45
jne 0x1400c3a6f
mov r11, qword [rbp - 0x68]
xor ecx, ecx
add rdi, 2
mov edx, ecx
mov dword [rbp - 0x74], ecx
add rdi, 2
jmp 0x1400c3938
test rsi, rsi
je 0x1400c3a97
test r8, r8
jne 0x1400c3a8f
mov eax, edi
sub eax, dword [r11 + 0x30]
sar rax, 1
sub ax, word [rsi + 0xc]
mov word [rsi + 0xe], ax
mov rdi, qword [rsp + 0x70]
xor edx, edx
mov qword [rbp - 0x40], rdx
jmp 0x1400c3a99
xor edx, edx
bt r9d, 0xe
jae case.0x1400c3d20.12
mov eax, reloc.WSOCK32.dll_WSASetLastError
mov qword [rbp - 0x40], r10
mov word [r10], ax
mov eax, 0xff
mov word [r10 + 2], ax
mov qword [r10 + 4], rdx
mov eax, edi
sub eax, dword [r11 + 0x30]
mov word [r10 + 0xe], dx
sar rax, 1
add r10, 0x10
mov word [r10 - 4], ax
mov rdi, qword [rsp + 0x70]
mov ecx, 0xfc00
movzx r12d, bx
mov word [rbp + 0x40], bx
mov edx, 0xd800
and ebx, ecx
mov esi, 1
cmp ebx, edx
jne 0x1400c3b1a
movzx eax, word [rdi + 2]
add rdi, 2
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x1400c3b1a
mov qword [rsp + 0x70], rdi
movzx eax, word [rdi]
mov esi, 2
mov word [rbp + 0x42], ax
mov edi, dword [rbp - 0x44]
xor ebx, ebx
test r9b, 1
mov eax, ebx
mov r15, r10
setne al
mov qword [rbp - 0x50], r10
add r10, 2
add ax, 0x1d
mov qword [rbp - 0x80], r10
mov word [r10 - 2], ax
test esi, esi
jle 0x1400c3b69
mov r8d, esi
lea rdx, [rbp + 0x40]
mov rcx, r10
add r8, r8
mov ebx, esi
call fcn.1400d6960
mov r10, qword [rbp - 0x80]
mov r9d, dword [rsp + 0x78]
lea r10, [r10 + rbx*2]
mov qword [rbp - 0x80], r10
cmp r12w, 0xd
je 0x1400c3b7b
cmp r12w, 0xa
jne 0x1400c7bbf
mov rax, qword [rbp + 0x140]
or dword [rax + 0x7c], 0x800
jmp 0x1400c7bc6
cmp ebx, 0x2a
je 0x1400c3bea
cmp ebx, 0x2b
je 0x1400c3bea
cmp ebx, 0x3f
je 0x1400c3bea
cmp ebx, 0x7b
jne 0x1400c3baf
lea rcx, [rdi + 2]
call fcn.1400c0d90
test eax, eax
jne 0x1400c3bea
mov rcx, qword [rbp - 0x40]
xor eax, eax
mov esi, eax
test rcx, rcx
je 0x1400c3bef
mov eax, dword [rbp + 0x18]
dec dword [rbp + 0x18]
test eax, eax
jg 0x1400c3bef
test r8, r8
jne 0x1400c3be1
mov eax, edi
sub eax, dword [r11 + 0x30]
sar rax, 1
sub ax, word [rcx + 0xc]
mov word [rcx + 0xe], ax
mov rdi, qword [rsp + 0x70]
xor r8d, r8d
mov qword [rbp - 0x40], r8
jmp 0x1400c3bf2
mov esi, 1
xor r8d, r8d
test r9b, 8
je 0x1400c3cb3
mov eax, 0xff
cmp word [rdi], ax
ja 0x1400c3c17
mov rax, qword [r11 + 0x18]
movsxd rcx, ebx
test byte [rcx + rax], 1
jne 0x1400c6f6a
cmp ebx, 0x23
jne 0x1400c3cb3
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx r8d, word [rdi]
test r8w, r8w
je 0x1400c3ca4
mov ecx, 0xdc00
nop dword [rax + rax]
mov edx, dword [r11 + 0x8c]
test edx, edx
je 0x1400c3d22
mov r8, qword [r11 + 0x38]
cmp rdi, r8
jae 0x1400c3d63
mov eax, 1
lea r9, [r11 + 0x90]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.1400d4d20
mov r11, qword [rbp + 0x140]
test eax, eax
je 0x1400c3d5e
mov eax, dword [r11 + 0x90]
dec eax
cdqe
lea rdi, [rdi + rax*2]
mov qword [rsp + 0x70], rdi
cmp word [rdi], 0
jne 0x1400c6f5e
mov edx, dword [rbp - 0x74]
mov r10, qword [rbp - 0x80]
mov r9d, dword [rsp + 0x78]
xor r8d, r8d
mov ebx, r8d
bt r9d, 0xe
jae 0x1400c3cf9
test esi, esi
jne 0x1400c3cf9
mov eax, reloc.WSOCK32.dll_WSASetLastError
mov qword [rbp - 0x40], r10
mov word [r10], ax
mov eax, 0xff
mov word [r10 + 2], ax
mov qword [r10 + 4], r8
mov eax, edi
sub eax, dword [r11 + 0x30]
mov word [r10 + 0xe], r8w
sar rax, 1
add r10, 0x10
mov word [r10 - 4], ax
mov rdi, qword [rsp + 0x70]
mov qword [rbp - 0x80], r10
cmp ebx, 0x7c
ja case.0x1400c3d20.12
lea r8, [0x140000000]
movsxd rax, ebx
movzx eax, byte [r8 + rax + 0xc7ff8]
mov ecx, dword [r8 + rax*4 + 0xc7fc4]
add rcx, r8
jmp rcx
movsxd rcx, dword [r11 + 0x90]
mov rax, rcx
imul rax, rax, 0xfffffffffffffffe
add rax, qword [r11 + 0x38]
cmp rdi, rax
ja 0x1400c3d5e
cmp r8w, word [r11 + 0x94]
jne 0x1400c3d5e
cmp ecx, 1
je 0x1400c3c83
movzx eax, word [r11 + 0x96]
cmp word [rdi + 2], ax
je 0x1400c3c83
mov ecx, 0xdc00
add rdi, 2
mov edx, 0xfc00
mov qword [rsp + 0x70], rdi
movzx eax, word [rdi]
and ax, dx
cmp ax, cx
jne 0x1400c3d85
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx r8d, word [rdi]
test r8w, r8w
jne 0x1400c3c40
jmp 0x1400c3ca1
mov r11, qword [rbp - 0x68]
mov rsi, qword [rbp - 0x40]
xor ecx, ecx
mov r15d, ecx
mov qword [rbp - 0x50], rcx
test r9b, 2
je 0x1400c3dc9
mov r8d, dword [rbp - 0x5c]
mov eax, 0xffffffff
cmp r8d, 0xfffffffe
cmove r8d, eax
lea eax, [rcx + 0x1a]
mov dword [rbp - 0x5c], r8d
jmp 0x1400c3dce
mov eax, DispGetParam
mov word [r10], ax
mov rdi, qword [rsp + 0x70]
add r10, 2
add rdi, 2
mov qword [rbp - 0x80], r10
jmp 0x1400c3938
mov rsi, qword [rbp - 0x40]
mov r11, qword [rbp - 0x68]
xor ecx, ecx
test r9b, 2
mov eax, ecx
mov r15d, ecx
setne al
add r10, 2
mov qword [rbp - 0x50], rcx
add ax, 0x1b
mov qword [rbp - 0x80], r10
mov word [r10 - 2], ax
mov rdi, qword [rsp + 0x70]
add rdi, 2
jmp 0x1400c3938
mov r8d, dword [rbp - 0x5c]
mov r14d, dword [rbp - 0x44]
mov rsi, qword [rbp - 0x40]
mov r11, qword [rbp - 0x68]
cmp r8d, 0xfffffffe
mov eax, 0xffffffff
cmove r8d, eax
mov eax, r9d
mov r15, r10
shr eax, 2
mov qword [rbp - 0x50], r10
add r10, 2
and ax, 1
xor ecx, ecx
mov dword [rbp - 0x5c], r8d
or ax, 0xc
mov r13d, r8d
mov dword [rbp - 0x48], r8d
mov word [r10 - 2], ax
mov rdi, qword [rsp + 0x70]
mov dword [rbp - 0x78], r14d
add rdi, 2
mov qword [rbp - 0x80], r10
jmp 0x1400c3938
test dword [r11 + 0x78], 0x2000000
je case.0x1400c3d20.12
mov dword [r12], 0x40
jmp 0x1400c7fa3
movzx eax, word [rdi + 2]
mov r15, r10
mov qword [rbp - 0x50], r10
cmp ax, 0x3a
je 0x1400c3eb7
cmp ax, 0x2e
je 0x1400c3eb7
cmp ax, 0x3d
jne 0x1400c3ed0
lea rdx, [rbp + 0x30]
mov rcx, rdi
call fcn.1400c2840
mov rdi, qword [rsp + 0x70]
test eax, eax
jne 0x1400c7d56
xor ebx, ebx
mov edx, ebx
mov dword [rbp - 0x60], ebx
mov eax, 1
nop dword [rax]
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx r12d, word [rdi]
cmp r12d, 0x5c
jne 0x1400c3f4d
cmp word [rdi + 2], 0x45
lea rcx, [rdi + 2]
jne 0x1400c3f03
mov rdi, rcx
jmp 0x1400c3ee0
mov eax, 3
lea r9, [0x140110d10]
nop
movzx edx, word [rcx]
movzx r8d, byte [r9]
dec eax
add rcx, 2
inc r9
cmp dx, r8w
jne 0x1400c3f33
test eax, eax
jne 0x1400c3f10
mov edx, dword [rbp - 0x60]
add rdi, 6
jmp 0x1400c3ed7
cmp dx, r8w
mov eax, ebx
seta al
lea eax, [rax + rax - 1]
test eax, eax
jne 0x1400c3fb8
mov edx, dword [rbp - 0x60]
add rdi, 6
jmp 0x1400c3ed7
test edx, edx
jne 0x1400c3f5e
cmp r12d, 0x5e
jne 0x1400c3f5e
mov edx, eax
mov dword [rbp - 0x60], eax
jmp 0x1400c3ee0
cmp r12d, 0x5d
jne 0x1400c3fbb
test dword [r11 + 0x78], 0x2000000
je 0x1400c3fbb
mov r8d, dword [rbp - 0x5c]
mov r12, qword [rbp + 0x118]
mov eax, 0x97
test edx, edx
mov ecx, ntohs
cmovne ax, cx
add r10, 2
cmp r8d, 0xfffffffe
mov word [r10 - 2], ax
mov rdi, qword [rsp + 0x70]
mov eax, 0xffffffff
cmove r8d, eax
mov qword [rbp - 0x80], r10
mov dword [rbp - 0x5c], r8d
mov r13d, r8d
mov dword [rbp - 0x48], r8d
jmp 0x1400c6f62
mov edx, dword [rbp - 0x60]
xor eax, eax
lea r15, [r10 + 6]
mov dword [rbp - 0x6c], ebx
mov rcx, r15
mov r14d, ebx
mov dword [rbp - 0x70], ebx
mov r13d, ebx
mov dword [rbp - 0x48], ebx
mov qword [rbp - 0x18], rax
mov qword [rbp + 0x20], rcx
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov qword [rbp], rax
mov r8d, ebx
mov dword [rbp - 0x78], ebx
mov qword [rbp - 0x28], r15
test r12d, r12d
je 0x1400c7d44
mov r9, qword [rbp - 0x68]
movsxd rsi, edx
mov qword [rbp + 0x28], rsi
nop word [rax + rax]
mov eax, r12d
mov r10d, 0xfc00
mov edx, 0xd800
and eax, r10d
cmp eax, edx
jne 0x1400c405e
movzx r12d, word [rdi]
mov eax, r12d
and eax, r10d
cmp eax, edx
jne 0x1400c405e
movzx ecx, word [rdi + 2]
add rdi, 2
mov eax, 0x3ff
and ecx, eax
and eax, r12d
mov qword [rsp + 0x70], rdi
shl eax, 0xa
mov r12d, ecx
mov rcx, qword [rbp + 0x20]
or r12d, eax
add r12d, 0x10000
mov rbx, qword [rbp + 0x148]
test rbx, rbx
je 0x1400c407a
sub r15, rcx
mov qword [rbp - 0x28], rcx
sar r15, 1
add dword [rbx], r15d
mov r15, rcx
mov edx, dword [rbp - 0x74]
test edx, edx
je 0x1400c40a9
cmp r12d, 0x5c
jne 0x1400c43f0
cmp word [rdi + 2], 0x45
lea rax, [rdi + 2]
jne 0x1400c43f0
xor esi, esi
mov rdi, rax
mov edx, esi
mov dword [rbp - 0x74], edx
jmp 0x1400c4659
cmp r12d, 0x5b
jne 0x1400c4392
movzx eax, word [rdi + 2]
cmp ax, 0x3a
je 0x1400c40cd
cmp ax, 0x2e
je 0x1400c40cd
cmp ax, 0x3d
jne 0x1400c43f0
lea rdx, [rbp + 0x30]
mov rcx, rdi
call fcn.1400c2840
test eax, eax
je 0x1400c43e1
mov rdi, qword [rsp + 0x70]
mov r13, qword [r11 + 0x10]
xor ecx, ecx
cmp word [rdi + 2], 0x3a
mov r14d, ecx
jne 0x1400c7cf5
add rdi, 4
mov qword [rsp + 0x70], rdi
cmp word [rdi], 0x5e
jne 0x1400c411d
mov eax, 1
add rdi, 2
mov r14d, eax
mov dword [rbp - 0x6c], eax
mov qword [rsp + 0x70], rdi
mov r15, qword [rbp + 0x30]
lea rbx, str.alpha
mov esi, ecx
mov r11, r15
mov r12, rcx
mov al, 5
sub r11, rdi
sar r11, 1
nop dword [rax + rax]
movzx r10d, al
cmp r11d, r10d
jne 0x1400c4219
mov eax, r11d
mov r8, rdi
mov r9, rbx
test r11d, r11d
je 0x1400c417e
nop dword [rax + rax]
movzx ecx, word [r8]
movzx edx, byte [r9]
dec eax
add r8, 2
inc r9
cmp cx, dx
jne 0x1400c4205
test eax, eax
jne 0x1400c4160
test esi, esi
js 0x1400c4240
mov r10d, dword [rsp + 0x78]
xor r11d, r11d
test r10b, 1
je 0x1400c419f
cmp esi, 2
jg 0x1400c419f
mov esi, r11d
mov r12d, r11d
lea r8, [0x140000000]
bt r10d, 0x1d
jae 0x1400c4252
mov eax, r14d
neg eax
sbb ecx, ecx
and ecx, 0xe
lea eax, [rsi + rcx]
cdqe
mov rdi, qword [r8 + rax*8 + 0x123990]
test rdi, rdi
je 0x1400c4252
mov r8d, dword [rbp - 0x78]
mov r13d, dword [rbp - 0x48]
mov r14d, dword [rbp - 0x70]
mov r11, qword [rbp + 0x140]
mov edx, dword [rbp - 0x74]
mov rbx, qword [rbp + 0x148]
lea r9, [r15 + 2]
mov r15, qword [rbp - 0x28]
add rdi, 0xfffffffffffffffe
mov qword [rbp - 0x68], r9
xor esi, esi
jmp 0x1400c465e
xor eax, eax
cmp cx, dx
seta al
lea eax, [rax + rax - 1]
test eax, eax
je 0x1400c417e
lea eax, [r10 + 1]
inc r12
inc esi
movsxd rcx, eax
lea rax, [0x140000000]
movzx eax, byte [r12 + rax + 0x10e098]
add rbx, rcx
test al, al
jne 0x1400c4140
mov rax, qword [rbp + 0x118]
mov dword [rax], SafeArrayAllocDescriptor
jmp 0x1400c7fa3
lea rdx, [r12 + r12*2]
movsxd rcx, dword [r8 + rdx*4 + 0x10e0c0]
mov r9d, dword [r8 + rdx*4 + 0x10e0c8]
mov rax, qword [rcx + r13]
mov qword [rbp + 0x80], rax
mov rax, qword [rcx + r13 + 8]
mov qword [rbp + 0x88], rax
mov rax, qword [rcx + r13 + 0x10]
mov qword [rbp + 0x90], rax
mov rax, qword [rcx + r13 + 0x18]
mov qword [rbp + 0x98], rax
movsxd rax, dword [r8 + rdx*4 + 0x10e0c4]
test eax, eax
js 0x1400c42f2
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x80]
sub rax, rdx
mov edx, SafeArrayAllocDescriptor
lea r8, [rax + r13]
test r9d, r9d
js 0x1400c42e0
movzx eax, byte [r8 + rcx]
inc rcx
or byte [rcx - 1], al
dec rdx
jne 0x1400c42c0
jmp 0x1400c42f2
movzx eax, byte [rcx + r8]
inc rcx
not al
and byte [rcx - 1], al
dec rdx
jne 0x1400c42e0
test r9d, r9d
jns 0x1400c42fa
neg r9d
cmp r9d, 1
jne 0x1400c4309
and byte [rbp + 0x81], 0xc3
jmp 0x1400c4316
cmp r9d, 2
jne 0x1400c4316
and byte [rbp + 0x8b], 0x7f
mov rcx, r11
mov edx, SafeArrayAllocDescriptor
test r14d, r14d
je 0x1400c4340
movzx eax, byte [rbp + rcx + 0x80]
inc rcx
not al
or byte [rbp + rcx - 0x19], al
dec rdx
jne 0x1400c4323
jmp 0x1400c4354
movzx eax, byte [rbp + rcx + 0x80]
inc rcx
or byte [rbp + rcx - 0x19], al
dec rdx
jne 0x1400c4340
mov r8d, dword [rbp - 0x78]
mov eax, 1
lea rdi, [r15 + 2]
mov r15, qword [rbp - 0x28]
mov r14d, eax
mov dword [rbp - 0x70], eax
mov eax, 2
mov r13d, eax
mov dword [rbp - 0x48], eax
mov r11, qword [rbp + 0x140]
mov rbx, qword [rbp + 0x148]
mov r9, qword [rbp - 0x68]
mov edx, dword [rbp - 0x74]
xor esi, esi
jmp 0x1400c465e
mov r9d, dword [rsp + 0x78]
cmp r12d, 0x5c
jne 0x1400c43f5
mov r8d, dword [r11 + 0x64]
mov rdx, qword [rbp + 0x118]
lea rcx, [rsp + 0x70]
mov edi, 1
mov dword [rsp + 0x20], edi
call fcn.1400c0e30
mov r8, qword [rbp + 0x118]
cmp dword [r8], 0
movsxd r12, eax
jne 0x1400c7d28
mov ebx, r12d
neg ebx
cmp ebx, 5
jne 0x1400c454c
lea r12d, [rdi + 7]
mov rdi, qword [rsp + 0x70]
mov r11, qword [rbp + 0x140]
mov edx, dword [rbp - 0x74]
mov r9d, dword [rsp + 0x78]
cmp word [rdi + 2], 0x5c
jne 0x1400c441f
xor ebx, ebx
nop
cmp word [rdi + 4], 0x45
lea rax, [rdi + 4]
jne 0x1400c441c
mov qword [rsp + 0x70], rax
cmp word [rax + 2], 0x5c
mov edx, ebx
mov rdi, rax
je 0x1400c4400
mov dword [rbp - 0x74], edx
mov rbx, rdi
cmp r12d, 0xd
je 0x1400c442e
cmp r12d, 0xa
jne 0x1400c4436
or dword [r11 + 0x7c], 0x800
test edx, edx
jne 0x1400c4ad2
cmp word [rdi + 2], 0x2d
jne 0x1400c4ad2
add rdi, 4
mov qword [rsp + 0x70], rdi
cmp word [rdi], 0x5c
jne 0x1400c447a
nop dword [rax + rax]
cmp word [rdi + 2], 0x45
jne 0x1400c4a6d
add rdi, 4
mov qword [rsp + 0x70], rdi
cmp word [rdi], 0x5c
je 0x1400c4460
mov r8d, 1
movzx eax, word [rdi]
test ax, ax
je 0x1400c4eb9
test edx, edx
jne 0x1400c449a
cmp ax, 0x5d
je 0x1400c4eb9
movzx esi, ax
mov ecx, 0xfc00
mov eax, esi
and eax, ecx
cmp eax, 0xd800
jne 0x1400c44d0
movzx ecx, word [rdi + 2]
add rdi, 2
mov eax, 0x3ff
and ecx, eax
and eax, esi
mov qword [rsp + 0x70], rdi
shl eax, 0xa
mov esi, ecx
or esi, eax
add esi, 0x10000
test edx, edx
jne 0x1400c451b
cmp esi, 0x5c
jne 0x1400c451b
mov rdi, qword [rbp + 0x118]
mov dword [rsp + 0x20], r8d
mov r8d, dword [r11 + 0x64]
lea rcx, [rsp + 0x70]
mov rdx, rdi
call fcn.1400c0e30
cmp dword [rdi], 0
mov esi, eax
jne 0x1400c7d28
test eax, eax
jns 0x1400c4513
cmp eax, 0xfffffffb
jne 0x1400c4ac6
mov esi, 8
mov edx, dword [rbp - 0x74]
mov rdi, qword [rsp + 0x70]
cmp esi, r12d
jl 0x1400c7d32
je 0x1400c4ace
cmp esi, 0xd
je 0x1400c4538
cmp esi, 0xa
jne 0x1400c4ba5
mov r11, qword [rbp + 0x140]
or dword [r11 + 0x7c], 0x800
jmp 0x1400c4bac
cmp ebx, 0xc
je 0x1400c7d20
cmp ebx, 0x1a
jne 0x1400c4593
mov rdi, qword [rsp + 0x70]
cmp word [rdi + 2], 0x5c
jne 0x1400c457d
cmp word [rdi + 4], 0x45
jne 0x1400c457d
mov r11, qword [rbp + 0x140]
add rdi, 4
jmp 0x1400c4645
mov r11, qword [rbp + 0x140]
mov eax, 1
mov edx, eax
mov dword [rbp - 0x74], eax
jmp 0x1400c4648
cmp ebx, 0x19
je 0x1400c501a
test eax, eax
jns 0x1400c43e1
mov r11, qword [rbp + 0x140]
inc r14d
add r13d, 2
mov rdx, qword [r11 + 0x10]
lea eax, [rbx - 6]
mov dword [rbp - 0x70], r14d
mov dword [rbp - 0x48], r13d
cmp eax, 0x1c
ja case.0x1400c45de.12
lea r9, [0x140000000]
cdqe
mov ecx, dword [r9 + rax*4 + 0xc8078]
add rcx, r9
jmp rcx
mov r9, qword [rsp + 0x70]
mov edx, dword [rbp - 0x74]
mov rbx, qword [rbp + 0x148]
lea rax, [r12*8 + 0xe8]
lea rcx, str.PNd
mov qword [rbp - 0x68], r9
sub rcx, rax
mov rdi, qword [rcx]
sub rdi, 2
dec r14d
mov dword [rbp - 0x70], r14d
jmp 0x1400c4653
lea rax, [rbp - 0x18]
lea rcx, [rbp - 0x18]
mov r8d, SafeArrayAllocDescriptor
sub rdx, rax
nop word [rax + rax]
movzx eax, byte [rdx + rcx + 0x40]
inc rcx
or byte [rcx - 1], al
dec r8
jne 0x1400c4630
mov rdi, qword [rsp + 0x70]
mov edx, dword [rbp - 0x74]
mov rbx, qword [rbp + 0x148]
mov r9, qword [rbp - 0x68]
mov r8d, dword [rbp - 0x78]
xor esi, esi
mov r10d, dword [rsp + 0x78]
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx r12d, word [rdi]
test r12d, r12d
jne 0x1400c4699
test r9, r9
je 0x1400c7d44
mov rdi, r9
mov qword [rbp - 0x68], rsi
mov r9, rsi
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx r12d, word [rdi]
test r12d, r12d
je 0x1400c7d44
mov rcx, qword [rbp + 0x20]
mov rsi, qword [rbp + 0x28]
cmp r12d, 0x5d
jne 0x1400c4010
test edx, edx
je 0x1400c513c
jmp 0x1400c4010
lea rax, [rbp - 0x18]
mov dword [rbp - 0x6c], edi
lea rcx, [rbp - 0x18]
sub rdx, rax
mov r8d, SafeArrayAllocDescriptor
nop dword [rax]
movzx eax, byte [rcx + rdx + 0x40]
inc rcx
not al
or byte [rcx - 1], al
dec r8
jne 0x1400c46d0
jmp 0x1400c4640
lea rax, [rbp - 0x18]
lea rcx, [rbp - 0x18]
mov r8d, SafeArrayAllocDescriptor
sub rdx, rax
nop dword [rax + rax]
movzx eax, byte [rcx + rdx + 0xa0]
inc rcx
or byte [rcx - 1], al
dec r8
jne 0x1400c4700
jmp 0x1400c4640
lea rax, [rbp - 0x18]
mov dword [rbp - 0x6c], edi
lea rcx, [rbp - 0x18]
sub rdx, rax
mov r8d, SafeArrayAllocDescriptor
nop dword [rax]
movzx eax, byte [rcx + rdx + 0xa0]
inc rcx
not al
or byte [rcx - 1], al
dec r8
jne 0x1400c4730
jmp 0x1400c4640
movzx eax, byte [rdx]
lea rcx, [rbp - 0x16]
mov r8d, SafeArrayAllocDescriptor
or byte [rbp - 0x18], al
movzx eax, byte [rdx + 1]
and al, 0xf7
or byte [rbp - 0x17], al
lea rax, [rbp - 0x16]
sub rdx, rax
nop word [rax + rax]
movzx eax, byte [rdx + rcx + 2]
inc rcx
or byte [rcx - 1], al
dec r8
jne 0x1400c4770
jmp 0x1400c4640
lea rax, [rbp - 0x18]
mov dword [rbp - 0x6c], edi
lea rcx, [rbp - 0x18]
sub rdx, rax
mov r8d, SafeArrayAllocDescriptor
nop dword [rax]
movzx eax, byte [rdx + rcx]
inc rcx
not al
or byte [rcx - 1], al
dec r8
jne 0x1400c47a0
or byte [rbp - 0x17], 8
jmp 0x1400c4640
or byte [rbp - 0x17], 2
or byte [rbp - 0x14], dil
or byte [rbp - 4], dil
mov dword [r15], 0x16800001
mov dword [r15 + 4], 0x180e0001
mov eax, 2
mov word [r15 + 8], ax
mov eax, 0x2000
add r15, 0x1a
mov word [r15 - 0x10], ax
mov dword [r15 - 0xe], 0x1200a
mov dword [r15 - 0xa], 0x1202f
mov dword [r15 - 6], 0x1205f
mov eax, 0x3000
mov word [r15 - 2], ax
mov edx, dword [rbp - 0x74]
mov rbx, qword [rbp + 0x148]
mov r9, qword [rbp - 0x68]
mov dword [rbp - 0x78], edi
mov r8d, edi
mov rdi, qword [rsp + 0x70]
mov qword [rbp - 0x28], r15
jmp 0x1400c4657
xor esi, esi
mov r8d, esi
mov esi, 0xff
nop dword [rax + rax]
mov ecx, r8d
mov edx, esi
dec ecx
je 0x1400c485a
sub ecx, 3
je 0x1400c4853
cmp ecx, 0x10
jne 0x1400c485f
mov edx, 0xfe
jmp 0x1400c485f
mov edx, 0xfd
movsxd rax, r8d
inc r8d
or byte [rbp + rax - 0x18], dl
cmp r8d, 0x20
jl 0x1400c4840
mov dword [r15], 0x1000002
mov dword [r15 + 4], 0x2167f
mov eax, 0x1681
mov word [r15 + 8], ax
mov dword [r15 + 0xa], 0x2180d
mov eax, 0x180f
mov word [r15 + 0xe], ax
mov dword [r15 + 0x10], 0x21fff
mov eax, 0x200b
mov word [r15 + 0x14], ax
mov dword [r15 + 0x16], 0x2202e
mov eax, 0x2030
mov word [r15 + 0x1a], ax
mov dword [r15 + 0x1c], 0x2205e
mov eax, 0x2060
mov word [r15 + 0x20], ax
mov dword [r15 + 0x22], 0x22fff
mov eax, 0x3001
mov word [r15 + 0x26], ax
mov eax, 0xdbff
xor esi, esi
mov word [r15 + 0x28], ax
mov eax, 0xdfff
add r15, 0x2c
mov word [r15 - 2], ax
mov dword [rbp - 0x78], edi
mov r8d, edi
mov rdi, qword [rsp + 0x70]
mov edx, dword [rbp - 0x74]
mov rbx, qword [rbp + 0x148]
mov r9, qword [rbp - 0x68]
mov qword [rbp - 0x28], r15
jmp 0x1400c4659
or byte [rbp - 0x17], 0x3c
or byte [rbp - 8], 0x20
mov eax, 2
mov word [r15], ax
mov eax, 0x2028
add r15, 6
mov word [r15 - 4], ax
mov eax, 0x2029
mov word [r15 - 2], ax
jmp 0x1400c480f
xor esi, esi
mov r8d, esi
mov esi, 0xff
mov ecx, r8d
mov edx, esi
dec ecx
je 0x1400c496b
cmp ecx, 0xf
jne 0x1400c4970
mov edx, 0xdf
jmp 0x1400c4970
mov edx, 0xc3
movsxd rax, r8d
inc r8d
or byte [rbp + rax - 0x18], dl
cmp r8d, 0x20
jl 0x1400c4956
mov dword [r15], 0x1000002
mov dword [r15 + 4], 0x22027
mov eax, 0x202a
mov word [r15 + 8], ax
mov eax, 0xdbff
xor esi, esi
mov word [r15 + 0xa], ax
mov eax, 0xdfff
add r15, 0xe
mov word [r15 - 2], ax
jmp 0x1400c48fc
mov rdi, qword [rsp + 0x70]
movzx eax, word [rdi + 2]
add rdi, 2
test eax, eax
je 0x1400c7d08
mov r9, r8
lea rdx, [rbp + 0x70]
lea rcx, [rsp + 0x70]
lea r8, [rbp + 0x50]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], eax
call fcn.1400c1520
test eax, eax
js 0x1400c7d28
mov r11, qword [rbp + 0x140]
xor esi, esi
mov ecx, 1
cmp ebx, 0x10
mov r8d, ecx
mov dword [rbp - 0x78], ecx
mov ecx, esi
sete cl
mov edx, esi
cmp ecx, dword [rbp + 0x70]
sete dl
add r15, 6
add dx, 3
dec r14d
mov word [r15 - 6], dx
mov word [r15 - 4], ax
movzx eax, word [rbp + 0x50]
mov word [r15 - 2], ax
mov dword [rbp - 0x70], r14d
jmp 0x1400c4902
mov r9d, dword [rsp + 0x78]
mov rdi, qword [rsp + 0x70]
test r9b, 0x40
jne 0x1400c7d14
movzx r12d, word [rdi]
mov edx, dword [rbp - 0x74]
dec r14d
sub r13d, 2
mov dword [rbp - 0x70], r14d
mov dword [rbp - 0x48], r13d
jmp 0x1400c43f5
cmp word [rdi], 0x5c
jne 0x1400c447a
nop word [rax + rax]
cmp word [rdi + 2], 0x51
jne 0x1400c447a
add rdi, 4
mov qword [rsp + 0x70], rdi
cmp word [rdi], 0x5c
jne 0x1400c4ab5
cmp word [rdi + 2], 0x45
jne 0x1400c4ab5
add rdi, 4
mov qword [rsp + 0x70], rdi
cmp word [rdi], 0x5c
je 0x1400c4a80
jmp 0x1400c447a
mov r8d, 1
mov edx, r8d
mov dword [rbp - 0x74], edx
jmp 0x1400c4480
mov rdi, rbx
mov qword [rsp + 0x70], rbx
mov rsi, qword [rbp + 0x28]
cmp r13d, 2
jge 0x1400c4adf
inc r13d
mov dword [rbp - 0x48], r13d
cmp r13d, 1
jne 0x1400c4b02
cmp word [rdi + 2], 0x5d
jne 0x1400c4b02
test rsi, rsi
je 0x1400c502d
cmp r12d, 0x10000
jl 0x1400c502d
mov r10d, dword [rsp + 0x78]
mov eax, 0xff
cmp r12d, eax
jg 0x1400c4ed4
mov r9d, r10d
and r9d, 1
je 0x1400c4b28
cmp r12d, 0x7f
jg 0x1400c4ed4
mov r11, qword [rbp + 0x140]
mov rbx, qword [rbp + 0x148]
mov esi, 1
mov eax, r12d
mov ecx, r12d
mov r14d, esi
cdq
and ecx, 7
mov dword [rbp - 0x70], esi
and edx, 7
add eax, edx
mov edx, esi
sar eax, 3
shl dl, cl
movsxd r8, eax
or byte [rbp + r8 - 0x18], dl
test r9d, r9d
mov r9, qword [rbp - 0x68]
je 0x1400c4ec6
mov rax, qword [r11 + 8]
movsxd rcx, r12d
movzx r8d, byte [rax + rcx]
mov eax, r8d
and r8d, 7
cdq
movzx ecx, r8b
mov r8d, dword [rbp - 0x78]
and edx, 7
add eax, edx
sar eax, 3
movsxd rdx, eax
mov eax, esi
shl al, cl
or byte [rbp + rdx - 0x18], al
mov edx, dword [rbp - 0x74]
xor esi, esi
jmp 0x1400c465e
mov r11, qword [rbp + 0x140]
mov ecx, 2
mov eax, 0xff
mov r13d, ecx
mov dword [rbp - 0x48], ecx
cmp esi, eax
jg 0x1400c4c5a
mov r10d, dword [rsp + 0x78]
and r10d, 1
je 0x1400c4bd8
cmp esi, 0x7f
jg 0x1400c4c5a
mov rbx, qword [rbp + 0x148]
mov eax, 1
mov r14d, eax
mov dword [rbp - 0x70], eax
test rbx, rbx
jne 0x1400c464f
cmp r12d, esi
jg 0x1400c464f
movsxd r9, r12d
nop
mov eax, r12d
mov ecx, r12d
cdq
and ecx, 7
and edx, 7
add eax, edx
mov edx, r14d
sar eax, 3
shl dl, cl
movsxd r8, eax
or byte [rbp + r8 - 0x18], dl
test r10d, r10d
je 0x1400c4c47
mov rax, qword [r11 + 8]
movzx ecx, byte [rax + r9]
mov eax, ecx
and ecx, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rdx, eax
mov eax, r14d
shl al, cl
or byte [rbp + rdx - 0x18], al
inc r12d
inc r9
cmp r12d, esi
jle 0x1400c4c00
mov edx, dword [rbp - 0x74]
jmp 0x1400c464f
mov r10d, dword [rsp + 0x78]
mov ebx, 1
mov r8d, ebx
mov dword [rbp - 0x78], ebx
test bl, r10b
je 0x1400c4cde
mov r9d, r12d
mov r11d, esi
cmp r9d, r11d
ja 0x1400c4cd1
lea r10, [0x140000000]
nop word [rax + rax]
mov eax, r9d
shr rax, 7
movzx ecx, byte [rax + r10 + 0xfffc0]
mov eax, r9d
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx ecx, word [r10 + rcx*2 + 0x1021c0]
mov eax, dword [r10 + rcx*8 + 0xfeee4]
lea r8d, [r9 + rax]
cmp r8d, r9d
jne 0x1400c4d4e
inc r9d
cmp r9d, r11d
jbe 0x1400c4c90
mov r10d, dword [rsp + 0x78]
mov r8d, ebx
mov ecx, 2
mov eax, r12d
mov r11d, 0xd800
mov word [r15], cx
and eax, 0xf800
cmp eax, r11d
je 0x1400c4e26
cmp r12d, 0x110000
jae 0x1400c4e26
cmp r12d, 0xffff
jbe 0x1400c4e2c
lea ecx, [r12 - 0x10000]
mov edi, 0x3ff
mov r12d, 0xdc00
mov eax, ecx
and cx, di
mov r9d, 2
shr eax, 0xa
or ax, r11w
or cx, r12w
mov word [r15 + 2], ax
mov word [r15 + 4], cx
mov eax, r9d
jmp 0x1400c4e45
cmp r9d, r11d
ja 0x1400c4cd1
inc r9d
lea edx, [r8 + 1]
cmp r9d, r11d
ja 0x1400c4dae
nop word [rax + rax]
mov eax, r9d
shr rax, 7
movzx ecx, byte [rax + r10 + 0xfffc0]
mov eax, r9d
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx ecx, word [r10 + rcx*2 + 0x1021c0]
mov eax, dword [r10 + rcx*8 + 0xfeee4]
lea ecx, [r9 + rax]
cmp ecx, edx
jne 0x1400c4dae
inc r9d
inc edx
cmp r9d, r11d
jbe 0x1400c4d70
lea r10d, [rdx - 1]
cmp r8d, r12d
jb 0x1400c4dc2
cmp r10d, esi
jbe 0x1400c4c75
jmp 0x1400c4dd9
lea eax, [r12 - 1]
cmp r10d, eax
jb 0x1400c4dd4
mov r12d, r8d
jmp 0x1400c4c75
cmp r10d, esi
jbe 0x1400c4de9
lea eax, [rsi + 1]
cmp r8d, eax
ja 0x1400c4de9
mov esi, r10d
jmp 0x1400c4c75
cmp r8d, r10d
jne 0x1400c4df7
mov word [r15], bx
add r15, r13
jmp 0x1400c4e0f
lea rdx, [r15 + 2]
mov ecx, r8d
mov word [r15], r13w
call fcn.1400d4f20
movsxd rdx, eax
lea r15, [r15 + rdx*2 + 2]
mov rdx, r15
mov ecx, r10d
call fcn.1400d4f20
movsxd rcx, eax
lea r15, [r15 + rcx*2]
jmp 0x1400c4c75
mov r12d, 0xfffe
mov word [r15 + 2], r12w
mov rax, rbx
mov edi, 0x3ff
mov r12d, 0xdc00
mov r9d, 2
lea rdx, [r15 + rax*2 + 2]
mov eax, esi
and eax, 0xf800
cmp eax, r11d
je 0x1400c4e9a
cmp esi, 0x110000
jae 0x1400c4e9a
cmp esi, 0xffff
jbe 0x1400c4e9f
lea ecx, [rsi - 0x10000]
mov eax, ecx
and cx, di
shr eax, 0xa
or ax, r11w
or cx, r12w
mov word [rdx], ax
mov eax, r9d
mov word [rdx + 2], cx
mov rdi, qword [rsp + 0x70]
cdqe
lea r15, [rdx + rax*2]
mov qword [rbp - 0x28], r15
jmp 0x1400c4376
mov esi, 0xfffe
mov eax, ebx
movsxd rax, ebx
mov word [rdx], si
mov rdi, qword [rsp + 0x70]
lea r15, [rdx + rax*2]
mov qword [rbp - 0x28], r15
jmp 0x1400c4376
mov rdi, rbx
mov qword [rsp + 0x70], rbx
jmp 0x1400c4ad2
mov r8d, dword [rbp - 0x78]
mov edx, dword [rbp - 0x74]
xor esi, esi
jmp 0x1400c465e
mov esi, 1
mov eax, r12d
mov ebx, 0xd800
and eax, 0xf800
mov r8d, esi
mov dword [rbp - 0x78], esi
mov word [r15], si
mov ecx, r12d
cmp eax, ebx
je 0x1400c4f3e
cmp r12d, 0x110000
jae 0x1400c4f3e
cmp r12d, 0xffff
jbe 0x1400c4f43
lea ecx, [r12 - 0x10000]
mov edi, 0x3ff
mov r11d, 2
mov eax, ecx
and cx, di
shr eax, 0xa
or ax, bx
mov word [r15 + 2], ax
mov eax, 0xdc00
or cx, ax
mov eax, r11d
mov word [r15 + 4], cx
jmp 0x1400c4f55
mov ecx, 0xfffe
mov word [r15 + 2], cx
mov eax, esi
mov edi, 0x3ff
mov r11d, 2
cdqe
lea r15, [r15 + rax*2 + 2]
mov qword [rbp - 0x28], r15
test sil, r10b
je 0x1400c5023
lea r9, [0x140000000]
mov eax, r12d
cdq
and edx, 0x7f
add eax, edx
mov ecx, eax
and eax, 0x7f
sub eax, edx
sar ecx, 7
cdqe
movsxd rcx, ecx
movzx edx, byte [rcx + r9 + 0xfffc0]
shl rdx, 7
add rdx, rax
movzx eax, word [r9 + rdx*2 + 0x1021c0]
mov eax, dword [r9 + rax*8 + 0xfeee4]
lea ecx, [r12 + rax]
cmp ecx, r12d
je 0x1400c5023
mov eax, ecx
mov word [r15], si
and eax, 0xf800
cmp eax, ebx
je 0x1400c4ff9
cmp ecx, 0x110000
jae 0x1400c4ff9
cmp ecx, 0xffff
jbe 0x1400c4ffe
add ecx, 0xffff0000
mov eax, ecx
and cx, di
shr eax, 0xa
or ax, bx
mov word [r15 + 2], ax
mov eax, 0xdc00
or cx, ax
mov eax, r11d
mov word [r15 + 4], cx
jmp 0x1400c5005
mov ecx, 0xfffe
mov word [r15 + 2], cx
mov eax, esi
mov rdi, qword [rsp + 0x70]
cdqe
lea r15, [r15 + rax*2 + 2]
mov qword [rbp - 0x28], r15
jmp 0x1400c4376
mov r8d, dword [rbp - 0x78]
mov r10d, dword [rsp + 0x78]
mov rdi, qword [rsp + 0x70]
jmp 0x1400c4376
mov ecx, dword [rbp - 0x60]
add rdi, 2
mov qword [rsp + 0x70], rdi
mov edi, dword [rbp - 0x44]
mov r14d, edi
mov dword [rbp - 0x78], edi
test ecx, ecx
je 0x1400c50b3
mov r10, qword [rbp - 0x80]
mov r8d, dword [rbp - 0x5c]
mov r9d, dword [rsp + 0x78]
mov r15, qword [rbp - 0x50]
mov edx, dword [rbp - 0x74]
mov rsi, qword [rbp - 0x40]
mov r11, qword [rbp - 0x68]
cmp r8d, 0xfffffffe
mov eax, 0xffffffff
cmove r8d, eax
test r9b, 1
mov ecx, 0
mov eax, ecx
setne al
add r10, 4
add ax, 0x1f
mov dword [rbp - 0x5c], r8d
mov r13d, r8d
mov word [r10 - 4], ax
mov word [r10 - 2], r12w
mov rdi, qword [rsp + 0x70]
mov r12, qword [rbp + 0x118]
mov dword [rbp - 0x48], r8d
mov qword [rbp - 0x80], r10
add rdi, 2
jmp 0x1400c3938
cmp r12d, 0xffff
jle 0x1400c5124
mov eax, r12d
mov edx, 0xd800
and eax, 0xf800
cmp eax, edx
je 0x1400c511e
cmp r12d, 0x110000
jae 0x1400c511e
cmp r12d, 0xffff
jbe 0x1400c5124
mov r10, qword [rbp - 0x80]
mov r9d, dword [rsp + 0x78]
lea eax, [r12 - 0x10000]
mov r12d, eax
mov ecx, 0x3ff
mov esi, 2
shr r12d, 0xa
and ax, cx
mov ecx, 0xdc00
or r12w, dx
or ax, cx
mov word [rbp + 0x42], ax
mov word [rbp + 0x40], r12w
jmp 0x1400c3b1d
mov r12d, 0xfffe
mov r10, qword [rbp - 0x80]
mov r9d, dword [rsp + 0x78]
mov word [rbp + 0x40], r12w
mov esi, 1
jmp 0x1400c3b1d
mov esi, dword [rbp - 0x5c]
mov r14d, dword [rbp - 0x44]
mov r9d, dword [rbp - 0x6c]
cmp esi, 0xfffffffe
mov eax, 0xffffffff
mov dword [rbp - 0x78], r14d
cmove esi, eax
mov dword [rbp - 0x5c], esi
mov r13d, esi
mov dword [rbp - 0x48], esi
test r8d, r8d
je 0x1400c5223
test r9d, r9d
je 0x1400c5178
bt r10d, 0x1d
jae 0x1400c5223
mov r9, qword [rbp - 0x80]
xor eax, eax
mov ecx, WSAGetLastError
mov word [r15], ax
mov word [r9], cx
mov ecx, dword [rbp - 0x60]
add r15, 2
test ecx, ecx
setne al
cmp dword [rbp - 0x70], 0
mov word [r9 + 4], ax
jle 0x1400c51f9
add r9, 6
or ax, 2
mov r8, r15
mov word [r9 - 2], ax
sub r8, r9
lea rcx, [r9 + 0x20]
mov rdx, r9
and r8, 0xfffffffffffffffe
mov qword [rbp - 0x80], r9
call fcn.1400d6960
mov r10, qword [rbp - 0x80]
mov rax, qword [rbp - 0x18]
mov edx, dword [rbp - 0x74]
mov qword [r10], rax
mov rax, qword [rbp - 0x10]
mov qword [r10 + 8], rax
mov rax, qword [rbp - 8]
mov qword [r10 + 0x10], rax
mov rax, qword [rbp]
mov qword [r10 + 0x18], rax
lea r10, [r15 + 0x20]
mov qword [rbp - 0x80], r10
jmp 0x1400c5200
mov r10, r15
mov qword [rbp - 0x80], r15
mov r15, qword [rbp - 0x50]
mov r12, qword [rbp + 0x118]
mov rax, r10
sub rax, r15
sar rax, 1
mov word [r15 + 2], ax
mov rdi, qword [rsp + 0x70]
jmp 0x1400c6f65
mov ecx, dword [rbp - 0x60]
mov r10, qword [rbp - 0x80]
xor eax, eax
cmp ecx, r9d
setne al
add ax, 0x6a
mov word [r10], ax
test rbx, rbx
jne 0x1400c5283
test ecx, ecx
je 0x1400c5263
lea rcx, [rbp - 0x18]
lea edx, [rbx + 0x20]
nop word [rax + rax]
movzx eax, byte [rcx]
inc rcx
dec rdx
not al
mov byte [rcx - 1], al
jne 0x1400c5250
mov edx, dword [rbp - 0x74]
mov rax, qword [rbp - 0x18]
mov qword [r10 + 2], rax
mov rax, qword [rbp - 0x10]
mov qword [r10 + 0xa], rax
mov rax, qword [rbp - 8]
mov qword [r10 + 0x12], rax
mov rax, qword [rbp]
mov qword [r10 + 0x1a], rax
mov rdi, qword [rsp + 0x70]
mov r15, qword [rbp - 0x50]
mov r12, qword [rbp + 0x118]
add r10, 0x22
mov qword [rbp - 0x80], r10
jmp 0x1400c6f65
test esi, esi
je case.0x1400c3d20.12
or eax, 0xffffffff
add rdi, 2
xor r11d, r11d
mov edx, eax
movzx eax, word [rdi]
mov r8d, r11d
cmp ax, 0x30
jb 0x1400c52f7
cmp ax, 0x39
ja 0x1400c52df
movzx eax, ax
add rdi, 2
lea ecx, [r8 + r8*4]
lea r8d, [rax + rcx*2 - 0x30]
movzx eax, word [rdi]
cmp ax, 0x30
jae 0x1400c52c0
test r8d, r8d
js 0x1400c52ed
cmp r8d, 0xffff
jle 0x1400c52f7
mov dword [r12], 5
jmp 0x1400c5307
cmp word [rdi], 0x7d
jne 0x1400c5323
mov edx, r8d
mov dword [rbp - 0x30], r8d
mov dword [rbp - 0x58], edx
mov qword [rsp + 0x70], rdi
cmp dword [r12], r11d
jne 0x1400c7fa3
mov r8d, dword [rbp - 0x58]
mov r9d, dword [rbp - 0x30]
jmp 0x1400c53b3
movzx eax, word [rdi + 2]
add rdi, 2
cmp ax, 0x7d
je 0x1400c5300
mov edx, r11d
cmp ax, 0x30
jb 0x1400c5373
nop word [rax + rax]
cmp ax, 0x39
ja 0x1400c535d
movzx eax, ax
add rdi, 2
lea ecx, [rdx + rdx*4]
lea edx, [rax + rcx*2 - 0x30]
movzx eax, word [rdi]
cmp ax, 0x30
jae 0x1400c5340
test edx, edx
js 0x1400c5369
cmp edx, 0xffff
jle 0x1400c5373
mov dword [r12], 5
jmp 0x1400c5307
cmp edx, r8d
jge 0x1400c5300
mov eax, 4
mov dword [r12], eax
jmp 0x1400c5307
xor r11d, r11d
or eax, 0xffffffff
jmp 0x1400c53a6
mov eax, 1
mov r9d, eax
mov dword [rbp - 0x30], eax
or eax, 0xffffffff
xor r11d, r11d
jmp 0x1400c53ad
xor r11d, r11d
mov eax, 1
mov dword [rbp - 0x30], r11d
mov r9d, r11d
mov r8d, eax
mov dword [rbp - 0x58], eax
test r15, r15
je 0x1400c7d83
test r9d, r9d
jne 0x1400c53d0
mov ebx, r13d
mov esi, r14d
mov dword [rbp - 0x44], r14d
mov dword [rbp - 0x5c], ebx
jmp 0x1400c53d6
mov ebx, dword [rbp - 0x5c]
mov esi, dword [rbp - 0x44]
mov eax, 0x20000000
cmp r9d, r8d
mov rdx, r15
cmove eax, r11d
mov qword [rbp - 0x38], rdx
movzx ecx, word [rdi + 2]
mov dword [rbp - 0x6c], eax
lea rax, [rdi + 2]
mov r12d, r11d
mov dword [rbp - 0x70], r11d
mov r13d, 1
cmp cx, 0x2b
jne 0x1400c541b
mov r15d, r11d
mov r12d, r13d
mov dword [rbp - 0x70], r13d
mov rdi, rax
mov qword [rsp + 0x70], rax
jmp 0x1400c5433
cmp cx, 0x3f
jne 0x1400c542f
mov r15d, dword [rbp + 0x3c]
mov rdi, rax
mov qword [rsp + 0x70], rax
jmp 0x1400c5433
mov r15d, dword [rbp + 0x38]
mov rcx, qword [rbp - 0x50]
cmp word [rcx], 0x6f
jne 0x1400c54d8
mov rdx, qword [rbp - 0x50]
mov edi, 4
add rcx, 4
mov r8d, edi
call fcn.1400d6960
mov r10, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x50]
mov r11, qword [rbp + 0x148]
add r10, 8
mov dword [rcx], 0x4007b
mov dword [rcx + 8], 0x40072
mov qword [rbp - 0x80], r10
lea eax, [rdi + 0x6e]
mov dword [rbp + 8], 6
test r11, r11
jne 0x1400c54c5
mov r9, qword [rbp + 0x140]
mov rax, qword [r9 + 0x20]
mov r8, qword [r9 + 0x48]
add rax, 2
cmp r8, rax
jb 0x1400c54c5
sub rcx, qword [r9 + 0x28]
movzx edx, word [r8 - 2]
add rcx, 2
mov eax, edx
sar rcx, 1
cmp rdx, rcx
mov rcx, qword [rbp - 0x50]
jne 0x1400c54c5
add dx, 2
mov word [r8 - 2], dx
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x38]
mov r8d, dword [rbp - 0x58]
mov r9d, dword [rbp - 0x30]
jmp 0x1400c54df
mov r11, qword [rbp + 0x148]
movzx eax, word [rcx]
cmp ax, 0x1d
je 0x1400c5d86
cmp ax, 0x1e
je 0x1400c5d86
cmp ax, 0x1f
je 0x1400c5d21
cmp ax, 0x20
je 0x1400c5d21
cmp ax, 0x17
jae 0x1400c551d
mov ebx, reloc.WSOCK32.dll_gethostbyname
movzx esi, ax
jmp 0x1400c5d39
cmp ax, 0x6a
je 0x1400c5c42
cmp ax, 0x6b
je 0x1400c5c42
cmp ax, 0x6c
je 0x1400c5c42
cmp ax, 0x6d
je 0x1400c5c42
cmp ax, 0x6e
je 0x1400c5c42
cmp ax, 0x77
jb 0x1400c5c22
mov r12d, 0x81
cmp ax, r12w
ja 0x1400c5c22
xor r12d, r12d
mov r13, r10
sub r13, rcx
mov r14d, r12d
sar r13, 1
cmp ax, word [rbp + 0x60]
jne 0x1400c5596
mov r11d, 0x8b
cmp word [rcx + 4], r11w
mov r11, qword [rbp + 0x148]
je 0x1400c62a5
cmp ax, 0x7b
jae 0x1400c55bd
test r9d, r9d
jg 0x1400c62a5
test r8d, r8d
js 0x1400c55b0
cmp r8d, 1
jle 0x1400c55bd
mov eax, 1
mov r8d, eax
mov dword [rbp - 0x58], eax
jmp 0x1400c55c2
mov eax, 1
test r9d, r9d
jne 0x1400c56b1
mov r9, qword [rbp - 0x20]
cmp r8d, 1
mov r8, qword [rbp + 0x140]
jg 0x1400c564a
xor eax, eax
mov word [r10], ax
lea edx, [rax + 1]
call fcn.1400c28f0
mov rdi, qword [rbp - 0x50]
lea eax, [r13 + r13]
lea rbx, [rdi + 2]
movsxd r8, eax
mov rdx, rdi
mov rcx, rbx
call fcn.1400d6960
mov r10, qword [rbp - 0x80]
mov r11d, dword [rbp - 0x58]
add r10, 2
mov qword [rbp - 0x80], r10
test r11d, r11d
jne 0x1400c5627
mov eax, 0x9b
mov word [rdi], ax
jmp 0x1400c62a0
mov eax, 0x8c
mov r12, rdi
mov qword [rbp - 0x50], rbx
add eax, r15d
dec r11d
mov word [rdi], ax
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x38]
jmp 0x1400c5859
xor edi, edi
mov word [r10], di
lea edx, [rdi + 3]
call fcn.1400c28f0
mov rbx, qword [rbp - 0x50]
lea r11d, [r13 + r13]
lea rcx, [rbx + 6]
movsxd r8, r11d
mov rdx, rbx
call fcn.1400d6960
mov r9, qword [rbp - 0x80]
mov r11d, dword [rbp - 0x58]
add r9, 6
mov eax, 0x8c
lea r14, [rbx + 4]
add eax, r15d
add rbx, 6
mov qword [rbp - 0x80], r9
mov word [rbx - 6], ax
mov eax, 0x7d
mov qword [rbp - 0x50], rbx
mov dword [rbx - 4], eax
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x38]
dec r11d
jmp 0x1400c5859
cmp r9d, 1
jle 0x1400c584d
test r11, r11
je 0x1400c570f
mov eax, dword [rbp + 8]
lea ecx, [r9 - 1]
mov r8d, ecx
movd xmm1, ecx
movd xmm0, eax
imul r8d, eax
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
comisd xmm1, xmmword [0x140111448]
ja 0x1400c7d71
mov ecx, dword [r11]
mov eax, 0x7fffffeb
sub eax, ecx
cmp eax, r8d
jl 0x1400c7d71
lea eax, [r8 + rcx]
mov dword [r11], eax
jmp 0x1400c584d
cmp dword [rbp + 0x1c], r12d
je 0x1400c571d
test esi, esi
cmovs esi, ebx
mov dword [rbp - 0x44], esi
mov esi, eax
cmp r9d, 1
jle 0x1400c584d
mov rdx, qword [rbp + 0x140]
lea eax, [r13 + r13]
movsxd rdi, eax
nop dword [rax + rax]
mov rbx, qword [rdx + 0x48]
mov rdx, rcx
mov r8, rdi
mov rcx, r10
call fcn.1400d6960
mov rdx, qword [rbp + 0x140]
mov r8, qword [rbp - 0x20]
mov r11, qword [rdx + 0x20]
movsxd rcx, dword [rdx + 0x60]
mov rax, rbx
sub rax, r8
sar rax, 1
imul rax, rax, 0xfffffffffffffffe
add rax, r11
lea rcx, [rax + rcx*2 - 0xc8]
cmp qword [rdx + 0x48], rcx
jbe 0x1400c57f8
nop word [rax + rax]
sub r8, r11
sub rbx, r11
mov rcx, rdx
sar r8, 1
sar rbx, 1
mov qword [rbp - 0x20], r8
call fcn.1400c0cd0
mov rcx, qword [rbp + 0x118]
mov dword [rcx], eax
test eax, eax
jne 0x1400c7d28
mov rdx, qword [rbp + 0x140]
mov rax, qword [rbp - 0x20]
mov r11, qword [rdx + 0x20]
cdqe
lea r8, [r11 + rax*2]
movsxd rax, ebx
lea rbx, [r11 + rax*2]
movsxd rax, dword [rdx + 0x60]
mov rcx, rbx
sub rcx, r8
sar rcx, 1
imul rcx, rcx, 0xfffffffffffffffe
lea rcx, [rcx + rax*2]
lea rcx, [rcx + r11 - 0xc8]
cmp qword [rdx + 0x48], rcx
ja 0x1400c5790
cmp r8, rbx
jae 0x1400c581e
nop dword [rax]
mov rax, qword [rdx + 0x48]
movzx ecx, r13w
add r8, 2
add cx, word [r8 - 2]
mov word [rax], cx
add qword [rdx + 0x48], 2
cmp r8, rbx
jb 0x1400c5800
mov r10, qword [rbp - 0x80]
mov r9d, dword [rbp - 0x30]
mov rcx, qword [rbp - 0x50]
movsxd rax, r13d
inc esi
mov qword [rbp - 0x20], rbx
lea r10, [r10 + rax*2]
mov qword [rbp - 0x80], r10
cmp esi, r9d
jl 0x1400c5740
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x38]
mov r11d, dword [rbp - 0x58]
test r11d, r11d
jle 0x1400c5860
sub r11d, r9d
mov dword [rbp - 0x58], r11d
test r11d, r11d
js 0x1400c5a9f
mov r9, qword [rbp + 0x148]
test r9, r9
je 0x1400c590d
test r11d, r11d
jle 0x1400c590d
mov eax, dword [rbp + 8]
movd xmm0, r11d
add eax, 5
mov ecx, eax
movd xmm1, eax
imul ecx, r11d
cvtdq2pd xmm0, xmm0
sub ecx, 4
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
comisd xmm1, xmmword [0x140111448]
ja 0x1400c7d71
mov r8d, dword [r9]
mov eax, 0x7fffffeb
sub eax, r8d
cmp eax, ecx
jl 0x1400c7d71
lea eax, [rcx + r8]
mov dword [r9], eax
mov r10, qword [rbp - 0x80]
mov esi, WSAStartup
test r14, r14
je 0x1400c5c81
nop dword [rax]
mov rcx, r10
mov rdx, r10
sub rcx, r14
sar rcx, 1
inc ecx
movsxd rax, ecx
add rax, rax
sub rdx, rax
movzx eax, word [rdx + 2]
test eax, eax
jne 0x1400c5a79
xor eax, eax
mov r14d, eax
jmp 0x1400c5a80
lea esi, [r11 - 1]
test esi, esi
js 0x1400c58cb
mov r12, qword [rbp + 0x140]
mov r10, qword [rbp - 0x80]
mov eax, 0x8c
add r15w, ax
lea eax, [r13 + r13]
movsxd rdi, eax
mov rbx, qword [r12 + 0x48]
mov word [r10], r15w
add r10, 2
mov qword [rbp - 0x80], r10
test esi, esi
je 0x1400c5973
mov eax, 0x7d
mov word [r10], ax
test r14, r14
jne 0x1400c5958
xor eax, eax
jmp 0x1400c5962
lea rax, [r10 + 2]
sub rax, r14
sar rax, 1
lea r14, [r10 + 2]
mov word [r10 + 2], ax
add r10, 4
mov qword [rbp - 0x80], r10
mov rdx, qword [rbp - 0x50]
mov r8, rdi
mov rcx, r10
call fcn.1400d6960
mov r8, qword [rbp - 0x20]
mov r11, qword [r12 + 0x20]
movsxd rcx, dword [r12 + 0x60]
mov rax, rbx
sub rax, r8
sar rax, 1
imul rax, rax, 0xfffffffffffffffe
add rax, r11
lea rcx, [rax + rcx*2 - 0xc8]
cmp qword [r12 + 0x48], rcx
jbe 0x1400c5a14
nop
sub r8, r11
sub rbx, r11
mov rcx, r12
sar r8, 1
sar rbx, 1
mov qword [rbp - 0x20], r8
call fcn.1400c0cd0
mov rcx, qword [rbp + 0x118]
mov dword [rcx], eax
test eax, eax
jne 0x1400c7d28
mov r11, qword [r12 + 0x20]
mov rax, qword [rbp - 0x20]
cdqe
lea r8, [r11 + rax*2]
movsxd rax, ebx
lea rbx, [r11 + rax*2]
movsxd rax, dword [r12 + 0x60]
mov rcx, rbx
sub rcx, r8
sar rcx, 1
imul rcx, rcx, 0xfffffffffffffffe
lea rcx, [rcx + rax*2]
lea rcx, [rcx + r11 - 0xc8]
cmp qword [r12 + 0x48], rcx
ja 0x1400c59b0
cmp r8, rbx
jae 0x1400c5a50
mov edx, 1
test esi, esi
mov eax, 3
cmovne dx, ax
nop dword [rax]
mov rax, qword [r12 + 0x48]
lea ecx, [rdx + r13]
add r8, 2
add cx, word [r8 - 2]
mov word [rax], cx
add qword [r12 + 0x48], 2
cmp r8, rbx
jb 0x1400c5a30
dec esi
mov r10, qword [rbp - 0x80]
movsxd rax, r13d
lea r10, [r10 + rax*2]
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x80], r10
jns 0x1400c5931
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x38]
jmp 0x1400c58cf
neg rax
lea r14, [r14 + rax*2]
mov word [r10], si
mov word [r10 + 2], cx
add r10, 4
mov word [rdx + 2], cx
test r14, r14
jne 0x1400c58e0
jmp 0x1400c5c74
mov r10, qword [rbp - 0x80]
movzx eax, word [r10 - 2]
add rax, rax
lea rdi, [r10 - 4]
mov rsi, rdi
sub rsi, rax
movzx eax, word [rsi]
cmp ax, 0x7b
je 0x1400c5ac4
cmp ax, 0x7c
jne 0x1400c5ad7
mov r14d, dword [rbp - 0x70]
test r14d, r14d
je 0x1400c5adb
mov eax, 0x7d
mov word [rsi], ax
jmp 0x1400c5aef
mov r14d, dword [rbp - 0x70]
cmp ax, 0x7b
je 0x1400c5c09
cmp ax, 0x7c
je 0x1400c5c09
cmp qword [rbp + 0x148], 0
mov r13, qword [rbp + 0x140]
jne 0x1400c5b41
mov rbx, rsi
nop word [rax + rax]
mov r9, r13
mov r8d, 1
mov rdx, rdi
mov rcx, rbx
call fcn.1400c21e0
test eax, eax
jne 0x1400c5b39
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x71
lea rbx, [rbx + rax*2]
je 0x1400c5b10
jmp 0x1400c5b3d
add word [rsi], 5
mov r10, qword [rbp - 0x80]
test r14d, r14d
je 0x1400c5bfb
movzx eax, word [rsi]
mov ecx, 0x81
cmp ax, cx
je 0x1400c5b71
mov ecx, 0x86
cmp ax, cx
je 0x1400c5b71
inc ax
mov word [rsi], ax
mov eax, 0x75
mov word [rdi], ax
jmp 0x1400c5bcf
mov r9, qword [rbp - 0x20]
xor eax, eax
mov rbx, r10
lea edx, [rax + 2]
sub rbx, rsi
mov r8, r13
mov rcx, rsi
mov word [r10], ax
sar rbx, 1
call fcn.1400c28f0
lea r11d, [rbx + rbx]
lea rcx, [rsi + 4]
movsxd r8, r11d
mov rdx, rsi
call fcn.1400d6960
mov r10, qword [rbp - 0x80]
add ebx, 2
mov eax, 0x7e
add r10, 8
mov word [rsi], ax
mov eax, 0x75
mov qword [rbp - 0x80], r10
mov word [r10 - 4], ax
mov word [r10 - 2], bx
mov word [rsi + 2], bx
test r12, r12
je 0x1400c5bde
mov eax, 0x8e
mov word [r12], ax
cmp dword [rbp - 0x30], 2
mov rdi, qword [rsp + 0x70]
jl 0x1400c62a5
mov rdx, qword [rbp - 0x38]
mov esi, WSAStartup
jmp 0x1400c5c85
add r15w, 0x73
mov word [rdi], r15w
jmp 0x1400c62a0
add r15w, 0x73
mov esi, WSAStartup
mov word [rdi], r15w
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x38]
jmp 0x1400c5c85
mov ecx, 0x97
cmp ax, cx
je 0x1400c62a9
mov rax, qword [rbp + 0x118]
mov dword [rax], reloc.WSOCK32.dll_inet_ntoa
jmp 0x1400c7fa3
mov r11d, dword [rbp - 0x58]
test r11d, r11d
jne 0x1400c5c57
mov r10, rcx
mov qword [rbp - 0x80], rcx
jmp 0x1400c62a9
test r9d, r9d
jne 0x1400c5ccb
cmp r11d, 0xffffffff
jne 0x1400c5cbe
add r15w, 0x62
mov word [r10], r15w
add r10, 2
mov esi, WSAStartup
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x38]
mov qword [rbp - 0x80], r10
mov r14d, dword [rbp - 0x70]
xor r9d, r9d
test r14d, r14d
je 0x1400c62a5
movzx eax, word [rdx]
cmp ax, 0x5d
jne 0x1400c6103
movzx eax, word [rdx + 4]
cmp ax, 0x10
je 0x1400c60b1
cmp ax, 0xf
je 0x1400c60b1
mov eax, r9d
jmp 0x1400c60b6
cmp r11d, 1
jne 0x1400c5cde
add r15w, 0x66
jmp 0x1400c5c67
cmp r9d, 1
jne 0x1400c5cde
cmp r11d, 0xffffffff
jne 0x1400c5cde
add r15w, 0x64
jmp 0x1400c5c67
mov r14d, dword [rbp - 0x70]
add r15w, 0x68
cmp r11d, 0xffffffff
mov word [r10], r15w
mov word [r10 + 2], r9w
mov r9d, 0
cmove r11d, r9d
add r10, 6
lea esi, [r9 + 0x72]
mov word [r10 - 2], r11w
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x38]
mov qword [rbp - 0x80], r10
mov dword [rbp - 0x58], r11d
jmp 0x1400c5c88
movzx esi, word [rcx + 2]
cmp ax, 0x1f
mov ebx, 0x48
mov eax, 0x3b
cmove ebx, eax
sub ebx, 0x21
mov r11d, dword [rbp - 0x58]
test r12d, r12d
jne 0x1400c5e5b
test r11d, r11d
jns 0x1400c5e5b
mov r9, qword [rbp + 0x140]
mov r8d, dword [rsp + 0x78]
lea rdx, [rdi + 2]
call fcn.1400c2d00
test eax, eax
je 0x1400c5e4e
mov rdi, qword [rsp + 0x70]
mov rcx, qword [rbp - 0x50]
mov r11d, dword [rbp - 0x58]
xor eax, eax
mov r14d, r13d
mov r15d, eax
jmp 0x1400c5e5f
cmp ax, 0x1d
mov ecx, ntohs
lea rdx, [r10 - 2]
mov ebx, ecx
movzx ecx, word [rdx]
mov r14d, 0
cmove ebx, r14d
mov r11d, 0xfc00
movzx eax, cx
and ax, r11w
mov r8d, 0xdc00
cmp ax, r8w
jne 0x1400c5e2e
movzx eax, cx
and ax, r11w
cmp ax, r8w
jne 0x1400c5dcc
sub rdx, 2
mov rsi, r10
lea rcx, [rbp + 0xa0]
sub rsi, rdx
sar rsi, 1
lea eax, [rsi + rsi]
movsxd r8, eax
call fcn.1400d6960
bts esi, 0x1c
mov rax, qword [rbp + 0x140]
mov r11d, dword [rbp - 0x58]
mov rcx, qword [rbp - 0x50]
test r12d, r12d
jne 0x1400c5e5b
test r11d, r11d
jns 0x1400c5e5b
mov r8d, dword [rsp + 0x78]
lea rdx, [rdi + 2]
mov r9, rax
call fcn.1400c2d00
test eax, eax
je 0x1400c5e4e
mov rdi, qword [rsp + 0x70]
mov rcx, qword [rbp - 0x50]
mov r11d, dword [rbp - 0x58]
mov r15d, r14d
mov r14d, r13d
jmp 0x1400c5e5f
movzx esi, cx
cmp r9d, 1
jle 0x1400c5deb
mov rax, qword [rbp + 0x140]
mov ecx, dword [rax + 0x80]
or ecx, esi
or ecx, dword [rbp + 0xc]
mov dword [rbp - 0x44], ecx
jmp 0x1400c5df2
mov rdi, qword [rsp + 0x70]
mov rcx, qword [rbp - 0x50]
mov r11d, dword [rbp - 0x58]
mov r14d, dword [rbp - 0x70]
movzx eax, word [rcx]
cmp ax, 0x10
je 0x1400c5e79
cmp ax, 0xf
je 0x1400c5e79
or eax, 0xffffffff
mov r13d, eax
mov r12d, eax
jmp 0x1400c5e83
movzx r12d, word [rcx + 2]
movzx r13d, word [rcx + 4]
mov r9, qword [rbp - 0x80]
mov r10, rcx
mov qword [rbp - 0x80], rcx
mov rax, r9
test r11d, r11d
je 0x1400c62a5
mov edx, dword [rbp - 0x30]
add r15d, ebx
test edx, edx
jne 0x1400c5ee7
lea r10, [rcx + 2]
cmp r11d, 0xffffffff
jne 0x1400c5ebc
add r15w, 0x21
mov word [rcx], r15w
jmp 0x1400c6048
cmp r11d, 1
jne 0x1400c5ed0
add r15w, 0x25
mov word [rcx], r15w
jmp 0x1400c6048
add r15w, 0x27
add r10, 2
mov word [rcx], r15w
mov word [r10 - 2], r11w
jmp 0x1400c6048
cmp edx, 1
jne 0x1400c5f33
cmp r11d, 0xffffffff
jne 0x1400c5f04
add r15w, 0x23
lea r10, [rcx + 2]
mov word [rcx], r15w
jmp 0x1400c6048
mov r10, rax
mov qword [rbp - 0x80], rax
cmp r11d, 1
je 0x1400c62a5
lea r10, [r9 + 2]
add r15w, 0x27
lea eax, [r11 - 1]
mov word [r9], r15w
mov word [r10], ax
add r10, 2
jmp 0x1400c6048
lea r10, [rcx + 2]
add bx, 0x29
add r10, 2
mov word [rcx], bx
mov word [r10 - 2], dx
mov qword [rbp - 0x80], r10
test r11d, r11d
jns 0x1400c5fbe
bt esi, 0x1c
jae 0x1400c5f91
mov eax, esi
lea rdx, [rbp + 0xa0]
mov rcx, r10
and eax, 7
add eax, eax
movsxd r8, eax
call fcn.1400d6960
mov r10, qword [rbp - 0x80]
mov r11d, esi
and r11d, 7
add r15w, 0x21
lea r10, [r10 + r11*2]
add r10, 2
mov word [r10 - 2], r15w
jmp 0x1400c6048
mov word [r10], si
add r10, 2
test r12d, r12d
js 0x1400c5fab
mov word [r10], r12w
mov word [r10 + 2], r13w
add r10, 4
add r15w, 0x21
add r10, 2
mov word [r10 - 2], r15w
jmp 0x1400c6048
cmp r11d, edx
je 0x1400c604c
bt esi, 0x1c
jae 0x1400c5ffe
mov eax, esi
lea rdx, [rbp + 0xa0]
mov rcx, r10
and eax, 7
add eax, eax
movsxd r8, eax
call fcn.1400d6960
mov r10, qword [rbp - 0x80]
mov edx, dword [rbp - 0x30]
mov r11d, esi
and r11d, 7
lea r10, [r10 + r11*2]
mov r11d, dword [rbp - 0x58]
jmp 0x1400c6006
mov word [r10], si
add r10, 2
test r12d, r12d
js 0x1400c6018
mov word [r10], r12w
mov word [r10 + 2], r13w
add r10, 4
sub r11d, edx
mov dword [rbp - 0x58], r11d
cmp r11d, 1
jne 0x1400c6035
add r15w, 0x25
add r10, 2
mov word [r10 - 2], r15w
jmp 0x1400c6048
add r15w, 0x27
add r10, 4
mov word [r10 - 4], r15w
mov word [r10 - 2], r11w
mov qword [rbp - 0x80], r10
bt esi, 0x1c
jae 0x1400c607c
mov eax, esi
lea rdx, [rbp + 0xa0]
mov rcx, r10
and eax, 7
add eax, eax
movsxd r8, eax
call fcn.1400d6960
mov r10, qword [rbp - 0x80]
mov r11d, esi
and r11d, 7
lea r10, [r10 + r11*2]
jmp 0x1400c6084
mov word [r10], si
add r10, 2
mov qword [rbp - 0x80], r10
mov esi, WSAStartup
test r12d, r12d
js 0x1400c60a3
mov word [r10], r12w
mov word [r10 + 2], r13w
add r10, 4
mov qword [rbp - 0x80], r10
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x38]
jmp 0x1400c5c85
mov eax, 2
add eax, 3
movsxd rcx, eax
lea rdx, [rdx + rcx*2]
mov qword [rbp - 0x38], rdx
lea r8, [0x140000000]
mov rbx, r10
sub rbx, rdx
sar rbx, 1
test ebx, ebx
jle 0x1400c62a5
movzx eax, word [rdx]
add eax, 0xffffffdf
cmp eax, 0x3a
ja case.0x1400c6101.53
cdqe
movzx eax, byte [r8 + rax + 0xc8140]
mov ecx, dword [r8 + rax*4 + 0xc80ec]
add rcx, r8
jmp rcx
cmp ax, 0x29
je 0x1400c610f
cmp ax, 0x43
jne 0x1400c60c4
movzx eax, ax
mov ecx, 0xfc00
lea r8, [0x140000000]
movzx eax, byte [rax + r8 + 0xfe6b0]
lea rdx, [rdx + rax*2]
mov qword [rbp - 0x38], rdx
movzx eax, word [rdx - 2]
and ax, cx
mov ecx, 0xd800
cmp ax, cx
jne 0x1400c60cb
add rdx, 2
mov qword [rbp - 0x38], rdx
jmp 0x1400c60cb
mov eax, 0x2a
mov word [rdx], ax
jmp 0x1400c62a0
mov eax, 0x2b
mov word [rdx], ax
jmp 0x1400c62a0
mov eax, 0x2c
mov word [rdx], ax
jmp 0x1400c62a0
mov eax, 0x2d
mov word [rdx], ax
jmp 0x1400c62a0
mov eax, reloc.WSOCK32.dll_getservbyname
mov word [rdx], ax
jmp 0x1400c62a0
mov eax, reloc.WSOCK32.dll_getservbyport
mov word [rdx], ax
jmp 0x1400c62a0
mov eax, reloc.WSOCK32.dll_gethostname
mov word [rdx], ax
jmp 0x1400c62a0
mov eax, 0x3a
mov word [rdx], ax
jmp 0x1400c62a0
mov eax, 0x44
mov word [rdx], ax
jmp 0x1400c62a0
mov eax, 0x45
mov word [rdx], ax
jmp 0x1400c62a0
mov eax, 0x46
mov word [rdx], ax
jmp 0x1400c62a0
mov eax, 0x47
mov word [rdx], ax
jmp 0x1400c62a0
mov eax, 0x51
mov word [rdx], ax
jmp 0x1400c62a0
mov eax, 0x52
mov word [rdx], ax
jmp 0x1400c62a0
mov eax, 0x53
mov word [rdx], ax
jmp 0x1400c62a0
mov eax, 0x54
mov word [rdx], ax
jmp 0x1400c62a0
mov eax, 0x5e
mov word [rdx], ax
jmp 0x1400c62a0
mov eax, 0x5f
mov word [rdx], ax
jmp 0x1400c62a0
mov eax, 0x60
mov word [rdx], ax
jmp 0x1400c62a0
mov eax, WSAAsyncSelect
mov word [rdx], ax
jmp 0x1400c62a0
mov r8, qword [rbp + 0x140]
mov word [r10], r9w
mov r9, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x38]
mov edx, 2
call fcn.1400c28f0
mov rdx, qword [rbp - 0x38]
lea r11d, [rbx + rbx]
lea rcx, [rdx + 4]
movsxd r8, r11d
call fcn.1400d6960
mov rax, qword [rbp - 0x38]
mov r10, qword [rbp - 0x80]
add ebx, 2
mov ecx, 0x7b
add r10, 8
mov word [rax], cx
mov word [r10 - 4], si
mov word [r10 - 2], bx
mov rax, qword [rbp - 0x38]
mov qword [rbp - 0x80], r10
mov word [rax + 2], bx
mov rdi, qword [rsp + 0x70]
mov r14d, dword [rbp - 0x78]
mov rcx, qword [rbp + 0x140]
mov r13d, dword [rbp - 0x48]
mov r12, qword [rbp + 0x118]
xor eax, eax
mov r15d, eax
mov qword [rbp - 0x50], rax
mov eax, dword [rbp - 0x6c]
or dword [rcx + 0x80], eax
jmp 0x1400c6f62
mov rbx, qword [r11 + 0x48]
add rdi, 2
xor eax, eax
mov qword [rsp + 0x70], rdi
movzx edx, word [rdi]
mov qword [rbp - 0x20], rbx
xor ebx, ebx
mov r15d, r9d
mov dword [rbp - 0x28], r9d
mov dword [rbp - 0x70], eax
mov dword [rbp - 0x6c], 0x7f
mov esi, 0xff
mov dword [rbp - 0x60], ebx
cmp dx, 0x2a
jne 0x1400c65a3
movzx eax, word [rdi + 2]
lea r9, [rdi + 2]
mov qword [rbp + 0x28], r9
cmp ax, 0x3a
je 0x1400c6339
cmp ax, si
ja 0x1400c659e
movzx ecx, ax
mov rax, qword [r11 + 0x18]
test byte [rcx + rax], 2
je 0x1400c659e
mov qword [rsp + 0x70], r9
movzx eax, word [r9]
mov r15d, ebx
lea r14, [0x14010df98]
mov qword [rbp + 0x20], rbx
mov qword [rbp - 0x50], rbx
mov rdi, r9
cmp ax, si
ja 0x1400c637a
mov rcx, qword [r11 + 0x18]
movzx eax, ax
test byte [rax + rcx], 2
je 0x1400c637a
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx eax, word [rdi]
cmp ax, si
jbe 0x1400c6360
mov r13, rdi
sub r13, r9
sar r13, 1
cmp word [rdi], 0x3a
jne 0x1400c63c1
add rdi, 2
mov qword [rsp + 0x70], rdi
mov rcx, rdi
movzx eax, word [rdi]
mov qword [rbp + 0x20], rcx
test ax, ax
je 0x1400c63b8
cmp ax, 0x29
je 0x1400c63b8
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx eax, word [rdi]
test ax, ax
jne 0x1400c63a1
mov r15, rdi
sub r15, rcx
sar r15, 1
cmp word [rdi], 0x29
jne 0x1400c7db4
mov r12d, ebx
mov rsi, rbx
lea rbx, [0x14010dfd0]
mov r11d, dword [rbx]
cmp r13d, r11d
jne 0x1400c63f6
mov r8d, r13d
mov rdx, r14
mov rcx, r9
call fcn.1400d4ce0
test eax, eax
je 0x1400c6422
mov r9, qword [rbp + 0x28]
lea eax, [r11 + 1]
inc r12d
inc rsi
movsxd rcx, eax
add rbx, 0xc
add r14, rcx
cmp r12d, 9
jl 0x1400c63d8
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x3c
jmp 0x1400c7fa3
lea rax, [rsi + rsi*2]
lea rdx, [0x14010dfd0]
mov ecx, dword [rdx + rax*4 + 4]
cmp ecx, 0x98
jne 0x1400c64ba
test r15d, r15d
jne 0x1400c7d90
mov rdx, qword [rbp + 0x140]
mov r10, qword [rbp - 0x80]
mov eax, 1
mov rcx, qword [rdx + 0x40]
mov dword [rdx + 0x84], eax
test rcx, rcx
je 0x1400c6490
mov edx, 0x9a
nop word [rax + rax]
mov word [r10], dx
movzx eax, word [rcx + 8]
add r10, 4
mov word [r10 - 2], ax
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1400c6470
mov rdx, qword [rbp + 0x140]
xor ecx, ecx
cmp dword [rdx + 0x74], ecx
mov eax, ecx
setg al
add r10, 2
add ax, 0x98
cmp dword [rbp - 0x5c], 0xfffffffe
mov qword [rbp - 0x80], r10
mov word [r10 - 2], ax
jne 0x1400c64f4
mov dword [rbp - 0x5c], 0xffffffff
jmp 0x1400c64f4
test r15d, r15d
jne 0x1400c652f
test ecx, ecx
js 0x1400c7da2
mov r10, qword [rbp - 0x80]
movzx eax, cx
mov word [r10], cx
add r10, 2
mov ecx, reloc.OLEAUT32.dll_SysStringByteLen
mov qword [rbp - 0x80], r10
cmp ax, cx
jne 0x1400c64f2
mov rax, qword [rbp + 0x140]
or dword [rax + 0x7c], 0x1000
xor ecx, ecx
mov rdi, qword [rsp + 0x70]
cmp r12d, 9
jge 0x1400c6410
mov r13d, dword [rbp - 0x48]
mov r14d, dword [rbp - 0x78]
mov r15, qword [rbp - 0x50]
mov r12, qword [rbp + 0x118]
mov edx, dword [rbp - 0x74]
mov r9d, dword [rsp + 0x78]
mov rsi, qword [rbp - 0x40]
mov r11, qword [rbp - 0x68]
add rdi, 2
jmp 0x1400c3938
cmp dword [rdx + rax*4 + 8], 0
jl 0x1400c7d90
movzx eax, word [rdx + rax*4 + 8]
mov r9, qword [rbp - 0x80]
mov ecx, 0x95
mov word [r9], ax
cmp ax, cx
jne 0x1400c655f
mov rax, qword [rbp + 0x140]
or dword [rax + 0x7c], 0x1000
mov rdx, qword [rbp + 0x20]
lea eax, [r15 + r15]
mov word [r9 + 2], r15w
add r9, 4
movsxd r8, eax
mov rcx, r9
mov qword [rbp - 0x80], r9
call fcn.1400d6960
mov r10, qword [rbp - 0x80]
xor ecx, ecx
movsxd r11, r15d
lea r10, [r10 + r11*2]
add r10, 2
mov word [r10 - 2], cx
mov qword [rbp - 0x80], r10
jmp 0x1400c64f4
mov r9d, dword [rsp + 0x78]
cmp dx, 0x3f
jne 0x1400c6edc
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx r8d, word [rdi]
lea eax, [r8 - 0x21]
cmp eax, 0x5b
ja case.0x1400c65e2.47
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0xc81b8]
mov ecx, dword [rdx + rax*4 + 0xc817c]
add rcx, rdx
jmp rcx
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx eax, word [rdi]
test ax, ax
je 0x1400c660c
cmp ax, 0x29
je 0x1400c6619
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx eax, word [rdi]
test ax, ax
jne 0x1400c65f5
mov dword [r12], reloc.OLEAUT32.dll_SafeArrayGetUBound
jmp 0x1400c7fa3
cmp word [rdi], bx
je 0x1400c660c
mov r15, qword [rbp - 0x50]
mov edx, dword [rbp - 0x74]
mov rsi, qword [rbp - 0x40]
mov r11, qword [rbp - 0x68]
xor ecx, ecx
add rdi, 2
jmp 0x1400c3938
mov r12d, 1
jmp 0x1400c6643
mov r12d, ebx
mov eax, 0x7d
add rdi, 2
mov r11d, ebx
mov r8d, eax
mov dword [rbp - 0x6c], eax
mov rax, qword [rbp + 0x140]
mov qword [rsp + 0x70], rdi
jmp 0x1400c733b
cmp word [rdi + 2], 0x3f
mov r14d, 0x81
mov dword [rbp - 0x6c], r14d
jne 0x1400c6699
movzx eax, word [rdi + 4]
cmp ax, 0x3d
je 0x1400c730f
cmp ax, 0x21
je 0x1400c730f
cmp ax, 0x3c
je 0x1400c730f
mov eax, 0x87
or r8d, 0xffffffff
mov word [r10 + 4], ax
mov rdi, qword [rsp + 0x70]
mov eax, 2
lea rdx, [rdi + 2]
mov r11d, eax
mov dword [rbp - 0x70], eax
movzx eax, word [rdx]
mov r9d, r8d
cmp ax, 0x52
jne 0x1400c66eb
cmp word [rdi + 4], 0x26
lea rcx, [rdi + 4]
jne 0x1400c66eb
mov qword [rsp + 0x70], rcx
mov eax, 0x89
mov r14d, r8d
mov word [r10 + 4], ax
mov rdi, qword [rsp + 0x70]
jmp 0x1400c6730
cmp ax, 0x3c
jne 0x1400c6700
mov eax, 0x3e
mov qword [rsp + 0x70], rdx
mov r14d, eax
jmp 0x1400c672d
cmp ax, 0x27
jne 0x1400c6715
mov eax, 0x27
mov qword [rsp + 0x70], rdx
mov r14d, eax
jmp 0x1400c672d
mov r14d, ebx
cmp ax, 0x2d
je 0x1400c6724
cmp ax, 0x2b
jne 0x1400c6730
mov qword [rsp + 0x70], rdx
movzx r9d, word [rdx]
mov rdi, rdx
movzx eax, word [rdi + 2]
lea rcx, [rdi + 2]
cmp ax, si
ja 0x1400c7e36
mov r10, qword [rbp + 0x140]
movzx eax, ax
mov r8, qword [r10 + 0x18]
test byte [rax + r8], 0x10
je 0x1400c7e36
mov qword [rsp + 0x70], rcx
movzx edx, word [rcx]
mov r12d, ebx
mov rdi, rcx
mov r13, rcx
cmp dx, si
ja 0x1400c67b1
or ebx, 0xffffffff
movzx eax, dx
test byte [rax + r8], 0x10
je 0x1400c67af
test r12d, r12d
js 0x1400c679f
cmp dx, 0x30
jb 0x1400c679c
cmp dx, 0x39
ja 0x1400c679c
lea ecx, [r12 + r12*4]
movzx eax, dx
lea r12d, [rax + rcx*2 - 0x30]
jmp 0x1400c679f
mov r12d, ebx
add rdi, r11
mov qword [rsp + 0x70], rdi
movzx edx, word [rdi]
cmp dx, si
jbe 0x1400c6773
xor ebx, ebx
mov rsi, rdi
sub rsi, r13
sar rsi, 1
test r14d, r14d
jle 0x1400c67d3
movzx eax, word [rdi]
add rdi, r11
mov qword [rsp + 0x70], rdi
cmp eax, r14d
jne 0x1400c7e21
movzx eax, word [rdi]
add rdi, r11
mov qword [rsp + 0x70], rdi
cmp ax, 0x29
jne 0x1400c7e21
cmp qword [rbp + 0x148], 0
jne 0x1400c7330
test r9d, r9d
jle 0x1400c6847
test r12d, r12d
jle 0x1400c7dd4
cmp r9d, 0x2d
jne 0x1400c6817
mov eax, dword [r10 + 0x64]
sub eax, r12d
lea r12d, [rax + 1]
jmp 0x1400c681b
add r12d, dword [r10 + 0x64]
test r12d, r12d
jle 0x1400c7dc1
cmp r12d, dword [r10 + 0x68]
jg 0x1400c7dc1
mov r9, qword [rbp - 0x80]
mov r8d, dword [rbp - 0x6c]
mov rax, r10
mov word [r9 + 6], r12w
mov r12d, dword [rbp - 0x60]
jmp 0x1400c733f
mov edi, dword [r10 + 0x58]
mov r11, qword [r10 + 0x50]
mov dword [rbp - 0x28], edi
test edi, edi
jle 0x1400c688c
mov rdi, r10
nop dword [rax]
lea rdx, [r11 + 2]
mov r8d, esi
mov rcx, r13
call fcn.1400d4ca0
test eax, eax
je 0x1400c6882
movsxd rax, dword [rdi + 0x5c]
inc ebx
lea r11, [r11 + rax*2]
cmp ebx, dword [rdi + 0x58]
jl 0x1400c6860
mov edi, dword [rbp - 0x28]
mov r10, qword [rbp + 0x140]
cmp ebx, edi
jge 0x1400c68ba
movzx eax, word [r11]
mov r9, qword [rbp - 0x80]
inc word [r9 + 4]
mov word [r9 + 6], ax
mov r8d, dword [rbp - 0x6c]
mov r11d, dword [rbp - 0x70]
mov r12d, dword [rbp - 0x60]
mov rax, qword [rbp + 0x140]
jmp 0x1400c733f
mov r9d, dword [rsp + 0x78]
mov r8d, esi
mov rdx, r13
shr r9d, 3
mov rcx, r10
and r9d, 1
call fcn.1400c1bf0
test eax, eax
jg 0x1400c6894
test r14d, r14d
jne 0x1400c7de6
cmp word [r13], 0x52
jne 0x1400c6950
xor eax, eax
mov r8d, 1
mov ecx, eax
cmp esi, r8d
jle 0x1400c6933
nop dword [rax]
movsxd rax, r8d
movzx edx, word [r13 + rax*2]
cmp dx, 0x30
jb 0x1400c7de6
cmp dx, 0x39
ja 0x1400c7de6
lea ecx, [rcx + rcx*4]
movzx eax, dx
inc r8d
lea ecx, [rax + rcx*2 - 0x30]
cmp r8d, esi
jl 0x1400c6900
test ecx, ecx
jne 0x1400c6938
mov ecx, 0xffff
mov r9, qword [rbp - 0x80]
mov eax, 0x89
mov word [r9 + 4], ax
mov word [r9 + 6], cx
jmp 0x1400c68a2
cmp esi, 6
jne 0x1400c69b7
mov eax, esi
lea r8, str.DEFINE
nop
movzx ecx, word [r13]
movzx edx, byte [r8]
dec eax
add r13, 2
inc r8
cmp cx, dx
jne 0x1400c697d
test eax, eax
jne 0x1400c6960
jmp 0x1400c698d
xor eax, eax
cmp cx, dx
seta al
lea eax, [rax + rax - 1]
test eax, eax
jne 0x1400c69b7
mov r9, qword [rbp - 0x80]
mov r8d, dword [rbp - 0x6c]
mov r12d, dword [rbp - 0x60]
mov rax, qword [rbp + 0x140]
mov edi, 0x8b
mov ecx, 1
mov word [r9 + 4], di
mov r11d, ecx
jmp 0x1400c7349
test r12d, r12d
jle 0x1400c7dfe
mov rax, qword [rbp + 0x140]
cmp r12d, dword [rax + 0x68]
jg 0x1400c7dfe
mov r9, qword [rbp - 0x80]
mov r8d, dword [rbp - 0x6c]
mov r11d, dword [rbp - 0x70]
mov word [r9 + 6], r12w
mov r12d, dword [rbp - 0x60]
jmp 0x1400c733f
inc dword [r11 + 0x74]
mov r8d, 0x77
mov dword [rbp - 0x6c], r8d
mov rax, qword [rbp + 0x140]
add rdi, 2
mov r11d, ebx
mov qword [rsp + 0x70], rdi
mov r12d, ebx
jmp 0x1400c733b
add rdi, 2
mov qword [rsp + 0x70], rdi
cmp word [rdi], 0x29
jne 0x1400c6a57
mov edx, dword [rbp - 0x74]
mov rsi, qword [rbp - 0x40]
mov r11, qword [rbp - 0x68]
add r10, 2
mov eax, 0x97
xor ecx, ecx
mov word [r10 - 2], ax
mov rdi, qword [rsp + 0x70]
mov r15, rbx
mov qword [rbp - 0x80], r10
mov qword [rbp - 0x50], rbx
add rdi, 2
jmp 0x1400c3938
inc dword [r11 + 0x74]
mov rax, qword [rbp + 0x140]
mov r8d, 0x78
mov dword [rbp - 0x6c], r8d
mov r11d, ebx
mov r12d, ebx
jmp 0x1400c733b
movzx eax, word [rdi + 2]
cmp eax, 0x21
je 0x1400c6b71
cmp eax, 0x3d
je 0x1400c6b48
cmp ax, si
ja 0x1400c7e46
mov ecx, eax
mov rax, qword [r11 + 0x18]
test byte [rcx + rax], 0x10
je 0x1400c7e46
cmp r8w, 0x3c
mov eax, 0x3e
mov edx, 0x27
cmove edx, eax
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx eax, word [rdi]
mov r9, rdi
mov qword [rbp + 0x20], rdi
cmp ax, si
ja 0x1400c6aee
mov rcx, qword [r11 + 0x18]
movzx eax, ax
test byte [rax + rcx], 0x10
je 0x1400c6aee
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx eax, word [rdi]
cmp ax, si
jbe 0x1400c6ad4
mov rcx, rdi
sub rcx, r9
sar rcx, 1
mov qword [rbp + 0x28], rcx
cmp qword [rbp + 0x148], rbx
je 0x1400c6d25
movzx eax, word [rdi]
cmp eax, edx
jne 0x1400c7e84
cmp dword [r11 + 0x58], 0x2710
jge 0x1400c7e77
lea eax, [rcx + 2]
cmp eax, dword [r11 + 0x5c]
jle 0x1400c6e6d
mov dword [r11 + 0x5c], eax
cmp ecx, 0x20
jle 0x1400c6e6d
mov dword [r12], gethostbyname
jmp 0x1400c7fa3
mov r8d, 0x79
inc dword [r11 + 0x74]
mov rax, qword [rbp + 0x140]
add rdi, 4
mov qword [rsp + 0x70], rdi
mov dword [rbp - 0x6c], r8d
mov r11d, ebx
mov r12d, ebx
jmp 0x1400c733b
mov r8d, 0x7a
jmp 0x1400c6b4e
mov eax, 0x7b
mov r8d, eax
mov dword [rbp - 0x6c], eax
jmp 0x1400c69f9
xor ecx, ecx
mov eax, reloc.WSOCK32.dll_WSASetLastError
mov rsi, r10
mov word [r10], ax
mov rdi, qword [rsp + 0x70]
mov qword [rbp - 0x40], r10
mov qword [rbp + 0x30], rdi
add r10, 2
mov r9, rdi
add rdi, 2
mov dword [rbp + 0x18], 1
mov r8d, ecx
mov qword [rsp + 0x70], rdi
movzx edx, word [rdi]
mov qword [rbp - 0x80], r10
cmp dx, 0x30
jb 0x1400c6bf4
nop dword [rax + rax]
cmp dx, 0x39
ja 0x1400c6bf2
add rdi, 2
movzx eax, dx
lea ecx, [rbx + rbx*4]
mov qword [rsp + 0x70], rdi
movzx edx, word [rdi]
lea ebx, [rax + rcx*2 - 0x30]
cmp dx, 0x30
jae 0x1400c6bd0
xor ecx, ecx
movzx eax, word [rdi]
cmp ax, 0x29
je 0x1400c6c83
test ax, ax
je 0x1400c7e5c
cmp ax, 0x3a
je 0x1400c6c15
mov ebx, ecx
mov rdi, r9
lea rdx, [rdi + 2]
mov qword [rbp + 0x30], rdx
nop dword [rax]
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx eax, word [rdi]
test ax, ax
je 0x1400c7e5c
cmp ax, 0x29
jne 0x1400c6c20
cmp ax, r8w
je 0x1400c7e5c
sub rdi, rdx
lea rcx, [0x14012b510]
xor r9d, r9d
sar rdi, 1
movsxd r8, edi
call fcn.140039d90
mov r8, rax
test rax, rax
je 0x1400c7e57
cmp byte [rax + 0x5d], 0
jne 0x1400c7e57
mov rdi, qword [rsp + 0x70]
mov r11, qword [rbp + 0x140]
mov r10, qword [rbp - 0x80]
mov eax, 0xff
cmp ebx, eax
jg 0x1400c7e6a
mov edx, dword [rbp - 0x74]
mov r9d, dword [rsp + 0x78]
mov word [r10], bx
mov qword [r10 + 2], r8
mov eax, dword [rsp + 0x70]
xor ecx, ecx
sub eax, dword [r11 + 0x30]
mov r11, qword [rbp - 0x68]
mov word [r10 + 0xc], cx
sar rax, 1
add r10, 0xe
mov r15d, ecx
inc ax
mov qword [rbp - 0x80], r10
mov qword [rbp - 0x50], rcx
mov word [r10 - 4], ax
mov rdi, qword [rsp + 0x70]
add rdi, 2
jmp 0x1400c3938
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx r8d, word [rdi]
cmp r8w, 0x3d
je 0x1400c6d0e
cmp r8w, 0x3e
je 0x1400c6d0e
cmp r8w, 0x3c
je case.0x1400c65e2.36
mov dword [r12], 0x29
jmp 0x1400c7fa3
cmp r8w, 0x3e
mov r14d, ebx
mov r11d, 0x29
sete r14b
jmp 0x1400c7657
mov r14d, dword [r11 + 0x58]
xor eax, eax
mov esi, ebx
mov rbx, qword [r11 + 0x50]
movsxd r15, ecx
mov r12d, eax
test r14d, r14d
jle 0x1400c6dea
lea eax, [rcx + rcx]
movsxd r13, eax
nop word [rax + rax]
lea rdx, [rbx + 2]
mov r8, r13
mov rcx, r9
call fcn.1400e1da0
test eax, eax
jne 0x1400c6d94
cmp word [rbx + r15*2 + 2], ax
jne 0x1400c6db4
mov r11, qword [rbp + 0x140]
movzx eax, word [rbx]
mov ecx, dword [r11 + 0x64]
inc ecx
cmp eax, ecx
je 0x1400c6d8d
test dword [rsp + 0x78], 0x80000
je 0x1400c7e92
mov esi, 1
jmp 0x1400c6d9d
js 0x1400c6db4
mov r11, qword [rbp + 0x140]
movsxd rax, dword [r11 + 0x5c]
inc r12d
lea rbx, [rbx + rax*2]
cmp r12d, dword [r11 + 0x58]
jge 0x1400c6de4
mov r9, qword [rbp + 0x20]
jmp 0x1400c6d50
mov rax, qword [rbp + 0x140]
sub r14d, r12d
mov rdx, rbx
movsxd rax, dword [rax + 0x5c]
imul r14d, eax
lea rcx, [rbx + rax*2]
add r14d, r14d
movsxd r8, r14d
call fcn.1400d6960
mov rdi, qword [rsp + 0x70]
mov r11, qword [rbp + 0x140]
test esi, esi
jne 0x1400c6e30
xor eax, eax
cmp dword [r11 + 0x58], 0
mov rdx, qword [r11 + 0x50]
mov r8d, eax
jle 0x1400c6e30
cmp rdx, rbx
je 0x1400c6e1c
mov ecx, dword [r11 + 0x64]
movzx eax, word [rdx]
inc ecx
cmp eax, ecx
jne 0x1400c6e1f
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x41
jmp 0x1400c7fa3
dec r8d
movsxd rax, dword [r11 + 0x5c]
inc r8d
lea rdx, [rdx + rax*2]
cmp r8d, dword [r11 + 0x58]
jl 0x1400c6df8
movzx eax, word [r11 + 0x64]
mov rdx, qword [rbp + 0x20]
lea rcx, [rbx + 2]
inc ax
mov word [rbx], ax
mov rax, qword [rbp + 0x28]
add eax, eax
movsxd r8, eax
call fcn.1400d6960
mov r11, qword [rbp + 0x140]
mov r10, qword [rbp - 0x80]
xor eax, eax
mov word [rbx + r15*2 + 2], ax
mov rdi, qword [rsp + 0x70]
mov r15d, dword [rbp - 0x28]
inc dword [r11 + 0x58]
add rdi, 2
mov qword [rsp + 0x70], rdi
inc dword [r11 + 0x64]
movzx eax, word [r11 + 0x64]
mov r8d, dword [rbp - 0x6c]
mov r12d, dword [rbp - 0x60]
mov r9, qword [rbp - 0x80]
mov ecx, 1
mov word [r10 + 4], ax
mov rax, qword [rbp + 0x140]
mov r11d, ecx
jmp 0x1400c7344
mov r11d, 0x29
lea r14d, [r11 - 0x28]
jmp 0x1400c7657
add rdi, 2
mov qword [rsp + 0x70], rdi
mov r15, qword [rbp + 0x140]
mov r9, qword [rbp + 0x118]
mov r11d, 0x29
mov r12d, ebx
jmp 0x1400c70f8
bt r9d, 0xc
jae 0x1400c6e7a
mov eax, 0x7d
mov r11d, ebx
mov r12d, ebx
mov r8d, eax
mov dword [rbp - 0x6c], eax
mov rax, qword [rbp + 0x140]
jmp 0x1400c733b
mov r8d, dword [r11 + 0x64]
lea rcx, [rsp + 0x70]
xor ebx, ebx
mov rdx, r12
mov qword [rbp + 0x30], rdi
mov dword [rsp + 0x20], ebx
call fcn.1400c0e30
mov r9, qword [rbp + 0x118]
movsxd r12, eax
cmp dword [r9], ebx
jne 0x1400c7d28
test eax, eax
jns 0x1400c7b30
mov ebx, r12d
neg ebx
cmp ebx, 0x1a
jne 0x1400c6f94
mov rdi, qword [rsp + 0x70]
cmp word [rdi + 2], 0x5c
jne 0x1400c6f7d
cmp word [rdi + 4], 0x45
jne 0x1400c6f7d
add rdi, 4
mov r12, qword [rbp + 0x118]
mov r10, qword [rbp - 0x80]
mov edx, dword [rbp - 0x74]
mov r9d, dword [rsp + 0x78]
mov rsi, qword [rbp - 0x40]
mov r11, qword [rbp - 0x68]
xor ecx, ecx
add rdi, 2
jmp 0x1400c3938
mov r10, qword [rbp - 0x80]
mov r12, qword [rbp + 0x118]
mov eax, 1
mov edx, eax
mov dword [rbp - 0x74], eax
jmp 0x1400c6f65
cmp ebx, 0x19
je 0x1400c7b26
mov r8d, dword [rbp - 0x5c]
cmp r8d, 0xfffffffe
jne 0x1400c6fbc
cmp ebx, 5
jle 0x1400c6fbc
cmp ebx, 0x17
mov eax, 0xffffffff
cmovl r8d, eax
mov dword [rbp - 0x5c], r8d
mov r14d, dword [rbp - 0x44]
mov r13d, r8d
mov dword [rbp - 0x48], r8d
mov dword [rbp - 0x78], r14d
cmp ebx, 0x1b
jne 0x1400c75d8
mov rdi, qword [rsp + 0x70]
mov r15, qword [rbp + 0x140]
mov r11d, 0x27
mov rax, qword [r15 + 0x48]
add rdi, 2
mov qword [rbp - 0x20], rax
mov qword [rsp + 0x70], rdi
cmp word [rdi], 0x3c
mov eax, 0x3e
lea r10, [rdi + 2]
cmove r11d, eax
xor ebx, ebx
mov eax, ebx
movzx eax, word [r10]
mov dword [rbp - 0x70], ebx
mov r12d, ebx
cmp ax, 0x2b
je 0x1400c70c0
cmp ax, 0x2d
je 0x1400c70c0
mov edx, 1
mov r8, r10
movzx ecx, ax
mov r9d, edx
test ax, ax
je 0x1400c7081
nop dword [rax]
movzx eax, cx
cmp eax, r11d
je 0x1400c707c
mov eax, 0xff
cmp cx, ax
ja 0x1400c7079
mov rax, qword [r15 + 0x18]
movzx ecx, cx
movzx edx, byte [rcx + rax]
test dl, 4
cmove r9d, ebx
test dl, 0x10
je 0x1400c707c
movzx ecx, word [r8 + 2]
add r8, 2
test cx, cx
jne 0x1400c7040
jmp 0x1400c707c
mov r9d, ebx
mov edx, 1
movzx eax, word [r8]
cmp eax, r11d
je 0x1400c70a3
mov r12, qword [rbp + 0x118]
mov r15, qword [rbp - 0x50]
mov eax, reloc.WSOCK32.dll_gethostname
mov dword [r12], eax
jmp 0x1400c6f5e
test r9d, r9d
je 0x1400c70b1
mov r9, qword [rbp + 0x118]
jmp 0x1400c70ec
mov r12, qword [rbp + 0x118]
mov r14d, edx
jmp 0x1400c765e
movzx eax, word [rdi + 4]
lea rcx, [rdi + 4]
cmp ax, 0x30
jb 0x1400c70e4
nop
cmp ax, 0x39
ja 0x1400c70e4
movzx eax, word [rcx + 2]
add rcx, 2
cmp ax, 0x30
jae 0x1400c70d0
movzx eax, word [rcx]
cmp eax, r11d
jne 0x1400c708a
mov rdi, r10
mov qword [rsp + 0x70], r10
mov r10, qword [rbp - 0x80]
movzx r8d, word [rdi]
cmp r8d, 0x2b
jne 0x1400c718f
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx eax, word [rdi]
cmp ax, 0x30
jb 0x1400c7ea4
cmp ax, 0x39
ja 0x1400c7ea4
movzx edx, word [rdi]
mov esi, ebx
cmp dx, 0x30
jb 0x1400c7153
cmp dx, 0x39
ja 0x1400c7153
add rdi, 2
movzx eax, dx
lea ecx, [rsi + rsi*4]
mov qword [rsp + 0x70], rdi
movzx edx, word [rdi]
lea esi, [rax + rcx*2 - 0x30]
cmp dx, 0x30
jae 0x1400c7131
movzx eax, word [rdi]
cmp eax, r11d
jne 0x1400c7f04
cmp r8d, 0x2d
jne 0x1400c75bd
test esi, esi
je 0x1400c7ef7
mov eax, dword [r15 + 0x64]
sub eax, esi
lea esi, [rax + 1]
test esi, esi
jg 0x1400c7775
mov eax, reloc.WSOCK32.dll_ntohs
mov dword [r9], eax
jmp 0x1400c7fa3
cmp r8d, 0x2d
jne 0x1400c7126
movzx eax, word [rdi + 2]
lea rcx, [rdi + 2]
cmp ax, 0x30
jb 0x1400c71bb
cmp ax, 0x39
ja 0x1400c71bb
mov rdi, rcx
mov qword [rsp + 0x70], rcx
jmp 0x1400c7126
mov r12d, ebx
jmp 0x1400c71c2
mov r11, qword [rbp + 0x140]
mov eax, ebx
mov dword [rbp - 0x60], ebx
mov r15d, ebx
mov dword [rbp - 0x6c], ebx
lea rdx, [rbp - 0x6c]
cmp r8w, 0x29
je 0x1400c7266
nop dword [rax]
cmp r8w, 0x3a
je 0x1400c725f
add rdi, 2
movzx eax, r8w
sub eax, 0x2d
mov qword [rsp + 0x70], rdi
cmp eax, 0x4b
ja case.0x1400c721d.53
lea r8, [0x140000000]
cdqe
movzx eax, byte [r8 + rax + 0xc8238]
mov ecx, dword [r8 + rax*4 + 0xc8214]
add rcx, r8
jmp rcx
lea rdx, [rbp - 0x60]
jmp 0x1400c7254
or dword [rdx], 0x80000
or dword [r11 + 0x7c], 0x400
jmp 0x1400c7254
or dword [rdx], 1
jmp 0x1400c7254
or dword [rdx], 2
jmp 0x1400c7254
or dword [rdx], 4
jmp 0x1400c7254
or dword [rdx], 8
jmp 0x1400c7254
or dword [rdx], 0x200
jmp 0x1400c7254
or dword [rdx], 0x40
movzx r8d, word [rdi]
cmp r8w, 0x29
jne 0x1400c71e0
mov r15d, dword [rbp - 0x6c]
mov eax, dword [rbp - 0x60]
or r15d, dword [rsp + 0x78]
not eax
and r15d, eax
cmp word [rdi], 0x29
jne 0x1400c72ee
mov rax, qword [r11 + 0x28]
add rax, 4
cmp r10, rax
jne 0x1400c729a
mov rax, qword [rbp + 0x148]
test rax, rax
je 0x1400c7294
cmp dword [rax], 4
jne 0x1400c729a
mov dword [r11 + 0x78], r15d
jmp 0x1400c72b8
mov eax, r15d
shr eax, 9
and eax, 1
mov dword [rbp + 0x38], eax
xor eax, 1
mov dword [rbp + 0x3c], eax
mov eax, r15d
and eax, 1
shl eax, 0x1c
mov dword [rbp + 0xc], eax
mov rax, qword [rbp + 0x100]
mov r12, qword [rbp + 0x118]
mov edx, dword [rbp - 0x74]
mov rsi, qword [rbp - 0x40]
mov r11, qword [rbp - 0x68]
mov dword [rax], r15d
mov r9d, r15d
mov dword [rsp + 0x78], r15d
xor ecx, ecx
mov r15, rbx
mov qword [rbp - 0x50], rbx
add rdi, 2
jmp 0x1400c3938
mov r11d, dword [rbp - 0x70]
mov eax, 0x7d
add rdi, 2
mov r8d, eax
mov dword [rbp - 0x6c], eax
mov rax, qword [rbp + 0x140]
mov qword [rsp + 0x70], rdi
jmp 0x1400c733b
mov r8d, dword [rbp - 0x6c]
mov rax, qword [rbp + 0x140]
mov r9, qword [rbp - 0x80]
mov r11d, ebx
mov r12d, ebx
mov ecx, 1
mov edi, 0x8b
jmp 0x1400c734f
mov r8d, dword [rbp - 0x6c]
mov r12d, dword [rbp - 0x60]
mov rax, r10
mov r9, qword [rbp - 0x80]
mov ecx, 1
mov edi, 0x8b
mov r14d, 0x81
mov word [r9], r8w
mov esi, dword [rax + 0x80]
mov ebx, dword [rax + 0x64]
xor edx, edx
mov qword [rbp - 0x50], r9
mov qword [rbp - 0x38], r9
mov dword [rbp + 8], edx
cmp r8d, 0x79
je 0x1400c7377
cmp r8d, 0x7a
je 0x1400c7377
mov ecx, edx
mov r13, qword [rbp + 0x148]
lea rax, [rbp + 8]
test r13, r13
cmove rax, rdx
cmp r8d, r14d
lea r8, [rsp + 0x70]
mov qword [rsp + 0x60], rax
mov rax, qword [rbp + 0x140]
sete dl
add edx, dword [rbp + 0x138]
mov qword [rsp + 0x58], rax
mov rax, qword [rbp + 0x130]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x14]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], r12d
mov r12, qword [rbp + 0x118]
mov dword [rsp + 0x20], ecx
lea rdx, [rbp - 0x38]
mov ecx, r15d
mov r9, r12
call fcn.1400c8290
test eax, eax
je 0x1400c7d28
mov r8d, dword [rbp - 0x6c]
cmp r8d, 0x7b
jne 0x1400c7497
mov rax, qword [rbp + 0x140]
mov r10, qword [rbp - 0x80]
cmp dword [rax + 0x64], ebx
jg 0x1400c7420
mov eax, 0x7c
mov word [r10], ax
mov eax, dword [rbp + 0x10]
mov ecx, dword [rbp + 0x14]
or r9d, 0xffffffff
mov rdi, qword [rsp + 0x70]
cmp word [rdi], 0x29
jne 0x1400c7eea
test r13, r13
je 0x1400c7520
mov r8d, dword [rbp + 8]
mov edx, dword [r13]
mov ecx, 0x7fffffeb
lea eax, [r8 - 4]
sub ecx, edx
cmp ecx, eax
jl 0x1400c7ce8
mov r14d, dword [rbp - 0x78]
mov r15, qword [rbp - 0x50]
lea eax, [rdx + r8 - 4]
mov dword [r13], eax
mov r13d, dword [rbp - 0x48]
mov dword [r10 + 2], 0x720002
mov r8d, 2
add r10, 8
mov word [r10 - 2], r8w
mov rdi, qword [rsp + 0x70]
mov qword [rbp - 0x80], r10
jmp 0x1400c6f62
cmp r8d, 0x77
jl 0x1400c74ad
cmp r8d, 0x7a
jg 0x1400c74ad
mov rax, qword [rbp + 0x140]
dec dword [rax + 0x74]
mov r10, qword [rbp - 0x80]
cmp r8d, r14d
jne 0x1400c7420
test r13, r13
jne 0x1400c7420
xor eax, eax
mov rcx, r10
mov edx, eax
nop word [rax + rax]
movzx eax, word [rcx + 2]
inc edx
cmp word [rcx + rax*2], 0x72
lea rcx, [rcx + rax*2]
jne 0x1400c74d0
cmp word [r10 + 4], di
jne 0x1400c74f9
cmp edx, 1
jg 0x1400c7ec6
mov r8d, edi
jmp 0x1400c7420
cmp edx, 2
jg 0x1400c7ed8
cmp edx, 1
jne 0x1400c7420
or r9d, 0xffffffff
mov eax, r9d
mov ecx, r9d
mov dword [rbp + 0x10], eax
mov dword [rbp + 0x14], ecx
jmp 0x1400c742a
mov r10, qword [rbp - 0x38]
mov edx, 0x8b
mov qword [rbp - 0x80], r10
cmp r8d, edx
je 0x1400c75ac
mov edx, dword [rbp - 0x5c]
mov r14d, dword [rbp - 0x44]
xor ebx, ebx
mov dword [rbp + 0x1c], ebx
mov dword [rbp - 0x78], r14d
mov r13d, edx
mov dword [rbp - 0x48], edx
cmp r8d, 0x7b
jl 0x1400c7596
cmp edx, 0xfffffffe
jne 0x1400c7577
test ecx, ecx
js 0x1400c756a
mov dword [rbp - 0x5c], ecx
mov dword [rbp + 0x1c], 1
mov r13d, r9d
mov dword [rbp - 0x48], r9d
jmp 0x1400c7586
mov dword [rbp - 0x5c], r9d
mov r13d, r9d
mov dword [rbp - 0x48], r9d
jmp 0x1400c7586
test ecx, ecx
js 0x1400c7586
test eax, eax
jns 0x1400c758a
mov eax, esi
or eax, ecx
mov dword [rbp + 0x10], eax
test eax, eax
js 0x1400c75b0
mov r15, qword [rbp - 0x50]
mov dword [rbp - 0x44], eax
jmp 0x1400c6f62
cmp r8d, 0x77
jne 0x1400c75b0
test eax, eax
js 0x1400c75b0
mov r15, qword [rbp - 0x50]
mov dword [rbp - 0x44], eax
jmp 0x1400c6f62
mov r14d, dword [rbp - 0x78]
mov r13d, dword [rbp - 0x48]
mov r15, qword [rbp - 0x50]
jmp 0x1400c6f62
cmp r8d, 0x2b
jne 0x1400c7775
test esi, esi
je 0x1400c7ef7
add esi, dword [r15 + 0x64]
jmp 0x1400c7775
cmp ebx, 0x1c
jne 0x1400c78f1
mov rdi, qword [rsp + 0x70]
movzx eax, word [rdi + 2]
lea rcx, [rdi + 2]
cmp ax, 0x3c
je 0x1400c7615
cmp ax, 0x27
je 0x1400c7615
cmp ax, 0x7b
je 0x1400c7615
mov r12, qword [rbp + 0x118]
mov eax, 0x45
mov dword [r12], eax
jmp 0x1400c6f5e
mov r12, qword [rbp + 0x118]
xor ebx, ebx
mov qword [rsp + 0x70], rcx
movzx eax, word [rcx]
mov r14d, ebx
mov rdi, rcx
cmp ax, 0x3c
jne 0x1400c7644
mov r15, qword [rbp + 0x140]
mov r8d, 0x3e
mov r11d, r8d
jmp 0x1400c7664
cmp ax, 0x27
mov r11d, 0x7d
mov eax, 0x27
cmove r11d, eax
mov r15, qword [rbp + 0x140]
mov r8d, 0x3e
add rdi, 2
mov edx, 0xff
mov qword [rsp + 0x70], rdi
movzx eax, word [rdi]
mov r13, rdi
cmp ax, dx
ja 0x1400c769b
mov rcx, qword [r15 + 0x18]
movzx eax, ax
test byte [rax + rcx], 0x10
je 0x1400c769b
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx eax, word [rdi]
cmp ax, dx
jbe 0x1400c7681
mov rsi, rdi
sub rsi, r13
sar rsi, 1
cmp qword [rbp + 0x148], 0
je 0x1400c76fe
test esi, esi
je 0x1400c7f10
movzx eax, word [rdi]
cmp eax, r11d
jne 0x1400c7e84
cmp esi, 0x20
jg 0x1400c6b3b
mov r9d, dword [rsp + 0x78]
mov rbx, qword [r15 + 0x38]
mov r8d, esi
shr r9d, 3
mov rdx, r13
mov rcx, r15
and r9d, 1
mov qword [r15 + 0x38], rdi
call fcn.1400c1bf0
mov qword [r15 + 0x38], rbx
xor ebx, ebx
mov esi, eax
test eax, eax
jns 0x1400c776c
mov esi, ebx
jmp 0x1400c776c
mov r12d, dword [r15 + 0x58]
mov r11, qword [r15 + 0x50]
movsxd rdi, esi
test r12d, r12d
jle 0x1400c773a
nop
lea rdx, [r11 + 2]
mov r8d, esi
mov rcx, r13
call fcn.1400d4ca0
test eax, eax
jne 0x1400c772b
cmp word [r11 + rdi*2 + 2], ax
je 0x1400c773a
movsxd rax, dword [r15 + 0x5c]
inc ebx
lea r11, [r11 + rax*2]
cmp ebx, r12d
jl 0x1400c7710
cmp ebx, r12d
jge 0x1400c7745
movzx esi, word [r11]
jmp 0x1400c776a
mov r9d, dword [rsp + 0x78]
mov r8d, esi
mov rdx, r13
shr r9d, 3
mov rcx, r15
and r9d, 1
call fcn.1400c1bf0
mov esi, eax
test eax, eax
jle 0x1400c7de6
xor ebx, ebx
test r14d, r14d
je 0x1400c790d
cmp qword [rbp + 0x148], 0
mov rax, qword [rbp - 0x80]
mov rdi, qword [r15 + 0x28]
mov qword [rbp - 0x50], rax
jne 0x1400c7886
mov word [rax], bx
test esi, esi
je 0x1400c77a8
mov rcx, qword [r15 + 0x28]
mov edx, esi
call fcn.1400c2040
mov rdi, rax
mov rax, qword [rbp - 0x80]
test rdi, rdi
jne 0x1400c7829
mov r9d, dword [rsp + 0x78]
mov r8d, esi
xor edx, edx
shr r9d, 3
mov rcx, r15
and r9d, 1
call fcn.1400c1bf0
test eax, eax
js 0x1400c7de6
mov rax, qword [r15 + 0x28]
movsxd rcx, esi
lea rdi, [rax + rcx*2]
movsxd rcx, dword [r15 + 0x60]
mov rax, qword [r15 + 0x20]
lea rcx, [rax + rcx*2 - 0xc8]
cmp qword [r15 + 0x48], rcx
jb 0x1400c7809
mov rcx, r15
call fcn.1400c0cd0
mov rcx, qword [rbp + 0x118]
mov dword [rcx], eax
test eax, eax
jne 0x1400c7d28
mov rax, qword [r15 + 0x48]
mov r10, qword [rbp - 0x80]
mov ecx, r10d
sub ecx, dword [r15 + 0x28]
add rcx, 2
sar rcx, 1
mov word [rax], cx
add qword [r15 + 0x48], 2
jmp 0x1400c788a
cmp word [rdi + 2], 0
jne 0x1400c7886
cmp dword [rbp + 0x138], 0
jg 0x1400c7886
mov rcx, qword [rbp + 0x130]
mov rbx, rcx
test rcx, rcx
je 0x1400c7f19
nop dword [rax]
mov rcx, qword [rbx + 8]
cmp rcx, rdi
jb 0x1400c7f19
mov r9, r15
mov r8d, 1
mov rdx, rax
call fcn.1400c21e0
test eax, eax
je 0x1400c7884
mov rbx, qword [rbx]
test rbx, rbx
je 0x1400c7f19
mov rax, qword [rbp - 0x80]
jmp 0x1400c7850
xor ebx, ebx
mov r10, qword [rbp - 0x80]
mov r13d, dword [rbp - 0x48]
mov r14d, dword [rbp - 0x78]
mov r9d, dword [rsp + 0x78]
mov eax, reloc.WSOCK32.dll_WSAGetLastError
add r10, 4
mov dword [rbp + 0x1c], ebx
mov word [r10 - 4], ax
mov eax, edi
mov qword [rbp - 0x80], r10
sub eax, dword [r15 + 0x28]
mov r15, qword [rbp - 0x50]
sar rax, 1
cmp dword [rbp - 0x5c], 0xfffffffe
mov word [r10 - 2], ax
jne 0x1400c7c5f
mov rdi, qword [rsp + 0x70]
mov r12, qword [rbp + 0x118]
mov edx, dword [rbp - 0x74]
mov rsi, qword [rbp - 0x40]
mov r11, qword [rbp - 0x68]
xor ecx, ecx
add rdi, 2
mov dword [rbp - 0x5c], 0xffffffff
jmp 0x1400c3938
cmp ebx, 0x23
jl 0x1400c79e5
mov r15, qword [rbp + 0x140]
mov esi, 0xffffffdd
sub esi, r12d
xor ebx, ebx
jmp 0x1400c7919
mov r13d, dword [rbp - 0x48]
mov r14d, dword [rbp - 0x78]
mov r8d, dword [rbp - 0x5c]
mov r10, qword [rbp - 0x80]
mov r9d, dword [rsp + 0x78]
cmp r8d, 0xfffffffe
mov eax, 0xffffffff
mov qword [rbp - 0x50], r10
cmove r8d, eax
mov eax, ebx
test r9b, 1
setne al
add r10, 4
mov dword [rbp - 0x5c], r8d
add ax, 0x6d
mov r8d, 1
mov qword [rbp - 0x80], r10
mov word [r10 - 4], ax
mov word [r10 - 2], si
mov eax, r8d
cmp esi, 0x20
jge 0x1400c7968
mov ecx, esi
shl eax, cl
or dword [r15 + 0x70], eax
mov eax, dword [r15 + 0x6c]
mov rcx, qword [r15 + 0x40]
cmp esi, eax
cmovg eax, esi
mov dword [r15 + 0x6c], eax
test rcx, rcx
je 0x1400c7c5b
movzx eax, word [rcx + 8]
cmp eax, esi
je 0x1400c79ba
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1400c7986
mov rdi, qword [rsp + 0x70]
mov r15, qword [rbp - 0x50]
mov r12, qword [rbp + 0x118]
mov edx, dword [rbp - 0x74]
mov rsi, qword [rbp - 0x40]
mov r11, qword [rbp - 0x68]
add rdi, 2
jmp 0x1400c3938
mov r15, qword [rbp - 0x50]
mov r12, qword [rbp + 0x118]
mov edx, dword [rbp - 0x74]
mov rsi, qword [rbp - 0x40]
mov r11, qword [rbp - 0x68]
mov word [rcx + 0xa], r8w
mov rdi, qword [rsp + 0x70]
xor ecx, ecx
add rdi, 2
jmp 0x1400c3938
cmp ebx, 0xf
je 0x1400c7aa0
cmp ebx, 0x10
je 0x1400c7aa0
cmp ebx, 0x1d
jl 0x1400c7a49
cmp ebx, 0x22
jg 0x1400c7a49
mov r11, qword [rsp + 0x70]
mov r10, qword [rbp - 0x80]
mov edx, dword [rbp - 0x74]
mov r9d, dword [rsp + 0x78]
mov rsi, qword [rbp - 0x40]
lea rax, [r12*8 + 0xe8]
mov r12, qword [rbp + 0x118]
add r11, 2
lea rcx, str.PNd
sub rcx, rax
mov qword [rbp - 0x68], r11
mov rdi, qword [rcx]
xor ecx, ecx
sub rdi, 2
add rdi, 2
jmp 0x1400c3938
cmp ebx, 5
jle 0x1400c7a62
cmp ebx, 0x17
jge 0x1400c7a62
mov r10, qword [rbp - 0x80]
xor ecx, ecx
mov r15, r10
mov qword [rbp - 0x50], r10
jmp 0x1400c7a6f
mov r10, qword [rbp - 0x80]
xor ecx, ecx
mov r15d, ecx
mov qword [rbp - 0x50], rcx
mov r12, qword [rbp + 0x118]
mov edx, dword [rbp - 0x74]
mov r9d, dword [rsp + 0x78]
mov rsi, qword [rbp - 0x40]
mov r11, qword [rbp - 0x68]
mov word [r10], bx
mov rdi, qword [rsp + 0x70]
add r10, 2
add rdi, 2
mov qword [rbp - 0x80], r10
jmp 0x1400c3938
mov rdi, qword [rsp + 0x70]
movzx eax, word [rdi + 2]
add rdi, 2
test eax, eax
je 0x1400c7f2d
mov r12, qword [rbp + 0x118]
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x74]
lea rcx, [rsp + 0x70]
mov r9, r12
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], eax
call fcn.1400c1520
test eax, eax
js 0x1400c7d28
mov r10, qword [rbp - 0x80]
xor edx, edx
cmp ebx, 0x10
mov ecx, edx
sete cl
mov r15, r10
cmp ecx, dword [rbp + 0x74]
mov qword [rbp - 0x50], r10
setne dl
add dx, 0xf
add r10, 6
mov word [r10 - 6], dx
mov word [r10 - 4], ax
movzx eax, word [rbp + 0x78]
mov word [r10 - 2], ax
mov rdi, qword [rsp + 0x70]
mov qword [rbp - 0x80], r10
jmp 0x1400c6f62
mov rdi, qword [rsp + 0x70]
jmp 0x1400c6f57
cmp r12d, 0xffff
jle 0x1400c7ba4
mov eax, r12d
mov edx, 0xd800
and eax, 0xf800
cmp eax, edx
je 0x1400c7b9e
cmp r12d, 0x110000
jae 0x1400c7b9e
cmp r12d, 0xffff
jbe 0x1400c7ba4
mov r10, qword [rbp - 0x80]
mov r9d, dword [rsp + 0x78]
mov edi, dword [rbp - 0x44]
lea ecx, [r12 - 0x10000]
mov esi, 2
mov eax, ecx
shr eax, 0xa
or ax, dx
movzx r12d, ax
mov word [rbp + 0x40], ax
mov eax, 0x3ff
and cx, ax
mov eax, 0xdc00
or cx, ax
mov word [rbp + 0x42], cx
jmp 0x1400c3b1f
mov r12d, 0xfffe
mov r10, qword [rbp - 0x80]
mov r9d, dword [rsp + 0x78]
mov edi, dword [rbp - 0x44]
mov word [rbp + 0x40], r12w
mov esi, 1
jmp 0x1400c3b1f
mov rax, qword [rbp + 0x140]
mov r8d, dword [rbp - 0x5c]
mov r14d, edi
mov dword [rbp - 0x78], edi
cmp r8d, 0xfffffffe
jne 0x1400c7c81
mov ecx, dword [rbp + 0xc]
or r8d, 0xffffffff
mov r13d, r8d
mov dword [rbp - 0x48], r8d
cmp esi, 1
je 0x1400c7c1b
test ecx, ecx
je 0x1400c7c1b
mov rdi, qword [rsp + 0x70]
mov r12, qword [rbp + 0x118]
mov edx, dword [rbp - 0x74]
mov rsi, qword [rbp - 0x40]
mov r11, qword [rbp - 0x68]
xor ecx, ecx
add rdi, 2
mov dword [rbp - 0x44], r8d
mov dword [rbp - 0x5c], r8d
jmp 0x1400c3938
movzx r8d, r12w
or r8d, ecx
mov dword [rbp - 0x5c], r8d
cmp esi, 1
je 0x1400c7c5f
movzx ecx, word [r10 - 2]
mov rdi, qword [rsp + 0x70]
mov r12, qword [rbp + 0x118]
or ecx, dword [rax + 0x80]
mov edx, dword [rbp - 0x74]
mov rsi, qword [rbp - 0x40]
mov r11, qword [rbp - 0x68]
mov dword [rbp - 0x44], ecx
xor ecx, ecx
add rdi, 2
jmp 0x1400c3938
mov r15, qword [rbp - 0x50]
mov rdi, qword [rsp + 0x70]
mov r12, qword [rbp + 0x118]
mov edx, dword [rbp - 0x74]
mov rsi, qword [rbp - 0x40]
mov r11, qword [rbp - 0x68]
xor ecx, ecx
add rdi, 2
jmp 0x1400c3938
mov r13d, r8d
mov dword [rbp - 0x48], r8d
cmp esi, 1
je 0x1400c7cb5
cmp dword [rbp + 0xc], 0
je 0x1400c7cb5
mov rdi, qword [rsp + 0x70]
mov r12, qword [rbp + 0x118]
mov edx, dword [rbp - 0x74]
mov rsi, qword [rbp - 0x40]
mov r11, qword [rbp - 0x68]
xor ecx, ecx
add rdi, 2
jmp 0x1400c3938
movzx ecx, word [r10 - 2]
mov rdi, qword [rsp + 0x70]
mov r12, qword [rbp + 0x118]
or ecx, dword [rax + 0x80]
mov edx, dword [rbp - 0x74]
mov rsi, qword [rbp - 0x40]
or ecx, dword [rbp + 0xc]
mov r11, qword [rbp - 0x68]
mov dword [rbp - 0x44], ecx
xor ecx, ecx
add rdi, 2
jmp 0x1400c3938
mov dword [r12], reloc.OLEAUT32.dll_SafeArrayLock
jmp 0x1400c7fa3
mov rcx, qword [rbp + 0x118]
mov eax, SafeArrayAllocDescriptor
mov dword [rcx], eax
jmp 0x1400c7fa3
mov dword [r8], gethostbyname
jmp 0x1400c7fa3
mov dword [r8], 7
jmp 0x1400c7fa3
mov eax, 0x47
mov dword [r8], eax
mov rdi, qword [rsp + 0x70]
jmp 0x1400c7fa3
mov rax, qword [rbp + 0x118]
mov dword [rax], 8
jmp 0x1400c7fa3
mov rax, qword [rbp + 0x118]
mov dword [rax], 6
jmp 0x1400c7fa3
cmp word [rdi + 2], 0x3a
mov eax, SafeArrayAllocDescriptor
mov ecx, ntohs
cmove eax, ecx
mov dword [r12], eax
jmp 0x1400c7fa3
mov rax, qword [rbp + 0x118]
mov dword [rax], reloc.OLEAUT32.dll_SafeArrayLock
jmp 0x1400c7fa3
mov dword [r12], 9
jmp 0x1400c7fa3
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x3b
jmp 0x1400c7fa3
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x42
jmp 0x1400c7fa3
mov dword [r12], 0x3c
jmp 0x1400c7fa3
mov rcx, qword [rbp + 0x118]
mov eax, reloc.WSOCK32.dll_ntohs
mov dword [rcx], eax
jmp 0x1400c7fa3
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x3a
jmp 0x1400c7fa3
mov rcx, qword [rbp + 0x118]
mov rdi, qword [rsp + 0x70]
mov eax, reloc.WSOCK32.dll_ntohs
mov dword [rcx], eax
jmp 0x1400c7fa3
mov rdi, qword [rsp + 0x70]
mov ecx, reloc.OLEAUT32.dll_SafeArrayAllocDescriptor
mov eax, reloc.WSOCK32.dll_ntohs
test r12d, r12d
cmove eax, ecx
mov rcx, qword [rbp + 0x118]
mov dword [rcx], eax
jmp 0x1400c7fa3
mov rax, qword [rbp + 0x118]
sub rdi, r11
mov dword [rax], DispGetParam
jmp 0x1400c7fa3
add rdi, r11
mov dword [r12], SafeArrayAllocDescriptor
jmp 0x1400c7fa3
add rdi, 2
mov dword [r12], reloc.OLEAUT32.dll_SafeArrayGetElement
jmp 0x1400c7fa3
mov rdi, qword [rsp + 0x70]
mov eax, 0x27
mov dword [r12], eax
jmp 0x1400c7fa3
mov dword [r12], 0x26
jmp 0x1400c7fa3
mov dword [r12], getservbyport
jmp 0x1400c7fa3
mov eax, 0x2a
mov dword [r12], eax
jmp 0x1400c7fa3
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x2b
jmp 0x1400c7fa3
mov dword [r9], 0x3f
jmp 0x1400c7fa3
mov rax, qword [rbp + 0x118]
sub rdi, 2
mov dword [rax], reloc.WSOCK32.dll_ioctlsocket
jmp 0x1400c7fa3
mov rdi, qword [rsp + 0x70]
mov dword [r12], getservbyport
jmp 0x1400c7fa3
mov rdi, qword [rsp + 0x70]
mov dword [r12], reloc.OLEAUT32.dll_DispGetParam
jmp 0x1400c7fa3
mov dword [r12], ntohs
jmp 0x1400c7fa3
mov eax, 0x3a
mov dword [r9], eax
jmp 0x1400c7fa3
mov dword [r9], SafeArrayAllocDescriptor
jmp 0x1400c7fa3
mov dword [r12], r8d
jmp 0x1400c7fa3
mov rax, qword [rbp + 0x118]
mov rdi, qword [rsp + 0x70]
mov dword [rax], 0x28
jmp 0x1400c7fa3
mov dword [r9], gethostbyname
jmp 0x1400c7fa3
mov rax, qword [rbp + 0x120]
mov ecx, dword [rbp - 0x5c]
mov r8, qword [rbp + 0x110]
mov rdx, qword [rbp + 0x148]
mov dword [rax], ecx
mov rax, qword [rbp + 0x128]
mov ecx, dword [rbp - 0x44]
mov qword [r8], rdi
mov dword [rax], ecx
mov rax, qword [rbp + 0x108]
mov qword [rax], r10
test rdx, rdx
je 0x1400c7f94
sub r10, qword [rbp + 0x58]
mov ecx, dword [rdx]
mov eax, 0x7fffffeb
sub eax, ecx
sar r10, 1
cdqe
cmp rax, r10
jge 0x1400c7f8f
mov dword [r12], reloc.OLEAUT32.dll_SafeArrayLock
jmp 0x1400c7faa
add ecx, r10d
mov dword [rdx], ecx
mov eax, 1
jmp 0x1400c7faf
mov dword [r12], reloc.WSOCK32.dll_gethostbyname
mov r8, qword [rbp + 0x110]
mov qword [r8], rdi
xor eax, eax
add rsp, 0x1b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret