Function at 0x140048660
Capabilities:
Get keyboard layout
Log keystrokes

Disassembly:
mov dword [rsp + 0x18], r8d
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 - 0x8188]
mov eax, 0x8288
call fcn.1400d9fd0
sub rsp, rax
mov rdi, rdx
mov r15, rcx
cmp qword [rcx + 0x70], 0
jne 0x1400486ab
cmp dword [rcx + 0x94], 0
mov byte [rsp + 0x43], 0
je 0x1400486b0
mov byte [rsp + 0x43], 1
xor r12d, r12d
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], 0x1000
mov qword [rsp + 0x70], 3
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 0x1000
mov qword [rbp - 0x40], 3
mov dword [rcx + 0x2d8], r8d
mov dword [rbp - 0x78], r12d
mov edx, 0x2000
xor ecx, ecx
call fcn.1400c09ac
test rax, rax
je 0x14004ad6f
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], 0x1000
mov rbx, qword [rbp - 0x50]
test rbx, rbx
je 0x14004872c
add rbx, rbx
jmp 0x140048730
mov rbx, qword [rbp - 0x48]
lea rdx, [rbx + rbx]
mov rcx, qword [rbp - 0x60]
call fcn.1400c09ac
test rax, rax
je 0x14004ad6f
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x50], rbx
mov rax, qword [rsp + 0x50]
mov word [rax], r12w
lea r14, [0x1400fbbd0]
cmp qword [rsp + 0x58], 0xffffffffffffffff
je 0x14004ab3d
mov r8, qword [rbp - 0x68]
mov qword [rbp - 0x80], r8
movzx eax, byte [rbp + 0x81e8]
mov byte [rbp + 0x81e8], al
mov eax, dword [rbp - 0x74]
mov dword [rsp + 0x44], eax
movzx ecx, word [rbp + 0x81e0]
mov dword [rsp + 0x48], ecx
mov ebx, 0xffdf
mov eax, dword [rbp - 0x78]
mov dword [r15 + 0x2dc], eax
mov qword [r15 + 0x6b8], r12
lea rax, [rsp + 0x41]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x60]
lea r8, [rsp + 0x50]
mov rdx, rdi
mov rcx, r15
call fcn.14004bd10
test eax, eax
je 0x14004aecf
cmp qword [rsp + 0x58], 0
je 0x140049f21
nop dword [rax]
nop word [rax + rax]
mov rsi, r12
mov r13, r12
mov rcx, qword [rsp + 0x50]
cmp word [rcx], 0x3a
jne 0x140048933
lea rax, [rcx + 2]
movzx edx, word [rax]
test dx, dx
je 0x140048933
mov r10, rax
mov qword [rbp - 0x80], rax
cmp dx, 0x3a
je 0x14004884a
mov edx, 0x3a
mov rcx, rax
call fcn.1400bbe98
mov rsi, rax
mov rcx, qword [rsp + 0x50]
test rax, rax
je 0x140048930
add rsi, 2
mov r10, qword [rbp - 0x80]
jmp 0x140048859
cmp word [rcx + 4], 0
je 0x140048933
lea rsi, [rcx + 4]
mov qword [rbp - 0x70], rsi
test rsi, rsi
je 0x140048933
movzx edi, byte [0x140125b0c]
mov byte [rbp + 0x81e8], dil
mov rdx, r10
cmp r10, rsi
jae 0x1400488af
nop dword [rax]
movzx ecx, word [rdx]
lea eax, [rcx - 0x61]
cmp ax, 0x19
ja 0x14004888f
and cx, bx
add rdx, 2
cmp cx, 0x58
je 0x1400488a0
cmp rdx, rsi
jb 0x140048880
jmp 0x1400488af
cmp word [rdx], 0x30
setne dil
mov byte [rbp + 0x81e8], dil
mov rbx, rsi
lea r15, [0x140000000]
nop dword [rax]
movzx eax, word [rbx]
test ax, ax
je 0x140048911
cmp ax, 0x60
je 0x1400488da
cmp ax, 0x3a
je 0x1400488da
add rbx, 2
jmp 0x1400488c0
movzx eax, word [rbx]
test ax, ax
je 0x140048911
lea rdx, [rbx + 2]
cmp ax, 0x3a
jne 0x1400489ad
test r13, r13
jne 0x140048a25
cmp word [rdx], ax
jne 0x140048a25
mov r13, rbx
mov rbx, rdx
test dil, dil
je 0x140048a25
test r13, r13
mov r12d, 0
mov rsi, qword [rbp - 0x70]
mov r15, qword [rbp + 0x81d0]
jne 0x140048a6e
mov rcx, qword [rsp + 0x50]
mov rsi, r12
mov qword [rbp - 0x70], rsi
lea rdx, [0x1401048b0]
call fcn.1400bc860
mov r13, rax
test rax, rax
je 0x140048a82
mov rcx, qword [rsp + 0x50]
cmp rax, rcx
jne 0x140048964
cmp word [rax + 4], 0x3a
jne 0x140048964
add r13, 2
mov rbx, r13
cmp r13, rcx
jbe 0x140048988
nop dword [rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14004897f
cmp ax, 9
jne 0x140048988
sub rbx, 2
cmp rbx, rcx
ja 0x140048970
movzx edi, word [rbx]
mov word [rbx], r12w
mov rcx, qword [rsp + 0x50]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x1400489a7
cmp ax, 9
jne 0x140048a2e
add rcx, 2
jmp 0x140048994
movzx eax, word [rdx]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x1400489c5.99
cdqe
mov ecx, dword [r15 + rax*4 + 0x4aefc]
add rcx, r15
jmp rcx
mov word [rdx], 7
jmp case.0x1400489c5.99
mov word [rdx], 8
jmp case.0x1400489c5.99
mov word [rdx], reloc.WSOCK32.dll_ioctlsocket
jmp case.0x1400489c5.99
mov word [rdx], 0xa
jmp case.0x1400489c5.99
mov word [rdx], recv
jmp case.0x1400489c5.99
mov word [rdx], 9
jmp case.0x1400489c5.99
mov word [rdx], reloc.WSOCK32.dll_inet_ntoa
jmp case.0x1400489c5.99
mov word [rdx], SafeArrayAllocDescriptor
mov r8, 0xffffffffffffffff
lea r8, [r8 + 1]
cmp word [rdx + r8*2], 0
jne 0x140048a04
lea r8, [r8*2 + 2]
mov rcx, rbx
call fcn.1400bbf50
dec qword [rsp + 0x58]
add rbx, 2
jmp 0x1400488c0
xor r8d, r8d
xor edx, edx
call fcn.14001a180
mov r9d, eax
mov dword [rsp + 0x44], eax
test eax, eax
je 0x14004aecf
cmp eax, 4
cmove r13, r12
mov word [rbx], di
mov r10, qword [rbp - 0x80]
mov qword [rbp - 0x80], r10
movzx edi, byte [rbp + 0x81e8]
mov byte [rbp + 0x81e8], dil
test r13, r13
je 0x140048a82
jmp 0x140048a77
mov r9d, dword [rsp + 0x44]
mov r10, qword [rbp - 0x80]
cmp r13, qword [rsp + 0x50]
ja 0x140048d08
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
cmp word [rcx + rax*2 - 2], 0x3a
jne 0x140048af3
lea rsi, [r15 + 0x94]
cmp dword [rsi], 0
je 0x140048aae
mov rax, qword [0x14011f188]
cmp qword [rax + 0x28], 0
je 0x140048af3
mov rbx, qword [rsp + 0x50]
movzx eax, word [rbx]
cmp eax, 0x7f
ja 0x140048acc
mov ecx, eax
call fcn.1400c5550
test eax, eax
jne 0x140048acc
cmp word [rbx], 0x5f
jne 0x140048ad2
add rbx, 2
jmp 0x140048ab3
mov rax, rbx
mov rdi, qword [rsp + 0x50]
sub rax, rdi
sar rax, 1
inc rax
cmp rax, qword [rsp + 0x58]
jne 0x140048af3
cmp rbx, rdi
ja 0x1400499dc
mov rdi, qword [rsp + 0x50]
cmp word [rdi], 0x23
jne 0x140048b88
mov r8d, 6
lea rdx, [0x1400fffc0]
mov rcx, rdi
call fcn.1400c0a00
test eax, eax
jne 0x140048b63
mov rdx, qword [rsp + 0x50]
movzx eax, word [rdx + 0xc]
cmp ax, 0x20
je 0x140048b30
cmp ax, 9
jne 0x140048b68
lea rax, [rsp + 0x41]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x60]
lea r8, [rsp + 0x50]
mov rdx, qword [rbp + 0x81d8]
mov rcx, r15
call fcn.14004b160
test eax, eax
je 0x14004aecf
mov rdx, qword [rsp + 0x50]
mov ebx, dword [r15 + 0x2dc]
mov rcx, r15
call fcn.14004d110
test eax, eax
je 0x14004aecf
cmp eax, 3
je 0x140049a60
mov rax, qword [rsp + 0x50]
movzx ecx, word [rax]
cmp cx, 0x7b
je 0x140048ba0
cmp cx, 0x7d
jne 0x140049a79
lea rsi, [r15 + 0x94]
movsxd rdx, dword [rsi]
test edx, edx
je 0x140048c76
mov rax, qword [0x14011f188]
cmp qword [rax + 0x28], 0
jne 0x140048c76
cmp cx, 0x7b
je 0x14004aa6a
cmp qword [r15 + 0x2c8], 0
je 0x140048c00
mov qword [r15 + 0x2c8], r12
mov rcx, qword [r15 + 0x2d0]
test rcx, rcx
je 0x140048ca0
call fcn.1400c0990
mov qword [r15 + 0x2d0], r12
jmp 0x140048ca0
lea eax, [rdx - 1]
mov dword [rsi], eax
mov rdi, qword [r15 + rdx*8 + 0x90]
lea rdx, [0x1401059e0]
mov rcx, rdi
call fcn.1400055e0
test rax, rax
je 0x140048c2c
cmp dword [rax + 8], 5
jne 0x140048c2c
mov rbx, qword [rax]
jmp 0x140048c2f
mov rbx, r12
mov rcx, rdi
call fcn.14008f3d0
mov rcx, rbx
call fcn.14008f3d0
movsxd rax, dword [rsi]
mov rcx, qword [r15 + rax*8 + 0x98]
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
mov edx, 0x2e
lea rcx, [r15 + 0xc0]
call fcn.1400bbdec
test rax, rax
je 0x140048c6c
mov word [rax], r12w
jmp 0x140048ca0
mov word [r15 + 0xc0], r12w
jmp 0x140048ca0
cmp cx, 0x7b
setne dl
add dl, 3
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
call fcn.140050100
test eax, eax
je 0x14004aecf
mov rdx, qword [rsp + 0x50]
add rdx, 2
movzx eax, word [rdx]
cmp ax, 0x20
je 0x140048ca5
cmp ax, 9
je 0x140048ca5
test ax, ax
je 0x140049463
mov rax, rdx
sub rax, qword [rsp + 0x50]
sar rax, 1
mov rcx, qword [rsp + 0x58]
sub rcx, rax
mov qword [rsp + 0x58], rcx
lea r8, [rcx*2 + 2]
mov rcx, qword [rsp + 0x50]
call fcn.1400bbf50
mov qword [r15 + 0x6b8], r12
cmp qword [rsp + 0x58], 0
je 0x140049f1a
mov ebx, 0xffdf
jmp 0x1400487f0
mov rax, qword [0x14011f188]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x140048d22
cmp rcx, qword [r15 + 0x30]
jne 0x14004a418
cmp dword [r15 + 0x94], 0
jne 0x14004a418
mov word [r13], r12w
add r13, 4
mov rcx, r13
nop dword [rax]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x140048d4f
cmp ax, 9
jne 0x140048d55
add rcx, 2
jmp 0x140048d40
cmp ax, 0x7b
jne 0x140048d67
cmp word [rcx + 2], 0
jne 0x140048d67
mov r14b, 1
jmp 0x140048d6a
xor r14b, r14b
mov dword [rbp - 0x74], r14d
test rsi, rsi
je 0x140048d7c
test dil, dil
je 0x14004971d
mov r13, rcx
test rsi, rsi
jne 0x14004971d
mov qword [rbp - 0x68], rcx
cmp ax, 0x60
jne 0x140048da2
lea rax, [rcx + 2]
cmp word [rax], 0x7b
cmove r13, rax
mov qword [rbp - 0x68], r13
mov r15, r13
test r14b, r14b
jne 0x1400494a6
cmp word [r13], 0
je 0x1400494a6
movzx eax, word [r13 + 2]
test ax, ax
je 0x140048f8b
lea rdx, [0x140000000]
nop
cmp ax, 0x20
je case.0x140048df6.34
movzx eax, word [r15]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x140048df6.34
cdqe
movzx eax, byte [rdx + rax + 0x4af5c]
mov ecx, dword [rdx + rax*4 + 0x4af54]
add rcx, rdx
jmp rcx
add r15, 2
movzx eax, word [r15 + 2]
test ax, ax
jne 0x140048dd0
mov dword [rsp + 0x44], r9d
mov byte [rbp + 0x81e8], dil
mov qword [rbp - 0x80], r10
mov qword [rbp - 0x70], rsi
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
movzx ecx, word [r15]
test cx, cx
jne 0x140048e33
xor r13b, r13b
jmp 0x140048f80
movzx edx, word [r15 + 2]
test dx, dx
jne 0x140048e6e
mov r9b, 1
mov r8, rax
xor edx, edx
call fcn.1400234a0
movzx r13d, al
mov qword [rbp - 0x70], rsi
mov r8, qword [rbp - 0x80]
mov qword [rbp - 0x80], r8
mov byte [rbp + 0x81e8], dil
mov esi, dword [rsp + 0x44]
mov dword [rsp + 0x44], esi
jmp 0x140048f80
lea eax, [rcx - 0x61]
mov r11d, 0xffdf
cmp ax, 0x19
ja 0x140048e81
and cx, r11w
cmp cx, 0x56
jne 0x140048ec1
lea eax, [rdx - 0x61]
cmp ax, 0x19
ja 0x140048e94
and dx, r11w
cmp dx, 0x4b
jne 0x140048ec1
lea rcx, [r15 + 4]
mov r8d, reloc.WSOCK32.dll_recv
lea rdx, [rbp - 0x28]
call fcn.1400c7278
mov r13d, r12d
movzx ecx, al
mov rax, qword [rbp - 0x28]
cmp word [rax], 0
cmove r13d, ecx
jmp 0x140048e4e
mov rdi, r12
lea r13, [0x14011f3a0]
mov rbx, r13
mov qword [rbp - 0x70], rsi
mov r8, qword [rbp - 0x80]
mov qword [rbp - 0x80], r8
movzx eax, byte [rbp + 0x81e8]
mov byte [rbp + 0x81e8], al
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x44], eax
nop
mov rdx, r15
mov rcx, qword [rbx]
call fcn.1400c0814
test eax, eax
je 0x140048f77
inc rdi
add rbx, 0x10
lea rax, [0x14011fa50]
cmp rbx, rax
jl 0x140048ef0
xor edx, edx
mov rcx, r15
call fcn.140023250
test ax, ax
je 0x140048e2b
movzx edx, ax
sub edx, 0x45
je 0x140048f6f
sub edx, 0xf1
je 0x140048f3a
cmp edx, 0xf
jne 0x140048f44
mov ecx, 0xff
and ax, cx
jmp 0x140048f49
mov ecx, 0xff
bt ax, 8
jae 0x140048f5b
and ax, cx
mov ecx, 0xe000
or ax, cx
movzx ecx, ax
mov edx, 3
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
movzx r13d, al
jmp 0x140048f80
mov al, reloc.WSOCK32.dll_send
movzx r13d, al
jmp 0x140048f80
add rdi, rdi
movzx r13d, byte [r13 + rdi*8 + 8]
test r13b, r13b
je 0x1400494fa
jmp 0x140048f8e
mov r13b, 0xff
mov rbx, qword [rsp + 0x50]
cmp word [rbx], 0
je case.0x140048fd5.34
cmp word [rbx + 2], 0
je case.0x140048fd5.34
movzx eax, word [rbx + 2]
lea rdx, [0x140000000]
nop dword [rax + rax]
cmp ax, 0x20
je case.0x140048fd5.34
movzx eax, word [rbx]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x140048fd5.34
cdqe
movzx eax, byte [rdx + rax + 0x4afc4]
mov ecx, dword [rdx + rax*4 + 0x4afbc]
add rcx, rdx
jmp rcx
add rbx, 2
movzx eax, word [rbx + 2]
test ax, ax
jne 0x140048fb0
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
mov qword [rsp + 0x20], rax
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.140023340
movzx r12d, al
lea rdx, [0x1401014c8]
mov rcx, rbx
call fcn.1400bc860
mov rsi, rax
lea ecx, [r12 - 1]
cmp cl, 5
ja 0x140049024
cmp r12b, 3
jne 0x14004902e
lea ecx, [r12 + 0x66]
cmp cl, 5
ja 0x140049032
mov cl, 1
jmp 0x140049034
xor cl, cl
lea eax, [r13 - 1]
cmp al, 5
ja 0x140049042
cmp r13b, 3
jne 0x14004904a
lea eax, [r13 + 0x66]
cmp al, 5
ja 0x14004904f
mov r14b, 1
jmp 0x140049052
xor r14b, r14b
test cl, cl
jne 0x140049060
test r14b, r14b
je 0x140049060
mov dil, 1
jmp 0x140049063
xor dil, dil
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x140049070
cmp rax, 1
jne 0x14004909d
movzx ecx, word [rbx]
call qword [sym.imp.USER32.dll_IsCharUpperW]
test eax, eax
je 0x14004909d
lea rcx, [0x140104940]
lea rax, [0x1400fbbd0]
jmp 0x1400490a7
lea rax, [0x1400fbbd0]
mov rcx, rax
lea r9, [0x1400ffd5c]
test rsi, rsi
cmovne r9, rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r8, [0x140102f40]
mov edx, SafeArrayAllocDescriptor
lea rcx, [rbp + 0x30]
call fcn.14009cd90
movzx eax, word [r15]
cmp ax, 0x22
je 0x140049103
cmp ax, 0x60
je 0x140049103
mov r8d, SafeArrayAllocDescriptor
mov rdx, r15
lea rcx, [rbp - 0x10]
call fcn.1400cf354
xor esi, esi
mov word [rbp + 0x2e], si
jmp 0x140049116
mov ecx, 0x60
mov word [rbp - 0x10], cx
mov word [rbp - 0xe], ax
xor esi, esi
mov word [rbp - 0xc], si
mov r8d, 7
mov rdx, qword [rbp - 0x68]
lea rcx, [rbp - 0x38]
call fcn.1400cf354
mov word [rbp - 0x2a], si
sub r15, qword [rbp - 0x68]
sar r15, 1
cmp r15, 8
jae 0x140049140
mov word [rbp + r15*2 - 0x38], si
cmp word [rbp - 0x38], 0
jne 0x140049165
cmp r13b, 0x13
jne 0x140049165
lea rdx, [0x1400fd058]
lea rcx, [rbp - 0x10]
call fcn.1400c0814
test eax, eax
je 0x1400494f3
mov rbx, qword [rbp + 0x81d0]
cmp qword [rbx + 0x30], 0
jne 0x140049f2d
mov rcx, rbx
call fcn.140062b40
test rax, rax
je 0x14004a025
lea r8, [rsp + 0x42]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x30]
call fcn.14001a910
mov rcx, qword [rbx + 0x30]
test rax, rax
je 0x1400491b7
movzx r8d, byte [rsp + 0x40]
mov rdx, rcx
mov rcx, rax
call fcn.14001a050
jmp 0x1400491c8
xor edx, edx
movzx r9d, byte [rsp + 0x40]
lea r8, [rbp + 0x30]
call fcn.140019540
test rax, rax
je 0x14004a025
lea r15, [0x1400fd328]
test r14b, r14b
lea rax, [0x1400fd340]
cmovne r15, rax
mov r8, r15
lea rdx, [0x1401049b8]
lea rcx, [rbp + 0x170]
call fcn.140006dc0
movsxd rcx, eax
lea rsi, [rbp + 0x170]
lea rsi, [rsi + rcx*2]
test dil, dil
je 0x140049229
lea r8, [rbp - 0x10]
lea rdx, [0x1401049c8]
mov rcx, rsi
call fcn.140006dc0
movsxd rcx, eax
lea rsi, [rsi + rcx*2]
lea rdi, [rbp - 0x20]
lea rbx, [0x1401049f8]
movzx eax, word [0x1401049f8]
nop dword [rax + rax]
movzx edx, ax
lea rcx, [rbp + 0x30]
call fcn.1400bbe98
test rax, rax
je 0x140049273
cmp word [rax + 2], 0
je 0x140049273
movzx edx, word [rbx]
lea rcx, [rbp - 0x38]
call fcn.1400bbe98
test rax, rax
jne 0x140049273
movzx eax, word [rbx]
mov word [rdi], ax
add rdi, 2
add rbx, 2
movzx eax, word [rbx]
test ax, ax
jne 0x140049240
xor eax, eax
mov word [rdi], ax
lea r14, [0x1400fbbd0]
mov r9, r14
movzx ecx, r13b
sub ecx, 0x12
je 0x1400492a4
sub ecx, 0x92
je 0x1400492a4
cmp ecx, 1
jne 0x1400492c9
mov ecx, r12d
sub ecx, 0x11
je 0x1400492c2
sub ecx, 0x91
je 0x1400492c2
cmp ecx, 1
jne 0x1400492c9
lea r9, [0x140104a20]
jmp 0x1400492c9
lea r9, [0x140104a08]
lea rax, [rbp - 0x10]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x20]
lea rdx, [0x140104a40]
mov rcx, rsi
call fcn.140006dc0
mov byte [rsp + 0x28], 0
xor r12d, r12d
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov dl, 3
mov rbx, qword [rbp + 0x81d0]
mov rcx, rbx
call fcn.140050100
test eax, eax
je 0x14004aecf
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x170]
mov rcx, rbx
call fcn.14004e340
test eax, eax
je 0x14004aecf
mov byte [rsp + 0x28], r12b
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov dl, 4
mov rcx, rbx
call fcn.140050100
test eax, eax
je 0x14004aecf
lea r8, [rbp + 0x30]
lea rdx, [0x140104a80]
lea rcx, [rbp + 0x170]
call fcn.140006dc0
mov rcx, rbx
call fcn.140062b40
test rax, rax
je 0x14004aecf
lea r8, [rsp + 0x42]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x170]
call fcn.14001a910
mov rcx, qword [rbx + 0x30]
test rax, rax
je 0x1400493b8
movzx r8d, byte [rsp + 0x40]
mov rdx, rcx
mov rcx, rax
call fcn.14001a050
jmp 0x1400493cc
xor edx, edx
movzx r9d, byte [rsp + 0x40]
lea r8, [rbp + 0x170]
call fcn.140019540
test rax, rax
je 0x14004aecf
lea r9, [rbp - 0x10]
mov r8, r15
lea rdx, [0x140104a90]
lea rcx, [rbp + 0x170]
call fcn.140006dc0
mov byte [rsp + 0x28], r12b
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov dl, 3
mov r15, qword [rbp + 0x81d0]
mov rcx, r15
call fcn.140050100
test eax, eax
je 0x14004aecf
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x170]
mov rcx, r15
call fcn.14004e340
test eax, eax
je 0x14004aecf
mov byte [rsp + 0x28], r12b
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov dl, 4
mov rcx, r15
call fcn.140050100
test eax, eax
je 0x14004aecf
lea rsi, [r15 + 0x94]
mov rdi, qword [rbp + 0x81d8]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rbp - 0x60]
mov qword [rsp + 0x50], rax
mov qword [rbp - 0x60], rcx
mov rcx, qword [rsp + 0x60]
mov rax, qword [rbp - 0x50]
mov qword [rsp + 0x60], rax
mov qword [rbp - 0x50], rcx
mov rax, qword [rbp - 0x58]
mov qword [rsp + 0x58], rax
cmp rax, 0xffffffffffffffff
je 0x14004ab44
jmp 0x140048791
test r13, r13
jne 0x1400494fe
movzx esi, r12w
mov dword [rsp + 0x48], esi
lea r8, [rsp + 0x42]
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
call fcn.14001a910
mov rbx, rax
test rax, rax
je 0x14004961d
test si, si
je 0x140049598
mov word [rax + 6], si
mov r15, qword [rbp + 0x81d0]
movzx edi, byte [rbp + 0x81e8]
jmp 0x1400498c7
mov r14d, dword [rbp - 0x74]
xor r12d, r12d
mov r13, qword [rbp - 0x68]
cmp word [r13], 0
je 0x1400494ab
lea rdx, [0x1401031c0]
mov rcx, r13
call fcn.1400c0814
test eax, eax
jne 0x140049520
mov esi, 0x7ffe
jmp 0x1400494af
lea rdx, [0x1401031d0]
mov rcx, r13
call fcn.1400c0814
test eax, eax
jne 0x14004953d
mov esi, 0x7ffd
jmp 0x1400494af
lea rdx, [0x1401031e8]
mov rcx, r13
call fcn.1400c0814
test eax, eax
jne 0x14004955a
mov esi, 0x7ffc
jmp 0x1400494af
lea rdx, [0x140103200]
mov rcx, r13
call fcn.1400c0814
test eax, eax
jne 0x140049577
mov esi, 0x7ffb
jmp 0x1400494af
lea rdx, [0x140103220]
mov rcx, r13
call fcn.1400c0814
test eax, eax
jne 0x1400494ab
mov esi, 0x7ffa
jmp 0x1400494af
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x1400495c3
mov rax, qword [0x14011f188]
mov rdx, qword [rax + 0x80]
nop
cmp qword [rcx + 0x10], rdx
je 0x14004a03f
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x1400495b0
mov r15, qword [rbp + 0x81d0]
cmp qword [r15 + 0x30], 0
jne 0x1400495e2
mov rcx, r15
call fcn.140062b40
test rax, rax
je 0x14004aecf
movzx r8d, byte [rsp + 0x40]
mov rdx, qword [r15 + 0x30]
mov rcx, rbx
call fcn.14001a050
test rax, rax
je 0x14004a0ad
cmp byte [rsp + 0x42], 0
jne 0x14004960d
cmp byte [0x140125aef], 0
je 0x140049611
mov byte [rbx + 0x14], 1
movzx edi, byte [rbp + 0x81e8]
jmp 0x1400498c7
mov r15, qword [rbp + 0x81d0]
mov rax, qword [r15 + 0x30]
test si, si
je 0x140049690
test rax, rax
je 0x1400496a6
mov rdi, qword [r15 + 0x6b8]
movzx eax, byte [0x140127dbc]
test rdi, rdi
je 0x14004a21c
test al, al
je 0x14004a21c
mov rax, qword [0x14011f188]
cmp dword [rax + 0x60], 0
jne 0x14004a1bb
cmp dword [r15 + 0x718], 0
jne 0x14004a1bb
cmp byte [0x140121a8a], 0
jne 0x14004a1bb
lea r9, [0x1400fbbd0]
lea rdx, [0x140104950]
jmp 0x14004adbc
test rax, rax
jne 0x1400496a6
mov rcx, r15
call fcn.140062b40
test rax, rax
je 0x14004aecf
movzx r9d, byte [rsp + 0x40]
mov r8, qword [rsp + 0x50]
movzx edx, si
mov rcx, qword [r15 + 0x30]
call fcn.140019540
test rax, rax
jne 0x140049611
cmp dword [rsp + 0x44], 3
jne 0x14004aecf
cmp byte [r15 + 0x7a4], al
jne 0x140049611
mov r9, qword [rsp + 0x50]
lea r8, [0x140104b90]
mov edx, 0x80
lea rcx, [rbp + 0x70]
call fcn.14009cd90
mov qword [rsp + 0x20], r12
xorps xmm3, xmm3
xor r8d, r8d
mov edx, 0x10000
lea rcx, [rbp + 0x70]
call fcn.1400a3a00
movzx edi, byte [rbp + 0x81e8]
jmp 0x1400498c7
cmp word [rsi], 0
je 0x14004a328
test dil, dil
je 0x140049776
cmp word [r13], 0
je 0x14004a263
test r14b, r14b
jne 0x14004a263
lea rbx, [r15 + 0x30]
cmp qword [rbx], 0
jne 0x14004975c
mov rcx, r15
call fcn.140062b40
test rax, rax
je 0x14004aecf
test dil, dil
jne 0x14004987c
test r14b, r14b
jne 0x14004987c
mov rcx, r13
jmp 0x140049883
test r14b, r14b
je 0x1400497d2
cmp byte [0x140125b25], 0
setne r8b
mov rdx, r10
cmp r10, rsi
jae 0x1400497c7
mov r11d, 0xffdf
movzx ecx, word [rdx]
lea eax, [rcx - 0x61]
cmp ax, 0x19
ja 0x1400497a4
and cx, r11w
cmp cx, 0x52
je 0x1400497b6
cmp cx, 0x54
je 0x1400497b6
add rdx, 2
jmp 0x1400497c2
add rdx, 2
cmp word [rdx], 0x30
setne r8b
cmp rdx, rsi
jb 0x140049794
movzx r14d, r14b
test r8b, r8b
cmovne r14d, r12d
movzx eax, r14b
cmp word [r13], 0
je 0x140049741
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x80], r10
mov byte [rbp + 0x81e8], dil
mov dword [rsp + 0x44], r9d
test al, al
jne 0x140049741
test dil, dil
jne 0x140049741
lea rbx, [r15 + 0x30]
cmp qword [rbx], 0
je 0x14004976e
dec dword [r15 + 0x2dc]
mov ecx, dword [r15 + 0x2dc]
mov rdi, qword [r15 + 0x6b8]
movzx eax, byte [0x140127dbc]
test rdi, rdi
je 0x14004a30a
test al, al
je 0x14004a30a
mov rax, qword [0x14011f188]
cmp dword [rax + 0x60], 0
jne 0x140049866
cmp dword [r15 + 0x718], 0
jne 0x140049866
cmp byte [0x140121a8a], r14b
je 0x14004967d
mov ecx, reloc.WSOCK32.dll_getservbyport
call fcn.1400ba174
lea rdx, [0x140104950]
jmp 0x14004adea
lea rcx, [0x1400fbbd0]
mov byte [rsp + 0x30], 0
movzx eax, byte [rsp + 0x41]
mov byte [rsp + 0x28], al
mov qword [rsp + 0x20], rcx
mov r9, rsi
mov r8, qword [rbp - 0x80]
mov rdx, qword [rbx]
mov rcx, qword [rsp + 0x50]
call fcn.14001b560
test eax, eax
je 0x14004aecf
lea rsi, [r15 + 0x94]
cmp qword [rbx], 0
je 0x1400499d0
mov esi, dword [rsp + 0x48]
cmp word [r13], 0
je 0x1400499c9
test r14b, r14b
je 0x1400498df
mov dl, 3
jmp 0x1400499a9
cmp qword [rbp - 0x70], 0
je 0x1400498ec
movzx eax, dil
jmp 0x1400498f5
mov eax, r12d
test si, si
sete al
test eax, eax
je 0x1400499c9
mov rax, r13
mov rcx, qword [rsp + 0x50]
sub rax, rcx
sar rax, 1
mov r8, qword [rsp + 0x58]
sub r8, rax
mov qword [rsp + 0x58], r8
add r8, r8
mov rdx, r13
call fcn.1400bbf50
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
mov word [rcx + rax*2], r12w
lea rax, [rsp + 0x41]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x60]
lea r8, [rsp + 0x50]
mov rdx, qword [rbp + 0x81d8]
mov rcx, r15
call fcn.14004b160
test eax, eax
je 0x14004aecf
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov dl, 3
mov rcx, r15
call fcn.140050100
test eax, eax
je 0x14004aecf
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0x50]
mov rcx, r15
call fcn.14004e340
test eax, eax
je 0x14004aecf
mov dl, 4
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
call fcn.140050100
test eax, eax
je 0x14004aecf
lea rsi, [r15 + 0x94]
lea r14, [0x1400fbbd0]
jmp 0x140049463
mov rcx, qword [rsp + 0x58]
dec rcx
mov qword [rsp + 0x58], rcx
mov rax, qword [rsp + 0x50]
mov word [rax + rcx*2], r12w
lea rdx, [0x140101a50]
mov rcx, qword [rsp + 0x50]
call fcn.1400c0814
test eax, eax
jne 0x140049a3b
mov rax, qword [r15 + 0x70]
test rax, rax
je 0x140049a3b
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x140049a3b
cmp byte [rcx], 0x1a
jne 0x140049a3b
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov dl, reloc.OLEAUT32.dll_DispGetParam
mov rcx, r15
call fcn.140050100
jmp 0x140049a53
cmp qword [r15 + 0x30], 0
jne 0x14004a4f6
mov rdx, qword [rsp + 0x50]
mov rcx, r15
call fcn.14004e190
test eax, eax
je 0x14004aecf
jmp 0x140049463
mov eax, dword [rbp + 0x81e0]
mov dword [r15 + 0x2d8], eax
mov dword [r15 + 0x2dc], ebx
jmp 0x14004945c
mov rdi, qword [rsp + 0x50]
mov r8d, 5
lea rdx, [0x1401047c8]
mov rcx, rdi
call fcn.1400c0a00
test eax, eax
jne 0x140049bd7
movzx eax, word [rdi + 0xa]
cmp ax, 0x20
je 0x140049aaf
cmp ax, 9
jne 0x140049bd7
add rdi, 0xc
movzx edx, word [rdi]
cmp dx, 0x20
je 0x140049ac2
cmp dx, 9
jne 0x140049ac8
add rdi, 2
jmp 0x140049ab3
lea rcx, [0x1401047d8]
call fcn.1400bbe98
test rax, rax
jne 0x140049bd7
mov r8, qword [0x14011f188]
cmp qword [r8 + 0x28], rax
jne 0x14004a6ad
mov rdx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
cmp word [rdx + rax*2 - 2], 0x7b
jne 0x140049b68
dec rax
cmp word [rdx], 0
je 0x140049bc7
cmp rax, 0xffffffffffffffff
jne 0x140049b1d
inc rax
cmp word [rdx + rax*2], 0
jne 0x140049b13
lea rax, [rax - 1]
lea rax, [rdx + rax*2]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x140049b34
cmp cx, 9
jne 0x140049b3f
cmp rax, rdx
je 0x140049b54
sub rax, 2
jmp 0x140049b25
mov word [rax + 2], r12w
mov rdx, rdi
mov rcx, r15
call fcn.140052640
jmp 0x140049454
mov word [rax], r12w
mov rdx, rdi
mov rcx, r15
call fcn.140052640
jmp 0x140049454
mov r9, qword [rbp - 0x60]
cmp word [r9], 0x7b
jne 0x14004a5c1
lea rdx, [r9 + 2]
mov rax, rdx
nop
movzx ecx, word [rax]
cmp cx, 0x20
je 0x140049b8f
cmp cx, 9
jne 0x140049b95
add rax, 2
jmp 0x140049b80
sub rax, r9
sar rax, 1
mov r8, qword [rbp - 0x58]
sub r8, rax
mov qword [rbp - 0x58], r8
je 0x140049bc3
add r8, r8
mov rcx, r9
call fcn.1400bbf50
mov rdx, rdi
mov rcx, r15
call fcn.140052640
jmp 0x140049454
mov word [r9], r12w
mov rdx, rdi
mov rcx, r15
call fcn.140052640
jmp 0x140049454
lea rax, [rsp + 0x41]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x60]
lea r8, [rsp + 0x50]
mov rdi, qword [rbp + 0x81d8]
mov rdx, rdi
mov rcx, r15
call fcn.14004b160
test eax, eax
je 0x14004aecf
mov rax, qword [0x14011f188]
cmp qword [r15 + 0x2c8], 0
je 0x140049cf2
cmp qword [rax + 0x28], 0
jne 0x140049cf2
mov r8d, 3
lea rdx, [0x140104ce0]
mov rcx, qword [rsp + 0x50]
call fcn.1400c0a00
test eax, eax
je 0x140049c67
mov r8d, 3
lea rdx, [0x140104ce8]
mov rcx, qword [rsp + 0x50]
call fcn.1400c0a00
test eax, eax
jne 0x14004a785
mov rdx, qword [rsp + 0x50]
lea rbx, [rdx + 6]
movzx ecx, word [rbx]
cmp cx, 0x20
je 0x140049c7f
cmp cx, 9
jne 0x140049c85
add rbx, 2
jmp 0x140049c70
test cx, cx
jne 0x140049c94
mov rax, qword [rbp - 0x60]
cmp word [rax], 0x7b
je 0x140049cb6
cmp cx, 0x7b
jne 0x140049ca1
cmp word [rbx + 2], 0
jmp 0x140049cb0
cmp cx, 0x3d
jne 0x14004a78a
cmp word [rbx + 2], 0x3e
jne 0x14004a78a
mov edx, 0x2e
mov rcx, qword [r15 + 0x2d0]
call fcn.1400bbe98
mov rcx, qword [rsp + 0x50]
movzx edx, word [rcx]
mov word [rax + 2], dx
mov r8, rbx
mov rcx, r15
call fcn.140053410
test eax, eax
je 0x14004aecf
lea rsi, [r15 + 0x94]
jmp 0x14004946a
lea r13, [r15 + 0x94]
cmp dword [r13], 0
je 0x140049ec8
cmp qword [rax + 0x28], 0
jne 0x140049ec8
mov rdi, qword [rsp + 0x50]
xor sil, sil
mov r8d, 6
lea rdx, [0x1400fffb0]
mov rcx, rdi
call fcn.1400c0a00
test eax, eax
jne 0x140049d77
movzx eax, word [rdi + 0xc]
cmp ax, 0x20
je 0x140049d40
cmp ax, 9
jne 0x140049d77
add rdi, 0xe
movzx eax, word [rdi]
cmp eax, 0x20
je 0x140049d51
cmp eax, 9
jne 0x140049d57
add rdi, 2
jmp 0x140049d44
cmp eax, 0x7f
ja 0x140049d74
mov ecx, eax
call fcn.1400c5550
test eax, eax
jne 0x140049d74
cmp word [rdi], 0x5f
je 0x140049d74
mov rdi, qword [rsp + 0x50]
jmp 0x140049d77
mov sil, 1
mov rdx, qword [rbp - 0x60]
mov rcx, rdi
call fcn.140047d80
test al, al
je 0x140049da9
xor r9d, r9d
movzx r8d, sil
mov rdx, rdi
mov rcx, r15
call fcn.140051820
test eax, eax
je 0x14004aecf
mov rsi, r13
jmp 0x140049463
mov rbx, rdi
nop dword [rax]
movzx eax, word [rbx]
cmp eax, 0x7f
ja 0x140049dd2
mov ecx, eax
call fcn.1400c5550
test eax, eax
jne 0x140049dd2
movzx eax, word [rbx]
cmp ax, 0x5f
je 0x140049dd2
cmp ax, 0x2e
jne 0x140049dd8
add rbx, 2
jmp 0x140049db0
cmp rbx, rdi
jbe 0x14004a973
cmp ax, 0x20
je 0x140049ded
cmp ax, 9
jne 0x140049df6
add rbx, 2
movzx eax, word [rbx]
jmp 0x140049de1
cmp ax, 0x3a
jne 0x140049e22
cmp word [rbx + 2], 0x3d
jne 0x140049e22
movzx r8d, sil
mov rdx, rdi
mov rcx, r15
call fcn.140053550
test eax, eax
je 0x14004aecf
mov rsi, r13
jmp 0x140049463
test ax, ax
je 0x140049e48
cmp ax, 0x5b
je 0x140049e48
cmp ax, 0x7b
je 0x140049e48
cmp ax, 0x3d
jne 0x14004a973
cmp word [rbx + 2], 0x3e
jne 0x14004a973
lea r9, [rsp + 0x78]
movzx r8d, sil
mov rdx, rdi
mov rcx, r15
call fcn.140052fd0
test eax, eax
je 0x14004aecf
cmp byte [rsp + 0x78], 0
jne 0x140049ec0
mov r9, qword [rbp - 0x60]
cmp word [r9], 0x7b
jne 0x14004a87c
lea rdx, [r9 + 2]
mov rax, rdx
movzx ecx, word [rax]
cmp cx, 0x20
je 0x140049e90
cmp cx, 9
jne 0x140049e96
add rax, 2
jmp 0x140049e81
sub rax, r9
sar rax, 1
mov r8, qword [rbp - 0x58]
sub r8, rax
mov qword [rbp - 0x58], r8
je 0x140049ebc
add r8, r8
mov rcx, r9
call fcn.1400bbf50
mov rsi, r13
jmp 0x140049463
mov word [r9], r12w
mov rsi, r13
jmp 0x140049463
mov rdx, qword [rbp - 0x60]
mov rcx, qword [rsp + 0x50]
call fcn.140047d80
xor r8d, r8d
mov rdx, qword [rsp + 0x50]
mov rcx, r15
test al, al
je 0x140049efd
xor r9d, r9d
call fcn.140051820
test eax, eax
je 0x14004aecf
mov rsi, r13
jmp 0x14004946a
mov rsi, r13
mov qword [rsp + 0x20], r12
xor r9d, r9d
call fcn.14004e340
test eax, eax
je 0x14004aecf
jmp 0x14004946a
mov rdi, qword [rbp + 0x81d8]
lea rsi, [r15 + 0x94]
jmp 0x14004946a
mov rdi, qword [rbx + 0x6b8]
movzx eax, byte [0x140127dbc]
test rdi, rdi
je 0x140049ff0
test al, al
je 0x140049ff0
mov rax, qword [0x14011f188]
cmp dword [rax + 0x60], 0
jne 0x140049f96
cmp dword [rbx + 0x718], 0
jne 0x140049f96
cmp byte [0x140121a8a], 0
jne 0x140049f96
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rdi
lea r9, [0x1400fbbd0]
xor r8d, r8d
lea rdx, [0x140104950]
mov rcx, rbx
call fcn.140010840
mov r12d, eax
jmp 0x14004aecf
mov ecx, reloc.WSOCK32.dll_getservbyport
call fcn.1400ba174
mov rbx, rax
mov qword [rbp + 0x81d0], rax
xor r9d, r9d
lea r8, [0x1400fbbd0]
lea rdx, [0x140104950]
mov rcx, rdi
call fcn.14000ed60
mov qword [rbx], rax
test rax, rax
je 0x140049fdb
mov dword [rbx + 0x10], 5
mov qword [rbx + 0x20], rsi
jmp 0x14004ae19
mov edx, reloc.WSOCK32.dll_getservbyport
mov rcx, rbx
call fcn.1400ba16c
xor r12d, r12d
jmp 0x14004ae43
cmp byte [0x140127dbf], 0
je 0x14004a02d
test al, al
jne 0x14004a02d
mov eax, dword [rbx + 0x2dc]
mov dword [rsp + 0x20], eax
movzx r9d, word [rbx + 0x2d8]
lea r8, [0x1400fbbd0]
lea rdx, [0x140104950]
mov rcx, rbx
call fcn.14000f6f0
xor r12d, r12d
jmp 0x14004aecf
xor r12d, r12d
lea rdx, [0x140104950]
mov rcx, rbx
jmp 0x14004aeb5
mov rbx, qword [rbp + 0x81d0]
mov qword [rbx + 0x6b8], r12
mov rax, qword [rsp + 0x50]
test rax, rax
lea rcx, [0x1400fbbd0]
cmovne rcx, rax
cmp byte [0x140127dbf], 0
je 0x14004a09b
cmp byte [0x140127dbc], 0
jne 0x14004a09b
mov eax, dword [rbx + 0x2dc]
mov dword [rsp + 0x20], eax
movzx r9d, word [rbx + 0x2d8]
mov r8, rcx
lea rdx, [0x140104b68]
mov rcx, rbx
call fcn.14000f6f0
jmp 0x14004aecf
mov r9, rcx
lea rdx, [0x140104b68]
mov rcx, rbx
jmp 0x14004aebc
mov rax, qword [rsp + 0x50]
mov rdi, qword [r15 + 0x6b8]
movzx ecx, byte [0x140127dbc]
test rdi, rdi
je 0x14004a164
test cl, cl
je 0x14004a164
test rax, rax
lea rsi, [0x1400fbbd0]
cmovne rsi, rax
mov rax, qword [0x14011f188]
cmp dword [rax + 0x60], 0
jne 0x14004a107
cmp dword [r15 + 0x718], 0
jne 0x14004a107
cmp byte [0x140121a8a], 0
jne 0x14004a107
mov r9, rsi
jmp 0x14004adb5
mov ecx, reloc.WSOCK32.dll_getservbyport
call fcn.1400ba174
mov rbx, rax
mov qword [rbp + 0x81d0], rax
xor r9d, r9d
mov r8, rsi
lea rdx, [0x1400ffa10]
mov rcx, rdi
call fcn.14000ed60
mov qword [rbx], rax
test rax, rax
je 0x14004ae36
mov dword [rbx + 0x10], 5
mov qword [rbx + 0x20], r12
xor r9d, r9d
mov r8, rbx
mov rdx, qword [0x14011f188]
mov rcx, rdi
call fcn.14000f2b0
mov r12d, eax
jmp 0x14004aecf
test rax, rax
lea rdx, [0x1400fbbd0]
cmovne rdx, rax
cmp byte [0x140127dbf], 0
je 0x14004a1a9
test cl, cl
jne 0x14004a1a9
mov eax, dword [r15 + 0x2dc]
mov dword [rsp + 0x20], eax
movzx r9d, word [r15 + 0x2d8]
mov r8, rdx
lea rdx, [0x1400ffa10]
mov rcx, r15
call fcn.14000f6f0
jmp 0x14004aecf
mov r9, rdx
lea rdx, [0x1400ffa10]
mov rcx, r15
jmp 0x14004aebc
mov ecx, reloc.WSOCK32.dll_getservbyport
call fcn.1400ba174
lea r8, [0x1400fbbd0]
mov rbx, rax
xor r9d, r9d
mov qword [rbp + 0x81d0], rax
lea rdx, [0x140104950]
mov rcx, rdi
call fcn.14000ed60
mov qword [rbx], rax
test rax, rax
je 0x14004ae36
mov dword [rbx + 0x10], 5
mov qword [rbx + 0x20], r12
xor r9d, r9d
mov r8, rbx
mov rdx, qword [0x14011f188]
mov rcx, rdi
call fcn.14000f2b0
mov r12d, eax
jmp 0x14004aecf
cmp byte [0x140127dbf], 0
je 0x14004a257
test al, al
jne 0x14004a257
mov eax, dword [r15 + 0x2dc]
mov dword [rsp + 0x20], eax
lea r8, [0x1400fbbd0]
lea rdx, [0x140104950]
movzx r9d, word [r15 + 0x2d8]
mov rcx, r15
call fcn.14000f6f0
jmp 0x14004aecf
lea rdx, [0x140104950]
jmp 0x14004aeb2
mov rdi, qword [r15 + 0x6b8]
movzx eax, byte [0x140127dbc]
test rdi, rdi
je 0x14004a2c3
test al, al
je 0x14004a2c3
mov rax, qword [0x14011f188]
cmp dword [rax + 0x60], 0
jne 0x14004a2ad
cmp dword [r15 + 0x718], 0
jne 0x14004a2ad
cmp byte [0x140121a8a], 0
jne 0x14004a2ad
lea r9, [0x1400fbbd0]
lea rdx, [0x140104b28]
jmp 0x14004adbc
mov ecx, reloc.WSOCK32.dll_getservbyport
call fcn.1400ba174
lea rdx, [0x140104b28]
jmp 0x14004adea
cmp byte [0x140127dbf], 0
je 0x14004a2fe
test al, al
jne 0x14004a2fe
mov eax, dword [r15 + 0x2dc]
mov dword [rsp + 0x20], eax
movzx r9d, word [r15 + 0x2d8]
lea r8, [0x1400fbbd0]
lea rdx, [0x140104b28]
mov rcx, r15
call fcn.14000f6f0
jmp 0x14004aecf
lea rdx, [0x140104b28]
jmp 0x14004aeb2
cmp byte [0x140127dbf], 0
je 0x14004a257
test al, al
jne 0x14004a257
mov dword [rsp + 0x20], ecx
jmp 0x14004a234
mov rax, qword [rsp + 0x50]
mov r9, qword [r15 + 0x6b8]
movzx ecx, byte [0x140127dbc]
test r9, r9
je 0x14004a3c1
test cl, cl
je 0x14004a3c1
test rax, rax
lea rcx, [0x1400fbbd0]
cmovne rcx, rax
mov rax, qword [0x14011f188]
cmp dword [rax + 0x60], 0
jne 0x14004a39d
cmp dword [r15 + 0x718], 0
jne 0x14004a39d
cmp byte [0x140121a8a], 0
jne 0x14004a39d
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r9
mov r9, rcx
lea rdx, [0x140104ad0]
mov rcx, r15
xor r8d, r8d
call fcn.140010840
mov r12d, eax
jmp 0x14004aecf
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r12d
mov r8, rcx
lea rdx, [0x140104ad0]
mov rcx, r15
call fcn.14000f110
mov r12d, eax
jmp 0x14004aecf
test rax, rax
lea rdx, [0x1400fbbd0]
cmovne rdx, rax
cmp byte [0x140127dbf], 0
je 0x14004a406
test cl, cl
jne 0x14004a406
mov eax, dword [r15 + 0x2dc]
mov dword [rsp + 0x20], eax
movzx r9d, word [r15 + 0x2d8]
mov r8, rdx
lea rdx, [0x140104ad0]
mov rcx, r15
call fcn.14000f6f0
jmp 0x14004aecf
mov r9, rdx
lea rdx, [0x140104ad0]
mov rcx, r15
jmp 0x14004aebc
mov rax, qword [rsp + 0x50]
mov r9, qword [r15 + 0x6b8]
movzx ecx, byte [0x140127dbc]
test r9, r9
je 0x14004a4a6
test cl, cl
je 0x14004a4a6
test rax, rax
cmovne r14, rax
mov rax, qword [0x14011f188]
cmp dword [rax + 0x60], 0
jne 0x14004a482
cmp dword [r15 + 0x718], 0
jne 0x14004a482
cmp byte [0x140121a8a], 0
jne 0x14004a482
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r9
mov r9, r14
xor r8d, r8d
lea rdx, [0x1401048c0]
mov rcx, r15
call fcn.140010840
mov r12d, eax
jmp 0x14004aecf
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r12d
mov r8, r14
lea rdx, [0x1401048c0]
mov rcx, r15
call fcn.14000f110
mov r12d, eax
jmp 0x14004aecf
test rax, rax
cmovne r14, rax
cmp byte [0x140127dbf], 0
je 0x14004a4e4
test cl, cl
jne 0x14004a4e4
mov eax, dword [r15 + 0x2dc]
mov dword [rsp + 0x20], eax
movzx r9d, word [r15 + 0x2d8]
mov r8, r14
lea rdx, [0x1401048c0]
mov rcx, r15
call fcn.14000f6f0
jmp 0x14004aecf
mov r9, r14
lea rdx, [0x1401048c0]
mov rcx, r15
jmp 0x14004aebc
mov r9, qword [r15 + 0x6b8]
movzx eax, byte [0x140127dbc]
test r9, r9
je 0x14004a578
test al, al
je 0x14004a578
mov rax, qword [0x14011f188]
cmp dword [rax + 0x60], 0
jne 0x14004a554
cmp dword [r15 + 0x718], 0
jne 0x14004a554
cmp byte [0x140121a8a], 0
jne 0x14004a554
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r9
mov r9, r14
lea rdx, [0x140104950]
mov rcx, r15
xor r8d, r8d
call fcn.140010840
mov r12d, eax
jmp 0x14004aecf
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r12d
mov r8, r14
lea rdx, [0x140104950]
mov rcx, r15
call fcn.14000f110
mov r12d, eax
jmp 0x14004aecf
cmp byte [0x140127dbf], 0
je 0x14004a5af
test al, al
jne 0x14004a5af
mov eax, dword [r15 + 0x2dc]
mov dword [rsp + 0x20], eax
movzx r9d, word [r15 + 0x2d8]
mov r8, r14
lea rdx, [0x140104950]
mov rcx, r15
call fcn.14000f6f0
jmp 0x14004aecf
mov r9, r14
lea rdx, [0x140104950]
mov rcx, r15
jmp 0x14004aebc
mov rdi, qword [r15 + 0x6b8]
movzx eax, byte [0x140127dbc]
test rdi, rdi
je 0x14004a66d
test al, al
je 0x14004a66d
test rdx, rdx
cmovne r14, rdx
cmp dword [r8 + 0x60], 0
jne 0x14004a610
cmp dword [r15 + 0x718], 0
jne 0x14004a610
cmp byte [0x140121a8a], 0
jne 0x14004a610
mov r9, r14
lea rdx, [0x140104cc8]
jmp 0x14004adbc
mov ecx, reloc.WSOCK32.dll_getservbyport
call fcn.1400ba174
mov rbx, rax
mov qword [rbp + 0x81d0], rax
xor r9d, r9d
mov r8, r14
lea rdx, [0x140104cc8]
mov rcx, rdi
call fcn.14000ed60
mov qword [rbx], rax
test rax, rax
je 0x14004ae36
mov dword [rbx + 0x10], 5
mov qword [rbx + 0x20], r12
xor r9d, r9d
mov r8, rbx
mov rdx, qword [0x14011f188]
mov rcx, rdi
call fcn.14000f2b0
mov r12d, eax
jmp 0x14004aecf
test rdx, rdx
cmovne r14, rdx
cmp byte [0x140127dbf], 0
je 0x14004a69b
test al, al
jne 0x14004a69b
mov eax, dword [r15 + 0x2dc]
mov dword [rsp + 0x20], eax
mov r8, r14
lea rdx, [0x140104cc8]
jmp 0x14004a242
mov r9, r14
lea rdx, [0x140104cc8]
mov rcx, r15
jmp 0x14004aebc
mov rax, qword [rsp + 0x50]
mov r9, qword [r15 + 0x6b8]
movzx ecx, byte [0x140127dbc]
test r9, r9
je 0x14004a735
test cl, cl
je 0x14004a735
test rax, rax
cmovne r14, rax
cmp dword [r8 + 0x60], 0
jne 0x14004a711
cmp dword [r15 + 0x718], 0
jne 0x14004a711
cmp byte [0x140121a8a], 0
jne 0x14004a711
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r9
mov r9, r14
lea rdx, [0x140104c80]
mov rcx, r15
xor r8d, r8d
call fcn.140010840
mov r12d, eax
jmp 0x14004aecf
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r12d
mov r8, r14
lea rdx, [0x140104c80]
mov rcx, r15
call fcn.14000f110
mov r12d, eax
jmp 0x14004aecf
test rax, rax
cmovne r14, rax
cmp byte [0x140127dbf], 0
je 0x14004a773
test cl, cl
jne 0x14004a773
mov eax, dword [r15 + 0x2dc]
mov dword [rsp + 0x20], eax
movzx r9d, word [r15 + 0x2d8]
mov r8, r14
lea rdx, [0x140104c80]
mov rcx, r15
call fcn.14000f6f0
jmp 0x14004aecf
mov r9, r14
lea rdx, [0x140104c80]
mov rcx, r15
jmp 0x14004aebc
mov rdx, qword [rsp + 0x50]
mov rdi, qword [r15 + 0x6b8]
movzx eax, byte [0x140127dbc]
test rdi, rdi
je 0x14004a83c
test al, al
je 0x14004a83c
test rdx, rdx
cmovne r14, rdx
mov rax, qword [0x14011f188]
cmp dword [rax + 0x60], 0
jne 0x14004a7df
cmp dword [r15 + 0x718], 0
jne 0x14004a7df
cmp byte [0x140121a8a], 0
jne 0x14004a7df
mov r9, r14
lea rdx, [0x140104cf0]
jmp 0x14004adbc
mov ecx, reloc.WSOCK32.dll_getservbyport
call fcn.1400ba174
mov rbx, rax
mov qword [rbp + 0x81d0], rax
xor r9d, r9d
mov r8, r14
lea rdx, [0x140104cf0]
mov rcx, rdi
call fcn.14000ed60
mov qword [rbx], rax
test rax, rax
je 0x14004ae36
mov dword [rbx + 0x10], 5
mov qword [rbx + 0x20], r12
xor r9d, r9d
mov r8, rbx
mov rdx, qword [0x14011f188]
mov rcx, rdi
call fcn.14000f2b0
mov r12d, eax
jmp 0x14004aecf
test rdx, rdx
cmovne r14, rdx
cmp byte [0x140127dbf], 0
je 0x14004a86a
test al, al
jne 0x14004a86a
mov eax, dword [r15 + 0x2dc]
mov dword [rsp + 0x20], eax
mov r8, r14
lea rdx, [0x140104cf0]
jmp 0x14004a242
mov r9, r14
lea rdx, [0x140104cf0]
mov rcx, r15
jmp 0x14004aebc
mov rax, qword [rsp + 0x50]
mov rdi, qword [r15 + 0x6b8]
movzx ecx, byte [0x140127dbc]
test rdi, rdi
je 0x14004a933
test cl, cl
je 0x14004a933
test rax, rax
cmovne r14, rax
mov rax, qword [0x14011f188]
cmp dword [rax + 0x60], 0
jne 0x14004a8d6
cmp dword [r15 + 0x718], 0
jne 0x14004a8d6
cmp byte [0x140121a8a], 0
jne 0x14004a8d6
mov r9, r14
lea rdx, [0x140104d40]
jmp 0x14004adbc
mov ecx, reloc.WSOCK32.dll_getservbyport
call fcn.1400ba174
mov rbx, rax
mov qword [rbp + 0x81d0], rax
xor r9d, r9d
mov r8, r14
lea rdx, [0x140104d40]
mov rcx, rdi
call fcn.14000ed60
mov qword [rbx], rax
test rax, rax
je 0x14004ae36
mov dword [rbx + 0x10], 5
mov qword [rbx + 0x20], r12
xor r9d, r9d
mov r8, rbx
mov rdx, qword [0x14011f188]
mov rcx, rdi
call fcn.14000f2b0
mov r12d, eax
jmp 0x14004aecf
test rax, rax
cmovne r14, rax
cmp byte [0x140127dbf], 0
je 0x14004a961
test cl, cl
jne 0x14004a961
mov eax, dword [r15 + 0x2dc]
mov dword [rsp + 0x20], eax
mov r8, r14
lea rdx, [0x140104d40]
jmp 0x14004a242
mov r9, r14
lea rdx, [0x140104d40]
mov rcx, r15
jmp 0x14004aebc
mov rax, qword [rsp + 0x50]
mov rdi, qword [r15 + 0x6b8]
movzx ecx, byte [0x140127dbc]
test rdi, rdi
je 0x14004aa2a
test cl, cl
je 0x14004aa2a
test rax, rax
cmovne r14, rax
mov rax, qword [0x14011f188]
cmp dword [rax + 0x60], 0
jne 0x14004a9cd
cmp dword [r15 + 0x718], 0
jne 0x14004a9cd
cmp byte [0x140121a8a], 0
jne 0x14004a9cd
mov r9, r14
lea rdx, [0x140104da0]
jmp 0x14004adbc
mov ecx, reloc.WSOCK32.dll_getservbyport
call fcn.1400ba174
mov rbx, rax
mov qword [rbp + 0x81d0], rax
xor r9d, r9d
mov r8, r14
lea rdx, [0x140104da0]
mov rcx, rdi
call fcn.14000ed60
mov qword [rbx], rax
test rax, rax
je 0x14004ae36
mov dword [rbx + 0x10], 5
mov qword [rbx + 0x20], r12
xor r9d, r9d
mov r8, rbx
mov rdx, qword [0x14011f188]
mov rcx, rdi
call fcn.14000f2b0
mov r12d, eax
jmp 0x14004aecf
test rax, rax
cmovne r14, rax
cmp byte [0x140127dbf], 0
je 0x14004aa58
test cl, cl
jne 0x14004aa58
mov eax, dword [r15 + 0x2dc]
mov dword [rsp + 0x20], eax
mov r8, r14
lea rdx, [0x140104da0]
jmp 0x14004a242
mov r9, r14
lea rdx, [0x140104da0]
mov rcx, r15
jmp 0x14004aebc
mov r9, qword [r15 + 0x6b8]
movzx eax, byte [0x140127dbc]
test r9, r9
je 0x14004aaf0
test al, al
je 0x14004aaf0
mov rax, qword [0x14011f188]
cmp dword [rax + 0x60], 0
jne 0x14004aaca
cmp dword [r15 + 0x718], 0
jne 0x14004aaca
cmp byte [0x140121a8a], 0
jne 0x14004aaca
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r9
mov r9, qword [rsp + 0x50]
lea rdx, [0x140104c58]
mov rcx, r15
xor r8d, r8d
call fcn.140010840
mov r12d, eax
jmp 0x14004aecf
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r12d
mov r8, qword [rsp + 0x50]
lea rdx, [0x140104c58]
mov rcx, r15
call fcn.14000f110
mov r12d, eax
jmp 0x14004aecf
cmp byte [0x140127dbf], 0
je 0x14004ab29
test al, al
jne 0x14004ab29
mov eax, dword [r15 + 0x2dc]
mov dword [rsp + 0x20], eax
movzx r9d, word [r15 + 0x2d8]
mov r8, qword [rsp + 0x50]
lea rdx, [0x140104c58]
mov rcx, r15
call fcn.14000f6f0
jmp 0x14004aecf
mov r9, qword [rsp + 0x50]
lea rdx, [0x140104c58]
mov rcx, r15
jmp 0x14004aebc
lea rsi, [r15 + 0x94]
cmp byte [rsp + 0x43], 0
jne 0x14004ace3
mov rcx, qword [r15 + 0x70]
test rcx, rcx
jne 0x14004ab69
cmp dword [rsi], ecx
je 0x14004ace3
test rcx, rcx
je 0x14004abea
lea rdx, [0x140104e08]
cmp byte [0x140127dbc], 0
je 0x14004ab9d
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov r8, r14
lea rcx, [0x140127620]
call fcn.14000f840
mov r12d, eax
jmp 0x14004aecf
cmp byte [0x140127dbf], 0
je 0x14004abc6
mov eax, dword [rcx + 4]
mov dword [rsp + 0x20], eax
movzx r9d, word [rcx + 2]
mov r8, r14
lea rcx, [0x140127620]
call fcn.14000f6f0
jmp 0x14004aecf
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rcx
mov r9, r14
lea rcx, [0x140127620]
xor r8d, r8d
call fcn.140010840
mov r12d, eax
jmp 0x14004aecf
lea rax, [r15 + 0xc0]
mov rdi, qword [r15 + 0x6b8]
movzx ecx, byte [0x140127dbc]
test rdi, rdi
je 0x14004aca3
test cl, cl
je 0x14004aca3
test rax, rax
cmovne r14, rax
mov rax, qword [0x14011f188]
cmp dword [rax + 0x60], 0
jne 0x14004ac46
cmp dword [r15 + 0x718], 0
jne 0x14004ac46
cmp byte [0x140121a8a], 0
jne 0x14004ac46
mov r9, r14
lea rdx, [0x140104e08]
jmp 0x14004adbc
mov ecx, reloc.WSOCK32.dll_getservbyport
call fcn.1400ba174
mov rbx, rax
mov qword [rbp + 0x81d0], rax
xor r9d, r9d
mov r8, r14
lea rdx, [0x140104e08]
mov rcx, rdi
call fcn.14000ed60
mov qword [rbx], rax
test rax, rax
je 0x14004ae36
mov dword [rbx + 0x10], 5
mov qword [rbx + 0x20], r12
xor r9d, r9d
mov r8, rbx
mov rdx, qword [0x14011f188]
mov rcx, rdi
call fcn.14000f2b0
mov r12d, eax
jmp 0x14004aecf
test rax, rax
cmovne r14, rax
cmp byte [0x140127dbf], 0
je 0x14004acd1
test cl, cl
jne 0x14004acd1
mov eax, dword [r15 + 0x2dc]
mov dword [rsp + 0x20], eax
mov r8, r14
lea rdx, [0x140104e08]
jmp 0x14004a242
mov r9, r14
lea rdx, [0x140104e08]
mov rcx, r15
jmp 0x14004aebc
mov rcx, qword [r15 + 0x78]
test rcx, rcx
je 0x14004acf9
call fcn.140010de0
mov r12d, eax
jmp 0x14004aecf
cmp qword [r15 + 0x30], 0
je 0x14004ad5d
mov rdi, qword [r15 + 0x6b8]
movzx eax, byte [0x140127dbc]
test rdi, rdi
je 0x14004a578
test al, al
je 0x14004a578
mov rax, qword [0x14011f188]
cmp dword [rax + 0x60], 0
jne 0x14004ad4b
cmp dword [r15 + 0x718], 0
jne 0x14004ad4b
cmp byte [0x140121a8a], 0
jne 0x14004ad4b
mov r9, r14
lea rdx, [0x140104950]
jmp 0x14004adbc
mov ecx, reloc.WSOCK32.dll_getservbyport
call fcn.1400ba174
mov r8, r14
jmp 0x14004a1cc
inc dword [r15 + 0x2dc]
mov r12d, 1
jmp 0x14004aecf
mov rdi, qword [r15 + 0x6b8]
movzx eax, byte [0x140127dbc]
test rdi, rdi
je 0x14004ae73
test al, al
je 0x14004ae73
mov rax, qword [0x14011f188]
cmp dword [rax + 0x60], 0
jne 0x14004add9
cmp dword [r15 + 0x718], 0
jne 0x14004add9
cmp byte [0x140121a8a], 0
jne 0x14004add9
lea r9, [0x1400fbbd0]
lea rdx, [0x1400ffa10]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rdi
mov rcx, r15
xor r8d, r8d
call fcn.140010840
mov r12d, eax
jmp 0x14004aecf
mov ecx, reloc.WSOCK32.dll_getservbyport
call fcn.1400ba174
lea rdx, [0x1400ffa10]
mov rbx, rax
mov qword [rbp + 0x81d0], rax
xor r9d, r9d
lea r8, [0x1400fbbd0]
mov rcx, rdi
call fcn.14000ed60
mov qword [rbx], rax
test rax, rax
je 0x14004ae36
mov dword [rbx + 0x10], 5
mov qword [rbx + 0x20], r12
xor r9d, r9d
mov r8, rbx
mov rdx, qword [0x14011f188]
mov rcx, rdi
call fcn.14000f2b0
mov r12d, eax
jmp 0x14004aecf
mov edx, reloc.WSOCK32.dll_getservbyport
mov rcx, rbx
call fcn.1400ba16c
mov rax, qword [0x14011f188]
cmp qword [rax + 0x58], 0
jne 0x14004aecf
mov qword [rsp + 0x20], r12
xorps xmm3, xmm3
xor r8d, r8d
mov edx, 0x10000
lea rcx, [0x1400ff430]
call fcn.1400a3a00
jmp 0x14004aecf
cmp byte [0x140127dbf], 0
je 0x14004aeab
test al, al
jne 0x14004aeab
mov eax, dword [r15 + 0x2dc]
mov dword [rsp + 0x20], eax
movzx r9d, word [r15 + 0x2d8]
lea r8, [0x1400fbbd0]
lea rdx, [0x1400ffa10]
mov rcx, r15
call fcn.14000f6f0
jmp 0x14004aecf
lea rdx, [0x1400ffa10]
mov rcx, r15
lea r9, [0x1400fbbd0]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
xor r8d, r8d
call fcn.140010840
nop
mov rcx, qword [rbp - 0x60]
call fcn.1400c0990
nop
mov rcx, qword [rsp + 0x50]
call fcn.1400c0990
mov eax, r12d
add rsp, 0x8288
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret