Function at 0x14003dca0
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
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
mov eax, 0x60a8
call fcn.1400e0a90
sub rsp, rax
lea rbp, [rsp + 0x30]
mov rbx, qword [rdx + 8]
mov rdi, qword [rdx + 0x10]
xor r8d, r8d
lea r13d, [r8 + 4]
mov r15d, r8d
mov dword [rbp + 0x60d8], r8d
mov dword [rbp + 0x60d0], r8d
lea r14, [0x140127280]
movabs r12, 0x2aaaaaaaaaaaaaab
lea r9, [0x1400766a0]
lea rdx, [0x140076010]
lea r10, [0x1400751d0]
lea r11, [0x140000000]
mov qword [rbp + 8], rdi
mov qword [rbp], rbx
test rdi, rdi
je 0x14003dd39
cmp qword [rdi], 0
je 0x14003dd39
mov rsi, rdi
mov qword [rbp + 0x10], rdi
cmp rbx, qword [rdi]
jb 0x14003dd50
jmp 0x14003eca2
cmp word [rbx], 0
mov rsi, r8
mov qword [rbp + 0x10], r8
je 0x14003f1b1
nop word [rax + rax]
cmp r15d, 0x1ff
jg 0x14003f136
nop dword [rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14003dd6f
cmp ax, 9
jne 0x14003dd75
add rbx, 2
jmp 0x14003dd60
cmp word [rbx], 0
mov qword [rbp], rbx
je 0x14003ec70
test rsi, rsi
je 0x14003dd91
cmp rbx, qword [rsi]
jae 0x14003ec70
movsxd r13, r15d
lea r12, [rbx + 2]
shl r13, 5
mov qword [rbp + r13 + 0x60], r8
movzx edx, word [rbx]
movzx edi, word [r12]
lea eax, [rdx - 0x21]
cmp eax, 0x5d
ja case.0x14003ddcb.55
cdqe
movzx eax, byte [r11 + rax + 0x3ffe8]
mov ecx, dword [r11 + rax*4 + 0x3ff8c]
add rcx, r11
jmp rcx
cmp edi, 0x3d
jne 0x14003dde7
mov rbx, r12
mov dword [rbp + r13 + 0x70], reloc.OLEAUT32.dll_SafeArrayLock
add rbx, 2
jmp 0x14003ec57
test r15d, r15d
je 0x14003de20
cmp dword [rbp + r13 + 0x50], 0xf
jge 0x14003de20
cmp edi, 0x2b
jne 0x14003de0e
mov rbx, r12
mov dword [rbp + r13 + 0x70], 9
add rbx, 2
jmp 0x14003ec57
mov dword [rbp + r13 + 0x70], reloc.WSOCK32.dll_gethostbyname
add rbx, 2
jmp 0x14003ec57
cmp edi, 0x2b
jne 0x14003de3a
mov rbx, r12
mov dword [rbp + r13 + 0x70], 0x3f
add rbx, 2
jmp 0x14003ec57
dec r15d
add rbx, 2
jmp 0x14003ec57
cmp edi, 0x3d
jne 0x14003de60
mov rbx, r12
mov dword [rbp + r13 + 0x70], reloc.OLEAUT32.dll_SafeArrayUnlock
add rbx, 2
jmp 0x14003ec57
test r15d, r15d
je 0x14003de99
cmp dword [rbp + r13 + 0x50], 0xf
jge 0x14003de99
cmp edi, 0x2d
jne 0x14003de87
mov rbx, r12
mov dword [rbp + r13 + 0x70], 0xa
add rbx, 2
jmp 0x14003ec57
mov dword [rbp + r13 + 0x70], getservbyport
add rbx, 2
jmp 0x14003ec57
cmp edi, 0x2d
jne 0x14003deb3
mov rbx, r12
mov dword [rbp + r13 + 0x70], 0x40
add rbx, 2
jmp 0x14003ec57
mov dword [rbp + r13 + 0x70], reloc.WSOCK32.dll_gethostname
cmp edi, 0x30
jl 0x14003dec6
cmp edi, 0x39
jle 0x14003decf
cmp edi, 0x2e
jne 0x14003ea60
movzx edx, word [rbx + 4]
add rbx, 4
lea rcx, [0x1400f9bc8]
call fcn.1400d7d64
test rax, rax
jne 0x14003df09
nop dword [rax + rax]
movzx edx, word [rbx + 2]
add rbx, 2
lea rcx, [0x1400f9bc8]
call fcn.1400d7d64
test rax, rax
je 0x14003def0
test rsi, rsi
je 0x14003df17
cmp rbx, qword [rsi]
jae 0x14003ea5c
mov rcx, rbx
nop word [rax + rax]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x14003df2f
cmp ax, 9
jne 0x14003df35
add rcx, 2
jmp 0x14003df20
cmp word [rcx], 0x2a
jne 0x14003df46
cmp word [rcx + 2], 0x2a
je 0x14003ea5c
mov rsi, qword [rbp]
movzx eax, word [rbx]
cmp ax, 0x2d
je 0x14003df5d
cmp ax, 0x2b
jne 0x14003dff5
movzx edi, word [rbx - 2]
test edi, 0xffffff80
jne 0x14003df7c
mov edx, 2
mov ecx, edi
call fcn.1400d79f4
test eax, eax
je 0x14003df7c
and edi, 0xffffffdf
cmp di, 0x45
jne 0x14003dff5
cmp word [rsi], 0x30
jne 0x14003dfae
movzx edi, word [r12]
test edi, 0xffffff80
jne 0x14003dfa8
mov edx, 2
mov ecx, edi
call fcn.1400d79f4
test eax, eax
je 0x14003dfa8
and edi, 0xffffffdf
cmp di, 0x58
je 0x14003dff5
cmp word [rsi], 0x2d
jne 0x14003dfe1
cmp word [r12], 0x30
jne 0x14003dfe1
movzx edi, word [rsi + 4]
test edi, 0xffffff80
jne 0x14003dfdb
mov edx, 2
mov ecx, edi
call fcn.1400d79f4
test eax, eax
je 0x14003dfdb
and edi, 0xffffffdf
cmp di, 0x58
je 0x14003dff5
movzx eax, word [rbx + 2]
add rbx, 2
cmp ax, 0x30
jb 0x14003dff5
cmp ax, 0x39
jbe 0x14003dfe1
test r15d, r15d
je 0x14003e01b
cmp dword [rbp + r13 + 0x50], 0xf
jge 0x14003e01b
cmp r15d, 0x1fe
jg 0x14003f136
mov dword [rbp + r13 + 0x70], gethostbyname
inc r15d
mov rdx, rbx
movsxd rdi, r15d
mov rcx, rsi
sub rdx, rsi
shl rdi, 5
sar rdx, 1
mov dword [rbp + rdi + 0x70], 5
call fcn.1400b5fe0
mov qword [rbp + rdi + 0x60], rax
test rax, rax
jne 0x14003ec53
lea r9, [0x1400f1524]
jmp 0x14003ff62
mov dword [rbp + r13 + 0x70], reloc.OLEAUT32.dll_SafeArrayGetUBound
add rbx, 2
jmp 0x14003ec57
cmp edi, 0x3d
jne 0x14003e081
mov rbx, r12
mov dword [rbp + r13 + 0x70], reloc.WSOCK32.dll_socket
add rbx, 2
jmp 0x14003ec57
cmp edi, 0x2f
jne 0x14003e0b7
add rbx, 4
cmp word [rbx], 0x3d
jne 0x14003e0a2
mov dword [rbp + r13 + 0x70], reloc.OLEAUT32.dll_SafeArrayGetElement
add rbx, 2
jmp 0x14003ec57
mov rbx, r12
mov dword [rbp + r13 + 0x70], reloc.WSOCK32.dll_getservbyport
add rbx, 2
jmp 0x14003ec57
mov dword [rbp + r13 + 0x70], reloc.WSOCK32.dll_getservbyname
add rbx, 2
jmp 0x14003ec57
cmp edi, 0x3d
jne 0x14003e0e3
mov rbx, r12
mov dword [rbp + r13 + 0x70], reloc.WSOCK32.dll_shutdown
add rbx, 2
jmp 0x14003ec57
cmp edi, 0x2a
jne 0x14003e0fd
mov rbx, r12
mov dword [rbp + r13 + 0x70], 0x3e
add rbx, 2
jmp 0x14003ec57
test r15d, r15d
je 0x14003e10f
cmp dword [rbp + r13 + 0x50], 0xf
mov eax, getservbyport
jl 0x14003e114
mov eax, 0x3d
mov dword [rbp + r13 + 0x70], eax
add rbx, 2
jmp 0x14003ec57
cmp edi, 0x3d
jne 0x14003e15d
mov rbx, r12
cmp word [r12 + 2], di
jne 0x14003e14a
lea rbx, [r12 + 2]
mov eax, 0x28
add rbx, 2
mov dword [rbp + r13 + 0x70], eax
jmp 0x14003ec57
mov eax, 0x27
add rbx, 2
mov dword [rbp + r13 + 0x70], eax
jmp 0x14003ec57
mov dword [rbp + r13 + 0x70], 0x3a
add rbx, 2
jmp 0x14003ec57
test r15d, r15d
je 0x14003e1aa
cmp dword [rbp + r13 + 0x50], 0xf
jge 0x14003e1aa
movzx edx, word [rbx - 2]
lea rcx, [0x1400fbd78]
call fcn.1400d7d64
test rax, rax
je 0x14003e1aa
cmp r15d, 0x1fe
jg 0x14003f136
mov dword [rbp + r13 + 0x70], gethostbyname
inc r15d
movsxd rax, r15d
shl rax, 5
add rbx, 2
mov dword [rbp + rax + 0x70], reloc.WSOCK32.dll_ntohs
jmp 0x14003ec57
mov dword [rbp + r13 + 0x70], reloc.WSOCK32.dll_ioctlsocket
add rbx, 2
jmp 0x14003ec57
test r15d, r15d
je 0x14003e21b
cmp dword [rbp + r13 + 0x50], 0xb
jne 0x14003e21b
movzx eax, word [r12]
cmp ax, 0x20
je 0x14003e1f2
cmp ax, 9
jne 0x14003e1f8
add r12, 2
jmp 0x14003e1e1
cmp word [r12], 0x5d
je 0x14003e21b
dec r15d
movsxd rax, r15d
shl rax, 5
add rbx, 2
mov dword [rbp + rax + 0x70], reloc.WSOCK32.dll_recv
jmp 0x14003ec57
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400b60a0
mov rdi, rax
test rax, rax
je 0x14003e049
test r15d, r15d
je 0x14003e24b
cmp dword [rbp + r13 + 0x50], 0xf
jge 0x14003e24b
lea rax, [0x140127160]
mov byte [rdi + 0x11], 1
jmp 0x14003e268
lea rdx, [0x1400fb580]
lea rcx, [0x14012c5c0]
xor r9d, r9d
xor r8d, r8d
call fcn.14003a020
mov byte [rdi + 0x11], 0
mov qword [rdi + 8], rax
mov qword [rdi], rbx
mov byte [rdi + 0x10], 1
movsxd rax, r15d
mov qword [rbp + r13 + 0x60], rdi
shl rax, 5
add rbx, 2
mov dword [rbp + rax + 0x70], reloc.WSOCK32.dll_recv
jmp 0x14003ec57
mov qword [rbp + r13 + 0x68], rbx
mov dword [rbp + r13 + 0x70], ntohs
add rbx, 2
jmp 0x14003ec57
test r15d, r15d
je 0x14003e2b8
cmp dword [rbp + r13 + 0x50], 0xf
jl 0x14003f149
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400b60a0
mov rdi, rax
test rax, rax
je 0x14003e049
lea rdx, [0x1400fbda8]
lea rcx, [0x14012c5c0]
xor r9d, r9d
xor r8d, r8d
call fcn.14003a020
mov qword [rdi], rbx
mov word [rdi + 0x10], 1
mov qword [rdi + 8], rax
mov qword [rbp + r13 + 0x60], rdi
mov dword [rbp + r13 + 0x70], reloc.OLEAUT32.dll_SafeArrayGetElemsize
add rbx, 2
jmp 0x14003ec57
mov qword [rbp + r13 + 0x68], rbx
mov dword [rbp + r13 + 0x70], ntohs
add rbx, 2
jmp 0x14003ec57
cmp edi, 0x3d
jne 0x14003e33c
mov rbx, r12
mov dword [rbp + r13 + 0x70], 0x26
add rbx, 2
jmp 0x14003ec57
mov dword [rbp + r13 + 0x70], 0x25
add rbx, 2
jmp 0x14003ec57
sub edi, 0x3d
je 0x14003e3e0
dec edi
je 0x14003e36d
mov dword [rbp + r13 + 0x70], 0x29
add rbx, 2
jmp 0x14003ec57
add rbx, 4
cmp word [rbx], 0x3d
jne 0x14003e389
mov dword [rbp + r13 + 0x70], SafeArrayAllocDescriptor
add rbx, 2
jmp 0x14003ec57
cmp word [r12 + 2], 0x3e
lea rax, [r12 + 2]
mov rbx, r12
jne 0x14003e3ce
cmp word [rax + 2], 0x3d
mov rbx, rax
jne 0x14003e3bb
lea rbx, [rax + 2]
mov eax, 0x1e
add rbx, 2
mov dword [rbp + r13 + 0x70], eax
jmp 0x14003ec57
mov eax, reloc.WSOCK32.dll_gethostbyaddr
add rbx, 2
mov dword [rbp + r13 + 0x70], eax
jmp 0x14003ec57
mov dword [rbp + r13 + 0x70], getservbyport
add rbx, 2
jmp 0x14003ec57
mov rbx, r12
mov dword [rbp + r13 + 0x70], gethostbyaddr
add rbx, 2
jmp 0x14003ec57
sub edi, 0x3c
je 0x14003e43e
dec edi
je 0x14003e429
dec edi
je 0x14003e414
mov dword [rbp + r13 + 0x70], 0x2a
add rbx, 2
jmp 0x14003ec57
mov rbx, r12
mov dword [rbp + r13 + 0x70], 0x27
add rbx, 2
jmp 0x14003ec57
mov rbx, r12
mov dword [rbp + r13 + 0x70], gethostbyname
add rbx, 2
jmp 0x14003ec57
add rbx, 4
cmp word [rbx], 0x3d
jne 0x14003e45a
mov dword [rbp + r13 + 0x70], SafeArrayAllocDescriptor
add rbx, 2
jmp 0x14003ec57
mov rbx, r12
mov dword [rbp + r13 + 0x70], getservbyport
add rbx, 2
jmp 0x14003ec57
cmp edi, 0x26
jne 0x14003e489
mov rbx, r12
mov dword [rbp + r13 + 0x70], reloc.OLEAUT32.dll_SafeArrayAllocDescriptor
add rbx, 2
jmp 0x14003ec57
cmp edi, 0x3d
jne 0x14003e4a3
mov rbx, r12
mov dword [rbp + r13 + 0x70], reloc.OLEAUT32.dll_DispGetParam
add rbx, 2
jmp 0x14003ec57
test r15d, r15d
je 0x14003e4b5
cmp dword [rbp + r13 + 0x50], 0xf
mov eax, gethostbyname
jl 0x14003e4ba
mov eax, 0x3c
mov dword [rbp + r13 + 0x70], eax
add rbx, 2
jmp 0x14003ec57
cmp edi, 0x7c
jne 0x14003e4e2
mov rbx, r12
mov dword [rbp + r13 + 0x70], SafeArrayAllocDescriptor
add rbx, 2
jmp 0x14003ec57
cmp edi, 0x3d
jne 0x14003e4fc
mov rbx, r12
mov dword [rbp + r13 + 0x70], DispGetParam
add rbx, 2
jmp 0x14003ec57
mov dword [rbp + r13 + 0x70], gethostbyname
add rbx, 2
jmp 0x14003ec57
cmp edi, 0x3d
jne 0x14003e528
mov rbx, r12
mov dword [rbp + r13 + 0x70], DispGetParam
add rbx, 2
jmp 0x14003ec57
mov dword [rbp + r13 + 0x70], gethostbyname
add rbx, 2
jmp 0x14003ec57
cmp edi, 0x3d
jne 0x14003e59e
lea ecx, [rdi - 0x25]
mov rbx, r12
call fcn.1400b60a0
mov qword [rbp + r13 + 0x60], rax
test rax, rax
je 0x14003e049
lea rdx, [0x1400f75c0]
lea rcx, [0x14012c5c0]
xor r9d, r9d
xor r8d, r8d
call fcn.14003a020
mov rcx, qword [rbp + r13 + 0x60]
add rbx, 2
mov qword [rcx + 8], rax
mov rax, qword [rbp + r13 + 0x60]
mov byte [rax + 0x10], 1
mov rax, qword [rbp + r13 + 0x60]
mov byte [rax + 0x11], 2
mov dword [rbp + r13 + 0x70], 0x43
jmp 0x14003ec57
mov dword [rbp + r13 + 0x70], 0x3b
add rbx, 2
jmp 0x14003ec57
mov dword [rbp + r13 + 0x70], SafeArrayAllocDescriptor
add rbx, 2
jmp 0x14003ec57
cmp edi, 0x3d
jne 0x14003e5dc
mov rbx, r12
mov dword [rbp + r13 + 0x70], reloc.WSOCK32.dll_send
add rbx, 2
jmp 0x14003ec57
mov dword [rbp + r13 + 0x70], SafeArrayAllocDescriptor
add rbx, 2
jmp 0x14003ec57
test r15d, r15d
je 0x14003e61b
cmp dword [rbp + r13 + 0x50], 0xf
jge 0x14003e61b
cmp r15d, 0x1fe
jg 0x14003f136
inc r15d
mov dword [rbp + r13 + 0x70], gethostbyname
mov dword [rbp + 0x60d8], r15d
mov rbx, r12
nop
movzx eax, word [rbx]
test ax, ax
je 0x14003f15c
cmp ax, 0x22
jne 0x14003e63f
add rbx, 2
mov qword [rbp], rbx
cmp word [rbx], ax
jne 0x14003e645
add rbx, 2
jmp 0x14003e620
mov rdx, rbx
movsxd rdi, r15d
mov rcx, r12
sub rdx, r12
shl rdi, 5
sar rdx, 1
mov dword [rbp + rdi + 0x70], r8d
dec rdx
call fcn.1400b5fe0
mov r12, rax
mov qword [rbp + 0x28], rax
mov qword [rbp + rdi + 0x60], rax
test rax, rax
je 0x14003e049
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r12
repne scasw ax, word [rdi]
or r14d, 0xffffffff
mov r13d, eax
not rcx
mov esi, eax
mov qword [rbp + 0x20], rax
dec rcx
mov r15, rcx
mov qword [rbp + 0x18], rcx
cmp word [r12], ax
je 0x14003e851
cmp rcx, 0x1388
jb 0x14003e7fd
mov edi, eax
nop word [rax + rax]
lea rdx, [0x1400fbdbc]
mov rcx, r12
call fcn.1400d8b38
mov rbx, rax
test rax, rax
je 0x14003e774
inc edi
dec r14d
mov dword [rbp + 0x30], edi
mov rdi, rax
sub rdi, r12
sar rdi, 1
lea r15, [rdi + rsi]
lea rcx, [r15 + 1]
cmp rcx, qword [rbp + 0x20]
jb 0x14003e73b
sub rax, qword [rbp + 0x28]
movsxd r9, dword [rbp + 0x18]
mov edx, dword [rbp + 0x30]
movsxd rcx, ecx
sar rax, 1
mov r8d, r14d
cdqe
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
or rcx, 0xffffffffffffffff
call fcn.1400b9ff0
mov rcx, r13
lea rdx, [rax + rax]
mov qword [rbp + 0x20], rax
call fcn.1400d7008
test rax, rax
je 0x14003e7ae
mov r13, rax
test rdi, rdi
je 0x14003e754
lea r8, [rdi + rdi]
lea rcx, [r13 + rsi*2]
mov rdx, r12
call fcn.1400d7a30
mov rsi, r15
movzx eax, word [0x1400fbdb8]
mov edi, dword [rbp + 0x30]
inc rsi
mov word [r13 + rsi*2 - 2], ax
lea r12, [rbx + 4]
test r14d, r14d
jne 0x14003e6c0
test edi, edi
je 0x14003e84d
mov rbx, qword [rbp + 0x28]
mov r15, qword [rbp + 0x18]
mov rax, r12
sub rax, rbx
sar rax, 1
sub r15, rax
je 0x14003e7db
lea rdi, [r15 + rsi]
cmp rdi, qword [rbp + 0x20]
jb 0x14003e7c7
lea rdx, [rdi + rdi + 2]
mov rcx, r13
call fcn.1400d7008
test rax, rax
jne 0x14003e7c4
test r13, r13
je 0x14003e84d
mov rcx, r13
call fcn.1400d6fc8
jmp 0x14003e84d
mov r13, rax
lea r8, [r15 + r15]
lea rcx, [r13 + rsi*2]
mov rdx, r12
call fcn.1400d7a30
mov rsi, rdi
xor eax, eax
lea r8, [rsi + rsi + 2]
mov rdx, r13
mov rcx, rbx
mov word [r13 + rsi*2], ax
call fcn.1400d7a30
mov rcx, r13
call fcn.1400d6fc8
jmp 0x14003e84d
mov rbx, r12
lea rdx, [0x1400fbdbc]
mov rcx, rbx
call fcn.1400d8b38
mov rdi, rax
test rax, rax
je 0x14003e84d
mov rcx, rax
lea rbx, [rax + 2]
mov r8, r15
sub rcx, r12
lea rdx, [rax + 4]
sar rcx, 1
sub r8, rcx
mov rcx, rbx
lea r8, [r8 + r8 - 2]
call fcn.1400d7a30
movzx eax, word [0x1400fbdb8]
dec r15
dec r14d
mov word [rdi], ax
jne 0x14003e800
mov rbx, qword [rbp]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14003e860
cmp ax, 9
jne 0x14003e866
add rbx, 2
jmp 0x14003e851
movzx edx, word [rbx]
test dx, dx
je 0x14003ec45
lea rcx, [0x1400fbdc8]
call fcn.1400d7d64
test rax, rax
je 0x14003ec45
movzx eax, word [rbx + 2]
cmp ax, 0x3d
je 0x14003ec45
cmp ax, 0x26
jne 0x14003e8a4
cmp word [rbx], ax
je 0x14003ec45
mov r15d, dword [rbp + 0x60d8]
cmp r15d, 0x1fe
jg 0x14003f136
inc r15d
movsxd rax, r15d
shl rax, 5
mov dword [rbp + rax + 0x70], gethostbyname
jmp 0x14003ec4c
cmp edx, 0x2e
jne 0x14003ea69
cmp edi, 0x3d
jne 0x14003e8f2
mov rbx, r12
mov dword [rbp + r13 + 0x70], SafeArrayAllocDescriptor
add rbx, 2
jmp 0x14003ec57
cmp edi, 0x20
je 0x14003ea2d
cmp edi, 9
je 0x14003ea2d
test r15d, r15d
je 0x14003ea69
cmp dword [rbp + r13 + 0x50], 0xf
jge 0x14003ea69
cmp r15d, 0x1fe
jg 0x14003f136
mov rcx, r12
call fcn.1400503a0
lea rcx, [0x1400f9c88]
movzx edx, word [rax]
mov rbx, rax
call fcn.1400d7d64
test rax, rax
je 0x14003f180
cmp rbx, r12
jne 0x14003e958
cmp word [rbx], 0x28
jne 0x14003f16f
lea rax, [rbp + r13 + 0x40]
lea rcx, [rbp + 0x60]
xor dil, dil
cmp rax, rcx
jb 0x14003e9a0
nop dword [rax]
cmp dword [rax + 0x10], 0xb
jne 0x14003e985
lea rcx, [rbp + 0x60]
sub rax, 0x40
cmp rax, rcx
jae 0x14003e970
jmp 0x14003e9a0
cmp dword [rax + 0x10], 8
jge 0x14003e998
lea rcx, [rbp + 0x60]
cmp rax, rcx
jbe 0x14003e998
sub rax, 0x20
cmp dword [rax + 0x10], 0x42
sete dil
mov rdx, rbx
mov rcx, r12
mov dword [rbp + r13 + 0x70], 5
sub rdx, r12
sar rdx, 1
call fcn.1400b5fe0
mov qword [rbp + r13 + 0x60], rax
test rax, rax
je 0x14003e049
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
inc r15d
call fcn.1400b60a0
mov rdx, rax
test rax, rax
je 0x14003e049
lea rcx, [r12 - 2]
mov word [rax + 0x10], 0x201
mov qword [rax], rcx
cmp word [rbx], 0x28
jne 0x14003ea08
test dil, dil
jne 0x14003ea08
mov ecx, 0x41
lea rax, [0x140127460]
jmp 0x14003ea14
mov ecx, reloc.WSOCK32.dll_inet_ntoa
lea rax, [0x140127160]
mov qword [rdx + 8], rax
movsxd rax, r15d
shl rax, 5
mov dword [rbp + rax + 0x70], ecx
mov qword [rbp + rax + 0x60], rdx
jmp 0x14003ec57
test r15d, r15d
je 0x14003f18f
movzx eax, word [rbx - 2]
cmp ax, 0x20
je 0x14003ea4a
cmp ax, 9
jne 0x14003f18f
mov dword [rbp + r13 + 0x70], gethostbyname
add rbx, 2
jmp 0x14003ec57
mov rbx, qword [rbp]
add rbx, 2
jmp 0x14003ec57
movzx edx, word [r12]
lea rcx, [0x1400f9c88]
mov rbx, r12
call fcn.1400d7d64
test rax, rax
jne 0x14003eaa9
nop word [rax + rax]
movzx edx, word [rbx + 2]
add rbx, 2
lea rcx, [0x1400f9c88]
call fcn.1400d7d64
test rax, rax
je 0x14003ea90
test rsi, rsi
je 0x14003eab7
cmp rbx, qword [rsi]
jae 0x14003ed4b
cmp word [rbx], 0x2e
jne 0x14003eaf9
movzx edx, word [rbx + 2]
add rbx, 2
lea rcx, [0x1400f9c88]
call fcn.1400d7d64
test rax, rax
jne 0x14003eaf9
nop word [rax + rax]
movzx edx, word [rbx + 2]
add rbx, 2
lea rcx, [0x1400f9c88]
call fcn.1400d7d64
test rax, rax
je 0x14003eae0
mov rsi, qword [rbp]
mov rax, rbx
sub rax, rsi
and rax, 0xfffffffffffffffe
cmp rax, 6
jne 0x14003df4a
movzx eax, word [rsi]
cmp ax, 0x6e
je 0x14003eb24
cmp ax, 0x4e
jne 0x14003df4a
mov rcx, rbx
movzx eax, word [rcx]
cmp ax, 0x20
je 0x14003eb36
cmp ax, 9
jne 0x14003eb3c
add rcx, 2
jmp 0x14003eb27
cmp word [rcx], 0x3a
je 0x14003df4a
cmp edi, 0x6f
je 0x14003eb50
cmp edi, 0x4f
jne 0x14003eb68
movzx eax, word [rsi + 4]
cmp ax, 0x74
je 0x14003ec3a
cmp ax, 0x54
je 0x14003ec3a
cmp edi, 0x65
je 0x14003eb76
cmp edi, 0x45
jne 0x14003df4a
movzx eax, word [rsi + 4]
cmp ax, 0x77
je 0x14003eb8a
cmp ax, 0x57
jne 0x14003df4a
test r15d, r15d
je 0x14003ebb0
cmp dword [rbp + r13 + 0x50], 0xf
jge 0x14003ebb0
cmp r15d, 0x1fe
jg 0x14003f136
mov dword [rbp + r13 + 0x70], gethostbyname
inc r15d
cmp qword [0x14012c448], 0
jne 0x14003ebcf
call fcn.1400b6130
mov qword [0x14012c448], rax
test rax, rax
je 0x14003e049
mov rdx, qword [0x14012c450]
cmp qword [rdx + 0x10], 0x18
jae 0x14003ebf6
call fcn.1400b6130
mov rdx, qword [0x14012c450]
mov qword [rdx + 0x18], rax
test rax, rax
je 0x14003e049
mov rcx, qword [rdx + 8]
add qword [rdx + 0x10], 0xffffffffffffffe8
lea rax, [rcx + 0x18]
mov qword [0x14012c458], rcx
mov qword [rdx + 8], rax
test rcx, rcx
je 0x14003e049
mov qword [rcx], rsi
mov qword [rcx + 8], r14
mov word [rcx + 0x10], 0x101
movsxd rax, r15d
shl rax, 5
mov dword [rbp + rax + 0x70], 0x42
mov qword [rbp + rax + 0x60], rcx
jmp 0x14003ec53
mov dword [rbp + r13 + 0x70], 0x24
jmp 0x14003ec53
mov r15d, dword [rbp + 0x60d8]
lea r14, [0x140127280]
mov rsi, qword [rbp + 0x10]
inc r15d
lea r11, [0x140000000]
xor r8d, r8d
mov dword [rbp + 0x60d8], r15d
jmp 0x14003dd50
test rsi, rsi
je 0x14003f1b1
mov rdi, qword [rbp + 8]
lea rdx, [0x140076010]
lea r9, [0x1400766a0]
lea r10, [0x1400751d0]
movabs r12, 0x2aaaaaaaaaaaaaab
mov r13d, 4
cmp r15d, 0x1ff
jg 0x14003f136
cmp byte [rsi + 0x10], 0
je 0x14003ecfd
test r15d, r15d
je 0x14003ece0
movsxd rax, r15d
shl rax, 5
cmp dword [rbp + rax + 0x50], 0xf
jge 0x14003ece0
cmp r15d, 0x1fe
jg 0x14003f136
mov dword [rbp + rax + 0x70], gethostbyname
inc r15d
movsxd rax, r15d
shl rax, 5
mov dword [rbp + rax + 0x70], 0x41
mov qword [rbp + rax + 0x60], rsi
mov byte [rsi + 0x11], 0
jmp 0x14003f11b
mov rcx, qword [rsi]
movzx eax, word [0x1401255b8]
cmp word [rcx], ax
jne 0x14003f025
movzx eax, word [rsi + 0x12]
movzx edx, word [rcx + rax*2]
lea rbx, [rcx + rax*2]
lea rcx, [0x1400f9c88]
call fcn.1400d7d64
test rax, rax
jne 0x14003ed59
nop dword [rax]
movzx edx, word [rbx + 2]
add rbx, 2
lea rcx, [0x1400f9c88]
call fcn.1400d7d64
test rax, rax
je 0x14003ed30
jmp 0x14003ed59
mov rdi, qword [rbp + 8]
movabs r12, 0x2aaaaaaaaaaaaaab
test r15d, r15d
je 0x14003ed8b
movsxd rax, r15d
shl rax, 5
cmp dword [rbp + rax + 0x50], 0xf
jge 0x14003ed8b
cmp r15d, 0x1fe
jg 0x14003f136
inc r15d
mov dword [rbp + rax + 0x70], gethostbyname
mov dword [rbp + 0x60d8], r15d
mov rax, qword [rbp]
mov rdx, rbx
movsxd r14, r15d
sub rdx, rax
shl r14, 5
mov rcx, rax
sar rdx, 1
mov dword [rbp + r14 + 0x70], 7
call fcn.1400b5fe0
mov qword [rbp + r14 + 0x68], rax
test rax, rax
je 0x14003e049
mov rax, qword [rdi + 0x18]
mov r15, rdi
add rdi, 0x18
test rax, rax
je 0x14003ede2
nop
cmp rax, rbx
jae 0x14003ede2
mov rax, qword [rdi + 0x18]
add rdi, 0x18
test rax, rax
jne 0x14003edd0
mov rax, r12
mov rcx, rdi
sub rdi, 0x18
sub rcx, r15
mov qword [rbp + 8], rdi
imul rcx
mov r13, rdx
sar r13, 2
mov rax, r13
shr rax, 0x3f
add r13, rax
lea eax, [r13 + 1]
movsxd rcx, eax
lea r12, [rcx + rcx*2]
shl r12, 3
lea rax, [r12 - 1]
cmp rax, 0xffff
ja 0x14003e049
cmp qword [0x14012c448], 0
jne 0x14003ee98
mov ecx, SafeArrayAllocDescriptor
call fcn.1400d7718
mov rdi, rax
test rax, rax
je 0x14003ee85
xor esi, esi
mov ecx, 0x10000
mov qword [rax + 0x18], rsi
call fcn.1400d6f08
mov qword [rdi + 8], rax
mov qword [rdi], rax
test rax, rax
jne 0x14003ee6e
mov rcx, rax
mov rcx, rdi
call fcn.1400d6fc0
mov edi, esi
jmp 0x14003ee88
inc dword [0x14012c460]
mov qword [rdi + 0x10], 0x10000
mov qword [0x14012c450], rdi
jmp 0x14003ee88
mov rdi, rax
mov qword [0x14012c448], rdi
test rdi, rdi
je 0x14003e049
mov rax, qword [0x14012c450]
cmp r12, qword [rax + 0x10]
jbe 0x14003ef10
mov ecx, SafeArrayAllocDescriptor
call fcn.1400d7718
mov rdi, rax
test rax, rax
je 0x14003eef9
xor esi, esi
mov ecx, 0x10000
mov qword [rax + 0x18], rsi
call fcn.1400d6f08
mov qword [rdi + 8], rax
mov qword [rdi], rax
test rax, rax
jne 0x14003eee2
mov rcx, rax
mov rcx, rdi
call fcn.1400d6fc0
mov edi, esi
jmp 0x14003eefc
inc dword [0x14012c460]
mov qword [rdi + 0x10], 0x10000
mov qword [0x14012c450], rdi
jmp 0x14003eefc
mov rdi, rax
mov rax, qword [0x14012c450]
mov qword [rax + 0x18], rdi
test rdi, rdi
je 0x14003e049
mov rcx, qword [0x14012c450]
mov rax, r12
and eax, 7
mov rsi, qword [rcx + 8]
mov qword [0x14012c458], rsi
je 0x14003ef31
sub r12, rax
add r12, 8
lea rax, [r12 + rsi]
mov qword [rcx + 8], rax
mov rax, qword [0x14012c450]
sub qword [rax + 0x10], r12
test rsi, rsi
je 0x14003e049
movsxd rax, r13d
mov rdx, r15
lea rcx, [rax + rax*2]
lea rdi, [rcx*8]
mov rcx, rsi
mov r8, rdi
call fcn.1400d7a30
xor r8d, r8d
mov rdx, rsi
mov qword [rdi + rsi], r8
cmp qword [rsi], r8
je 0x14003ef9f
mov rdi, qword [rbp]
nop dword [rax]
mov rcx, qword [rdx]
mov rax, qword [rbp + r14 + 0x68]
add rdx, 0x18
sub rcx, rdi
sar rcx, 1
lea rcx, [rax + rcx*2]
mov qword [rdx - 0x18], rcx
cmp qword [rdx], r8
jne 0x14003ef80
mov r15d, dword [rbp + 0x60d8]
mov qword [rbp + r14 + 0x60], rsi
cmp word [rbx], 0x28
jne 0x14003eff3
test r15d, r15d
je 0x14003efbe
cmp dword [rbp + r14 + 0x50], 0x42
je 0x14003eff3
cmp r15d, 0x1fe
jg 0x14003f19e
mov byte [rdx + 0x10], 1
mov qword [rdx + 8], r8
movzx eax, byte [rsi + 0x11]
mov byte [rdx + 0x11], al
inc r15d
movsxd rax, r15d
shl rax, 5
mov dword [rbp + rax + 0x70], 0x41
mov qword [rbp + rax + 0x60], rdx
jmp 0x14003eff7
mov byte [rdx + 0x10], r8b
mov rdi, qword [rbp + 8]
lea r14, [0x140127280]
movabs r12, 0x2aaaaaaaaaaaaaab
add rdi, 0x18
inc r15d
mov r13d, 4
mov dword [rbp + 0x60d8], r15d
jmp 0x14003dcf9
test r15d, r15d
je 0x14003f050
movsxd rax, r15d
shl rax, 5
cmp dword [rbp + rax + 0x50], 0xf
jge 0x14003f050
cmp r15d, 0x1fe
jg 0x14003f136
mov dword [rbp + rax + 0x70], gethostbyname
inc r15d
mov rax, qword [rsi + 8]
movsxd rdi, r15d
shl rdi, 5
mov qword [rbp + rdi + 0x60], rax
mov rcx, qword [rsi + 8]
movzx eax, byte [rcx + 0x23]
test al, al
jne 0x14003f074
mov rax, qword [rcx + 0x10]
movzx eax, byte [rax + 0x23]
cmp al, 1
jne 0x14003f090
cmp dword [0x14012ac4c], 0
je 0x14003f090
mov dword [rbp + rdi + 0x70], r13d
mov dword [rbp + rdi + 0x68], r8d
jmp 0x14003f117
mov rax, qword [rcx + 0x18]
cmp rax, r10
jne 0x14003f0da
mov dword [rbp + rdi + 0x70], 1
mov rax, qword [rsi]
movzx ebx, word [rax]
test ebx, 0xffffff80
jne 0x14003f0c5
mov edx, 2
mov ecx, ebx
call fcn.1400d79f4
test eax, eax
je 0x14003f0c2
and ebx, 0xffffffdf
xor r8d, r8d
cmp bx, 0x54
mov rbx, qword [rbp]
mov rax, r8
sete al
mov qword [rbp + rdi + 0x60], rax
jmp 0x14003f117
cmp rax, rdx
jne 0x14003f0f2
mov dword [rbp + rdi + 0x70], 1
mov qword [rbp + rdi + 0x60], 8
jmp 0x14003f117
cmp rax, r9
jne 0x14003f10a
mov dword [rbp + rdi + 0x70], 1
mov qword [rbp + rdi + 0x60], 1
jmp 0x14003f117
mov dword [rbp + rdi + 0x70], 7
mov qword [rbp + rdi + 0x68], r8
mov rdi, qword [rbp + 8]
movzx eax, word [rsi + 0x12]
add rdi, 0x18
inc r15d
lea rbx, [rbx + rax*2]
mov dword [rbp + 0x60d8], r15d
jmp 0x14003dcf9
lea r9, [0x1400f1524]
lea rdx, [0x1400fbd50]
jmp 0x14003ff69
lea r9, [0x1400f1524]
lea rdx, [0x1400fbd88]
jmp 0x14003ff69
lea r9, [0x1400f1524]
lea rdx, [0x1400f9bf8]
jmp 0x14003ff69
lea r9, [r12 - 2]
lea rdx, [0x1400f9d50]
jmp 0x14003ff69
mov r9, rbx
lea rdx, [0x1400fbde0]
jmp 0x14003ff69
mov r9, rbx
lea rdx, [0x1400f9d50]
jmp 0x14003ff69
lea r9, [0x1400f1524]
lea rdx, [0x1400fbd50]
jmp 0x14003ff6c
cmp r15d, 0x1ff
jg 0x14003f136
mov r10d, dword [rbp + 0x60d0]
movsxd rax, r15d
mov dword [rbp + 0x48], 8
shl rax, 5
mov r15d, 1
lea rdi, [rbp + 0x60]
mov dword [rbp + rax + 0x70], 0x44
lea rax, [rbp + 0x38]
mov r9, r8
mov qword [rbp + 0x60d8], r8
lea r14, [0x1400f1524]
mov qword [rbp + 0x4060], rax
lea r11, [0x1401272e0]
nop dword [rax + rax]
movsxd rbx, dword [rdi + 0x10]
movsxd r8, r15d
movsxd r13, r10d
mov rdx, qword [rbp + r8*8 + 0x4058]
lea rsi, [rbp + r13*8 + 0x5070]
movsxd r12, dword [rdx + 0x10]
mov qword [rbp + 0x18], rdx
cmp ebx, 8
jge 0x14003f2be
cmp ebx, 7
jne 0x14003f29d
cmp qword [rdi + 8], 0
jne 0x14003f29d
mov rcx, qword [rdi]
movzx eax, byte [rcx + 0x23]
test al, al
jne 0x14003f25a
mov rax, qword [rcx + 0x10]
movzx eax, byte [rax + 0x23]
cmp al, 1
je 0x14003f272
movzx eax, byte [rcx + 0x23]
test al, al
jne 0x14003f26e
mov rax, qword [rcx + 0x10]
movzx eax, byte [rax + 0x23]
cmp al, 2
jne 0x14003f29d
mov eax, dword [rdi + 0x30]
cmp eax, 0x1f
jg 0x14003f27f
cmp eax, 0x13
jge 0x14003f295
cmp eax, 9
je 0x14003f295
cmp eax, 0xa
je 0x14003f295
cmp r12d, 0x3f
je 0x14003f295
cmp r12d, 0x40
jne 0x14003f29d
mov eax, 4
mov dword [rdi + 0x10], eax
mov qword [rsi], rdi
mov rax, qword [rsi]
add rdi, 0x20
inc r10d
mov qword [rax + 0x18], 0
mov dword [rbp + 0x60d0], r10d
jmp 0x14003f210
lea eax, [rbx - 0xb]
cmp eax, 0x39
ja case.0x14003f2ec.19
lea rcx, [0x140000000]
cdqe
movzx eax, byte [rcx + rax + 0x4006c]
mov ecx, dword [rcx + rax*4 + 0x40048]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
cmp ebx, 0x12
je 0x14003f32f
mov eax, r12d
sub eax, ebx
cmp eax, 3
je 0x14003f32f
cmp r12d, 8
je 0x14003f317
cmp r12d, 0x11
jg 0x14003f84b
cmp r12d, 0xf
jl 0x14003f84b
cmp ebx, 0xc
jne 0x14003fb46
lea rdx, [0x1400fbe28]
mov r9, r14
jmp 0x14003ff69
test r9, r9
je 0x14003f4ec
lea eax, [r12 - 0xf]
cmp eax, 2
ja 0x14003f4ec
mov r13, qword [r9 + 8]
cmp ebx, 0x12
je 0x14003f359
cmp dword [rdi - 0x10], r12d
je 0x14003f425
test r13, r13
je 0x14003f379
movzx eax, byte [r9 + 0x11]
cmp eax, dword [r13 + 0x20]
jl 0x14003f379
cmp byte [r13 + 0x5e], 0
je 0x14003fb63
xor eax, eax
mov r13d, eax
mov eax, dword [rdi - 0x10]
cmp eax, 0x12
je 0x14003f481
cmp eax, r12d
je 0x14003f481
test r13, r13
je 0x14003f410
lea rax, [0x1400792c0]
cmp qword [r13 + 0x10], rax
jne 0x14003f3ea
cmp byte [r9 + 0x11], 0
jne 0x14003f3ea
cmp dword [rdi - 0x10], 0
jne 0x14003f3ea
cmp dword [rdi - 0x30], 0xf
jne 0x14003f3ea
mov rcx, qword [rdi - 0x20]
xor edx, edx
call fcn.140079050
mov rdx, qword [rbp + 0x18]
mov r9, qword [rbp + 0x60d8]
mov r10d, dword [rbp + 0x60d0]
movsxd r8, r15d
lea r11, [0x1401272e0]
test rax, rax
je 0x14003f3ea
mov dword [rdi - 0x10], 1
mov qword [rdi - 0x20], rax
lea rax, [0x14007f2c0]
cmp qword [r13 + 0x10], rax
jne 0x14003f410
cmp dword [rdi - 0x10], 7
jne 0x14003f410
mov eax, dword [rdi - 0x10]
cmp qword [rdi - 0x18], 0
mov ecx, 4
cmove eax, ecx
mov dword [rdi - 0x10], eax
inc byte [r9 + 0x11]
cmp r12d, 0x11
jne 0x14003f425
test byte [r9 + 0x11], 1
jne 0x14003fb72
test r13, r13
je 0x14003f4ec
cmp ebx, 0xc
jne 0x14003f4f5
movzx eax, byte [r9 + 0x11]
cmp eax, dword [r13 + 0x24]
jge 0x14003f44d
cmp byte [r9 + 0x10], 2
jne 0x14003fb81
dec r15d
add rdi, 0x20
movsxd rcx, r15d
mov rax, qword [rbp + rcx*8 + 0x4060]
mov r9, qword [rax + 8]
mov rax, qword [rbp + rcx*8 + 0x4058]
cmp dword [rax + 0x10], 0x41
mov qword [rbp + 0x60d8], r9
je 0x14003f84b
jmp 0x14003f210
xor edx, edx
mov ecx, edx
cmp ebx, 0x12
jne 0x14003f4be
nop word [rax + rax]
mov rax, rdi
mov qword [rsi], rdi
add rdi, 0x20
mov dword [rax + 0x10], 3
mov qword [rax], r14
inc ecx
mov qword [rax + 0x18], rdx
inc r10d
add rsi, 8
cmp dword [rdi + 0x10], 0x12
je 0x14003f490
mov dword [rbp + 0x60d0], r10d
mov eax, dword [rdi + 0x10]
cmp eax, 0xe
jg 0x14003f4cf
cmp eax, 0xc
jge 0x14003fb90
test r13, r13
je 0x14003f4e3
movzx eax, byte [r9 + 0x11]
cmp eax, dword [r13 + 0x24]
jl 0x14003fb90
add byte [r9 + 0x11], cl
jmp 0x14003f210
cmp ebx, 0xc
je 0x14003f44d
jle 0x14003f5a5
cmp ebx, 0xe
jg 0x14003f5a5
mov dword [rdx + 0x10], 0x41
mov rax, qword [rdi + 8]
cmp word [rax + 2], 0x28
jne 0x14003f591
cmp ebx, 0xe
je 0x14003fb9f
lea rax, [0x140127160]
cmp qword [r9 + 8], rax
jne 0x14003fb9f
movzx eax, byte [r9 + 0x11]
cmp al, 2
ja 0x14003fb9f
cmp al, 1
jne 0x14003f563
mov byte [r9 + 0x11], 2
xor eax, eax
mov dword [rdi + 0x10], 3
inc r10d
mov qword [rdi], r14
mov qword [rsi], rdi
mov dword [rbp + 0x60d0], r10d
mov qword [rdi + 0x18], rax
mov rax, qword [rdx]
add rdi, 0x20
lea rcx, [0x140127460]
mov qword [rax + 8], rcx
mov rax, qword [rdx + 8]
mov qword [rbp + r8*8 + 0x4060], rdi
mov qword [rdi + 8], rax
inc r15d
add rdi, 0x20
jmp 0x14003f210
mov rax, qword [rdx + 8]
add rdi, 0x20
mov qword [rbp + 0x60d8], rax
jmp 0x14003f84b
mov rcx, r12
lea r12, [0x140000000]
mov rax, rbx
movzx eax, byte [rbx + r12 + 0x1276d0]
cmp byte [rcx + r12 + 0x1276d0], al
jae 0x14003f852
test r9, r9
jne 0x14003f648
lea rcx, [rdi + 0x20]
inc r15d
mov qword [rbp + r8*8 + 0x4060], rdi
cmp dword [rcx + 0x10], 0x44
je 0x14003f648
lea r11d, [r9 + 4]
cmp dword [rcx + 0x30], 0x25
jne 0x14003f641
mov eax, dword [rcx + 0x10]
cmp eax, r11d
je 0x14003f630
cmp eax, 7
jne 0x14003f641
cmp qword [rcx + 8], 0
jne 0x14003f641
mov rdx, qword [rcx]
movzx eax, byte [rdx + 0x23]
test al, al
jne 0x14003f614
mov rax, qword [rdx + 0x10]
movzx eax, byte [rax + 0x23]
cmp al, 1
je 0x14003f62c
movzx eax, byte [rdx + 0x23]
test al, al
jne 0x14003f628
mov rax, qword [rdx + 0x10]
movzx eax, byte [rax + 0x23]
cmp al, 2
jne 0x14003f641
mov dword [rcx + 0x10], r11d
mov dword [rcx + 0x30], reloc.WSOCK32.dll_send
add rcx, 0x40
cmp dword [rcx + 0x10], 0x44
jne 0x14003f5e7
lea r11, [0x1401272e0]
add rdi, 0x20
jmp 0x14003f210
mov qword [rbp + r8*8 + 0x4060], rdi
inc r15d
add rdi, 0x20
mov qword [rdi + 8], r9
cmp ebx, 0x41
jne 0x14003f66f
mov r9, qword [rdi - 0x20]
jmp 0x14003f691
cmp r12d, 0x42
jne 0x14003f68c
movsxd rax, r15d
mov rcx, qword [rbp + rax*8 + 0x4058]
mov dword [rcx + 0x10], 0x41
mov r9, qword [rcx]
jmp 0x14003f691
xor eax, eax
mov r9d, eax
movsxd rax, r15d
inc r15d
mov qword [rbp + 0x60d8], r9
mov qword [rbp + rax*8 + 0x4060], rdi
add rdi, 0x20
jmp 0x14003f210
mov qword [rdi + 8], r9
mov r9, qword [rdi]
mov qword [rbp + r8*8 + 0x4060], rdi
inc r15d
add rdi, 0x20
mov qword [rbp + 0x60d8], r9
jmp 0x14003f210
mov dword [rdi + 0x10], 0x41
mov qword [rbp + r8*8 + 0x4060], rdi
inc r15d
add rdi, 0x20
jmp 0x14003f84b
cmp r12d, 8
je 0x14003fbdb
test r9, r9
je 0x14003f70e
cmp r12d, 0x11
jne 0x14003f70e
inc byte [r9 + 0x11]
add rdi, 0x20
jmp 0x14003f210
cmp r12d, 0xf
je 0x14003fbcc
cmp r12d, 0x10
je 0x14003fbbd
cmp r12d, 0x11
je 0x14003fbae
cmp r12d, 0x21
jne 0x14003f84b
dec r15d
inc r10d
movsxd rcx, r15d
inc r15d
mov dword [rbp + 0x60d0], r10d
mov rax, qword [rbp + rcx*8 + 0x4060]
mov qword [rbp + rcx*8 + 0x4060], rdi
mov qword [rax + 0x18], rdi
add rdi, 0x20
mov qword [rsi], rax
jmp 0x14003f210
cmp r12d, 8
je 0x14003fc08
cmp r12d, 0xf
je 0x14003fbf9
cmp r12d, 0x10
je 0x14003fbea
cmp r12d, 0x11
jne 0x14003f84b
mov r9, r14
lea rdx, [0x1400f9048]
jmp 0x14003ff69
test r9, r9
je case.0x14003f2ec.19
mov eax, dword [rdi + 0x30]
cmp eax, 0xc
je 0x14003f7b2
cmp eax, 0xd
jne case.0x14003f2ec.19
mov byte [r9 + 0x10], 2
add rdi, 0x20
jmp 0x14003f210
cmp ebx, 0x1f
jg 0x14003f7ca
cmp ebx, 0x13
jge 0x14003f7d4
cmp ebx, 9
je 0x14003f7d4
cmp ebx, 0xa
jne 0x14003f7ea
lea rax, [rbp + 0x60]
cmp rdi, rax
jbe 0x14003f7ea
cmp dword [rdi - 0x10], 4
jne 0x14003f7ea
mov dword [rdi - 0x18], 1
lea rdx, [0x140000000]
movzx ecx, byte [rbx + rdx + 0x1276d0]
movzx edx, byte [r12 + rdx + 0x1276d0]
mov eax, ecx
and eax, 0x80000001
jge 0x14003f812
dec eax
or eax, 0xfffffffe
inc eax
add eax, ecx
cmp edx, eax
jl 0x14003fb1d
lea eax, [rbx - 0x13]
cmp eax, 0xc
ja 0x14003f82e
cmp r12d, 0x3d
jne 0x14003fb1d
cmp r12d, 0x3e
jne 0x14003f84b
cmp ebx, 0x39
jl 0x14003f842
cmp ebx, 0x3d
jle 0x14003fb1d
cmp ebx, 0x24
je 0x14003fb1d
lea r12, [0x140000000]
dec r15d
xor r13d, r13d
movsxd r8, r15d
mov rbx, qword [rbp + r8*8 + 0x4060]
mov qword [rsi], rbx
mov qword [rbx + 0x18], r13
mov edx, dword [rbx + 0x10]
cmp edx, 0x3f
jl 0x14003f88b
cmp edx, 0x40
jle 0x14003fa54
cmp edx, 0x41
je 0x14003f8c4
jle 0x14003f88b
cmp edx, 0x43
jle 0x14003fb00
lea eax, [rdx - 0x13]
cmp eax, 0xc
ja 0x14003fb07
cmp qword [rbx], r13
je 0x14003fb07
cmp edx, 0x13
je 0x14003fb00
lea eax, [rdx - 0x14]
cmp eax, 0xb
ja case.default.0x14003f8c2
cdqe
mov ecx, dword [r12 + rax*4 + 0x400a8]
add rcx, r12
jmp rcx
mov rdx, qword [rbx]
mov ecx, dword [rdi + 0x10]
lea r9, [0x140127160]
mov rax, qword [rdx + 8]
cmp rax, r9
je 0x14003f8ea
lea r9, [0x140127460]
cmp rax, r9
jne 0x14003fb07
lea eax, [rcx - 0x13]
cmp eax, 0xc
ja 0x14003f9ca
cmp ecx, 0x13
je 0x14003f99a
movzx r8d, byte [rdx + 0x11]
cmp r8d, 2
je 0x14003f93b
mov eax, dword [rsp]
sub rsp, 0x20
lea rcx, [rsp + 0x30]
mov eax, dword [rcx]
mov dword [rcx + 0x10], 1
inc r10d
mov qword [rsi], rcx
mov qword [rcx], r8
mov qword [rcx + 0x18], r13
mov r12d, 1
mov dword [rbp + 0x60d0], r10d
jmp 0x14003f93e
mov r12d, r13d
movsxd rcx, r10d
mov eax, dword [rsp]
sub rsp, 0x20
lea rsi, [rsp + 0x30]
mov eax, dword [rsi]
mov qword [rbp + rcx*8 + 0x5070], rsi
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov dword [rsi + 0x10], 0x41
call fcn.1400b60a0
mov qword [rsi], rax
test rax, rax
je 0x14003ff5f
mov r10d, dword [rbp + 0x60d0]
lea rcx, [0x140127220]
mov qword [rax + 8], rcx
mov rax, qword [rsi]
mov byte [rax + 0x10], 1
mov rax, qword [rsi]
mov byte [rax + 0x11], r12b
mov qword [rsi + 0x18], r13
jmp 0x14003f99d
dec r10d
mov rax, qword [rbx]
mov r9, qword [rbp + 0x60d8]
lea rcx, [0x1401271c0]
mov qword [rdi], rax
mov qword [rax + 8], rcx
mov rax, qword [rdi]
inc byte [rax + 0x11]
inc r10d
mov dword [rbp + 0x60d0], r10d
jmp 0x14003f201
cmp ecx, 8
jl 0x14003fb07
cmp ecx, 9
je 0x14003fa21
cmp ecx, 0xa
je 0x14003fa21
mov rax, qword [rbp + r8*8 + 0x4058]
mov ecx, dword [rax + 0x10]
cmp ecx, 0x3f
je 0x14003f9f6
cmp ecx, 0x40
jne 0x14003fb07
mov r9, qword [rbp + 0x60d8]
cmp ecx, 0x3f
lea rax, [0x140127340]
cmove rax, r11
dec r15d
inc r10d
mov dword [rbp + 0x60d0], r10d
mov qword [rdx + 8], rax
jmp 0x14003f201
mov r9, qword [rbp + 0x60d8]
cmp ecx, 9
lea rax, [0x140127400]
lea rcx, [0x1401273a0]
cmove rax, rcx
add rdi, 0x20
inc r10d
mov dword [rbp + 0x60d0], r10d
mov qword [rdx + 8], rax
jmp 0x14003f201
test r10d, r10d
je 0x14003fb07
mov rax, qword [rsi - 8]
cmp dword [rax + 0x10], 4
jne 0x14003fb07
mov r9, qword [rbp + 0x60d8]
inc r10d
mov dword [rax + 8], 1
mov dword [rbp + 0x60d0], r10d
jmp 0x14003f201
mov edx, reloc.WSOCK32.dll_gethostbyname
jmp case.default.0x14003f8c2
mov edx, getservbyport
jmp case.default.0x14003f8c2
mov edx, getservbyport
jmp case.default.0x14003f8c2
mov edx, reloc.WSOCK32.dll_getservbyname
jmp case.default.0x14003f8c2
mov edx, reloc.WSOCK32.dll_getservbyport
jmp case.default.0x14003f8c2
mov edx, 0x2e
jmp case.default.0x14003f8c2
mov edx, gethostbyaddr
jmp case.default.0x14003f8c2
mov edx, gethostbyname
jmp case.default.0x14003f8c2
mov edx, gethostbyname
jmp case.default.0x14003f8c2
mov edx, gethostbyname
jmp case.default.0x14003f8c2
mov edx, reloc.WSOCK32.dll_gethostbyaddr
jmp case.default.0x14003f8c2
mov edx, 0x2d
mov eax, dword [rsp]
sub rsp, 0x20
lea rcx, [rsp + 0x30]
mov eax, dword [rcx]
inc r10d
mov qword [rsi], rcx
mov dword [rcx + 0x10], edx
movsxd rax, r10d
mov qword [rcx + 0x18], r13
mov qword [rbp + rax*8 + 0x5070], rbx
mov dword [rbx + 0x10], 0x41
mov r9, qword [rbp + 0x60d8]
inc r10d
mov dword [rbp + 0x60d0], r10d
jmp 0x14003f201
lea eax, [rbx - 0x21]
cmp eax, 2
ja 0x14003fb32
test r10d, r10d
je 0x14003fb32
mov rax, qword [rsi - 8]
mov qword [rax + 0x18], rdi
mov qword [rbp + r8*8 + 0x4060], rdi
inc r15d
add rdi, 0x20
jmp 0x14003f210
lea rax, [0x1400fbe48]
lea rdx, [0x1400fba48]
cmp ebx, 0xd
cmove rdx, rax
mov r9, r14
jmp 0x14003ff69
mov r9, qword [r9]
lea rdx, [0x1400fbe70]
jmp 0x14003ff69
mov r9, r14
lea rdx, [0x1400fbec0]
jmp 0x14003ff69
mov r9, qword [r9]
lea rdx, [0x1400f61c0]
jmp 0x14003ff69
mov r9, qword [r9]
lea rdx, [0x1400fab08]
jmp 0x14003ff69
mov r9, qword [r9]
lea rdx, [0x1400fbf10]
jmp 0x14003ff69
mov r9, r14
lea rdx, [0x1400fbfe8]
jmp 0x14003ff69
mov r9, r14
lea rdx, [0x1400fbfb8]
jmp 0x14003ff69
mov r9, r14
lea rdx, [0x1400fbf88]
jmp 0x14003ff69
mov r9, r14
lea rdx, [0x1400fbf50]
jmp 0x14003ff69
mov r9, r14
lea rdx, [0x1400fae60]
jmp 0x14003ff69
mov r9, r14
lea rdx, [0x1400f8b58]
jmp 0x14003ff69
lea eax, [r10 + 1]
movsxd rcx, eax
shl rcx, 5
call fcn.1400b60a0
mov r9, qword [rbp + 0x60c8]
mov qword [r9 + 0x18], rax
test rax, rax
je 0x14003ff5f
xor edx, edx
mov qword [rbp + 0x28], rdx
test r13, r13
jle 0x14003ff41
lea rdi, [rbp + 0x5078]
mov dword [rbp + 0x60d8], 1
mov esi, edx
mov qword [rbp + 0x20], rdi
nop word [rax + rax]
mov r13, qword [r9 + 0x18]
mov rcx, qword [rdi - 8]
mov rax, qword [rcx]
mov qword [rsi + r13], rax
mov rax, qword [rcx + 8]
mov qword [rsi + r13 + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [rsi + r13 + 0x10], rax
mov rax, qword [rcx + 0x18]
mov qword [rsi + r13 + 0x18], rax
cmp dword [rsi + r13 + 0x10], 5
jne 0x14003fde8
mov rdi, qword [rsi + r13]
nop word [rax + rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14003fcaf
cmp ax, 9
jne 0x14003fcb5
add rdi, 2
jmp 0x14003fca0
movzx eax, word [rdi]
test ax, ax
je 0x14003fddf
cmp ax, 0x2d
je 0x14003fccd
cmp ax, 0x2b
jne 0x14003fcd1
add rdi, 2
cmp word [rdi], 0x30
jne 0x14003fd03
movzx eax, word [rdi + 2]
cmp ax, 0x78
je 0x14003fce7
cmp ax, 0x58
jne 0x14003fd03
movzx ecx, word [rdi + 4]
call fcn.1400d6b84
test eax, eax
je 0x14003fd01
add rdi, 4
mov eax, 1
xor edx, edx
jmp 0x14003fd05
xor edx, edx
mov eax, edx
movzx ebx, word [rdi]
cdqe
mov r12d, edx
mov r15d, edx
mov qword [rbp + 0x18], rax
cmp ebx, 0x20
je 0x14003fd80
nop dword [rax]
cmp ebx, 9
je 0x14003fd79
test ebx, ebx
je 0x14003fe3f
cmp ebx, 0x2e
jne 0x14003fd4a
test r12d, r12d
jne 0x14003fddd
test rax, rax
jne 0x14003fddd
lea r12d, [rbx - 0x2d]
jmp 0x14003fd6c
test rax, rax
je 0x14003fd99
movzx ecx, bx
call fcn.1400d94d4
xor ecx, ecx
test eax, eax
sete cl
test ecx, ecx
jne 0x14003fda1
mov r15d, 1
mov rax, qword [rbp + 0x18]
movzx ebx, word [rdi + 2]
add rdi, 2
cmp ebx, 0x20
jne 0x14003fd20
xor edx, edx
nop dword [rax + rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14003fd93
cmp ax, 9
jne 0x14003fe37
add rdi, 2
jmp 0x14003fd80
lea eax, [rbx - 0x30]
cmp eax, 9
jbe 0x14003fd62
movzx ecx, bx
call fcn.140014b80
cmp ax, 0x45
jne 0x14003fddd
test r12d, r12d
je 0x14003fddd
test r15d, r15d
je 0x14003fddd
movzx eax, word [rdi + 2]
cmp ax, 0x2d
je 0x14003fdc9
cmp ax, 0x2b
jne 0x14003fdcd
add rdi, 2
movzx eax, word [rdi + 2]
cmp ax, 0x30
jb 0x14003fddd
cmp ax, 0x39
jbe 0x14003fd68
xor edx, edx
mov qword [rsi + r13 + 8], rdx
mov rdi, qword [rbp + 0x20]
mov rax, qword [rsi + r13 + 0x18]
mov r8d, dword [rbp + 0x60d8]
test rax, rax
je 0x14003ff06
mov ecx, r8d
cmp qword [rdi], rax
je 0x14003fe1b
mov rdx, rax
mov rax, rdi
nop dword [rax + rax]
add rax, 8
inc ecx
cmp qword [rax], rdx
jne 0x14003fe10
mov r9, qword [rbp + 0x60c8]
movsxd rax, ecx
shl rax, 5
add rax, qword [r9 + 0x18]
mov qword [rsi + r13 + 0x18], rax
jmp 0x14003ff0d
cmp word [rdi], 0
jne 0x14003fddf
jmp 0x14003fe41
xor edx, edx
test r15d, r15d
je 0x14003fddf
test r12d, r12d
mov eax, edx
setne al
inc eax
cmp eax, 1
jne 0x14003fddf
cmp qword [0x14012c448], 0
jne 0x14003fe75
call fcn.1400b6130
mov qword [0x14012c448], rax
test rax, rax
jne 0x14003fe75
mov rdx, rax
jmp 0x14003feb5
mov rcx, qword [0x14012c450]
cmp qword [rcx + 0x10], 8
jae 0x14003fe9d
call fcn.1400b6130
mov rcx, qword [0x14012c450]
mov qword [rcx + 0x18], rax
test rax, rax
jne 0x14003fe9d
mov rdx, rax
jmp 0x14003feb5
mov rdx, qword [rcx + 8]
add qword [rcx + 0x10], 0xfffffffffffffff8
lea rax, [rdx + 8]
mov qword [0x14012c458], rdx
mov qword [rcx + 8], rax
mov qword [rsi + r13 + 8], rdx
test rdx, rdx
je 0x14003ff5f
mov rdi, qword [rsi + r13]
mov rcx, rdi
call fcn.1400057c0
mov rcx, rdi
test al, al
je 0x14003fef1
xor edx, edx
lea r8d, [rdx + 0x10]
call fcn.1400d6e8c
mov rdx, rax
mov rax, qword [rsi + r13 + 8]
mov qword [rax], rdx
jmp 0x14003fde4
call fcn.1400d6efc
mov rdx, rax
mov rax, qword [rsi + r13 + 8]
mov qword [rax], rdx
jmp 0x14003fde4
mov r9, qword [rbp + 0x60c8]
mov rdx, qword [rbp + 0x28]
movsxd rcx, dword [rbp + 0x60d0]
inc r8d
inc rdx
add rdi, 8
add rsi, 0x20
mov dword [rbp + 0x60d8], r8d
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x20], rdi
cmp rdx, rcx
jge 0x14003ff41
xor edx, edx
jmp 0x14003fc60
movsxd rdx, dword [rbp + 0x60d0]
mov rcx, qword [r9 + 0x18]
mov eax, 1
shl rdx, 5
mov dword [rdx + rcx + 0x10], 0x44
jmp 0x14003ff78
mov r9, r14
lea rdx, [0x1400f5a40]
xor r8d, r8d
mov rcx, qword [rbp + 0x60c0]
call fcn.14004e200
lea rsp, [rbp + 0x6078]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret