Function at 0x140047a20
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.1400d8050
sub rsp, rax
mov rdi, rdx
mov r15, rcx
cmp qword [rcx + 0x70], 0
jne 0x140047a6b
cmp dword [rcx + 0x8c], 0
mov byte [rsp + 0x43], 0
je 0x140047a70
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 + 0x2d0], r8d
mov dword [rbp - 0x78], r12d
mov edx, 0x2000
xor ecx, ecx
call fcn.1400bebac
test rax, rax
je 0x14004a13f
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], 0x1000
mov rbx, qword [rbp - 0x50]
test rbx, rbx
je 0x140047aec
add rbx, rbx
jmp 0x140047af0
mov rbx, qword [rbp - 0x48]
lea rdx, [rbx + rbx]
mov rcx, qword [rbp - 0x60]
call fcn.1400bebac
test rax, rax
je 0x14004a13f
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x50], rbx
mov rax, qword [rsp + 0x50]
mov word [rax], r12w
lea r14, [0x1400f9b70]
cmp qword [rsp + 0x58], 0xffffffffffffffff
je 0x140049f0d
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 + 0x2d4], eax
mov qword [r15 + 0x6b0], 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.14004ada0
test eax, eax
je 0x14004a29f
cmp qword [rsp + 0x58], 0
je 0x1400492f1
nop dword [rax]
nop word [rax + rax]
mov rsi, r12
mov r13, r12
mov rcx, qword [rsp + 0x50]
cmp word [rcx], 0x3a
jne 0x140047cf5
lea rax, [rcx + 2]
movzx edx, word [rax]
test dx, dx
je 0x140047cf5
mov r10, rax
mov qword [rbp - 0x80], rax
cmp dx, 0x3a
je 0x140047c0a
mov edx, 0x3a
mov rcx, rax
call fcn.1400ba088
mov rsi, rax
mov rcx, qword [rsp + 0x50]
test rax, rax
je 0x140047cf2
add rsi, 2
mov r10, qword [rbp - 0x80]
jmp 0x140047c19
cmp word [rcx + 4], 0
je 0x140047cf5
lea rsi, [rcx + 4]
mov qword [rbp - 0x70], rsi
test rsi, rsi
je 0x140047cf5
movzx edi, byte [0x140122c08]
mov byte [rbp + 0x81e8], dil
mov rdx, r10
cmp r10, rsi
jae 0x140047c6f
nop dword [rax]
movzx ecx, word [rdx]
lea eax, [rcx - 0x61]
cmp ax, 0x19
ja 0x140047c4f
and cx, bx
add rdx, 2
cmp cx, 0x58
je 0x140047c60
cmp rdx, rsi
jb 0x140047c40
jmp 0x140047c6f
cmp word [rdx], 0x30
setne dil
mov byte [rbp + 0x81e8], dil
mov rbx, rsi
lea r15, [0x140000000]
mov esi, SafeArrayAllocDescriptor
lea r12d, [rsi - 0x19]
movzx eax, word [rbx]
test ax, ax
je 0x140047cd3
cmp ax, 0x60
je 0x140047c9c
cmp ax, 0x3a
je 0x140047c9c
add rbx, 2
jmp 0x140047c82
movzx eax, word [rbx]
test ax, ax
je 0x140047cd3
lea rdx, [rbx + 2]
cmp ax, 0x3a
jne 0x140047d6d
test r13, r13
jne 0x140047df4
cmp word [rdx], ax
jne 0x140047df4
mov r13, rbx
mov rbx, rdx
test dil, dil
je 0x140047df4
test r13, r13
mov r12d, 0
mov rsi, qword [rbp - 0x70]
mov r15, qword [rbp + 0x81d0]
jne 0x140047e3d
mov rcx, qword [rsp + 0x50]
mov rsi, r12
mov qword [rbp - 0x70], rsi
lea rdx, [0x140102850]
call fcn.1400baa58
mov r13, rax
test rax, rax
je 0x140047e51
mov rcx, qword [rsp + 0x50]
cmp rax, rcx
jne 0x140047d26
cmp word [rax + 4], 0x3a
jne 0x140047d26
add r13, 2
mov rbx, r13
cmp r13, rcx
jbe 0x140047d48
nop
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140047d3f
cmp ax, 9
jne 0x140047d48
sub rbx, 2
cmp rbx, rcx
ja 0x140047d30
movzx edi, word [rbx]
mov word [rbx], r12w
mov rcx, qword [rsp + 0x50]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x140047d67
cmp ax, 9
jne 0x140047dfd
add rcx, 2
jmp 0x140047d54
movzx eax, word [rdx]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x140047d85.99
cdqe
mov ecx, dword [r15 + rax*4 + 0x4a2cc]
add rcx, r15
jmp rcx
mov word [rdx], r12w
jmp case.0x140047d85.99
mov eax, 8
mov word [rdx], ax
jmp case.0x140047d85.99
mov eax, reloc.WSOCK32.dll_ioctlsocket
mov word [rdx], ax
jmp case.0x140047d85.99
mov eax, 0xa
mov word [rdx], ax
jmp case.0x140047d85.99
mov eax, recv
mov word [rdx], ax
jmp case.0x140047d85.99
mov eax, 9
mov word [rdx], ax
jmp case.0x140047d85.99
mov eax, reloc.WSOCK32.dll_inet_ntoa
mov word [rdx], ax
jmp case.0x140047d85.99
mov word [rdx], si
mov r8, 0xffffffffffffffff
lea r8, [r8 + 1]
cmp word [rdx + r8*2], 0
jne 0x140047dd3
lea r8, [r8*2 + 2]
mov rcx, rbx
call fcn.1400ba140
dec qword [rsp + 0x58]
add rbx, 2
jmp 0x140047c82
xor r8d, r8d
xor edx, edx
call fcn.14001a140
mov r9d, eax
mov dword [rsp + 0x44], eax
test eax, eax
je 0x14004a29f
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 0x140047e51
jmp 0x140047e46
mov r9d, dword [rsp + 0x44]
mov r10, qword [rbp - 0x80]
cmp r13, qword [rsp + 0x50]
ja 0x1400480d7
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
cmp word [rcx + rax*2 - 2], 0x3a
jne 0x140047ec2
lea rsi, [r15 + 0x8c]
cmp dword [rsi], 0
je 0x140047e7d
mov rax, qword [0x14011c188]
cmp qword [rax + 0x28], 0
je 0x140047ec2
mov rbx, qword [rsp + 0x50]
movzx eax, word [rbx]
cmp eax, 0x7f
ja 0x140047e9b
mov ecx, eax
call fcn.1400c3610
test eax, eax
jne 0x140047e9b
cmp word [rbx], 0x5f
jne 0x140047ea1
add rbx, 2
jmp 0x140047e82
mov rax, rbx
mov rdi, qword [rsp + 0x50]
sub rax, rdi
sar rax, 1
inc rax
cmp rax, qword [rsp + 0x58]
jne 0x140047ec2
cmp rbx, rdi
ja 0x140048dac
mov rdi, qword [rsp + 0x50]
cmp word [rdi], 0x23
jne 0x140047f57
mov r8d, 6
lea rdx, [0x1400fdf30]
mov rcx, rdi
call fcn.1400bec00
test eax, eax
jne 0x140047f32
mov rdx, qword [rsp + 0x50]
movzx eax, word [rdx + 0xc]
cmp ax, 0x20
je 0x140047eff
cmp ax, 9
jne 0x140047f37
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.14004a530
test eax, eax
je 0x14004a29f
mov rdx, qword [rsp + 0x50]
mov ebx, dword [r15 + 0x2d4]
mov rcx, r15
call fcn.14004c190
test eax, eax
je 0x14004a29f
cmp eax, 3
je 0x140048e30
mov rax, qword [rsp + 0x50]
movzx ecx, word [rax]
cmp cx, 0x7b
je 0x140047f6f
cmp cx, 0x7d
jne 0x140048e49
lea rsi, [r15 + 0x8c]
movsxd rdx, dword [rsi]
test edx, edx
je 0x140048045
mov rax, qword [0x14011c188]
cmp qword [rax + 0x28], 0
jne 0x140048045
cmp cx, 0x7b
je 0x140049e3a
cmp qword [r15 + 0x2c0], 0
je 0x140047fcf
mov qword [r15 + 0x2c0], r12
mov rcx, qword [r15 + 0x2c8]
test rcx, rcx
je 0x14004806f
call fcn.1400beb90
mov qword [r15 + 0x2c8], r12
jmp 0x14004806f
lea eax, [rdx - 1]
mov dword [rsi], eax
mov rdi, qword [r15 + rdx*8 + 0x88]
lea rdx, [0x140103980]
mov rcx, rdi
call fcn.140005630
test rax, rax
je 0x140047ffb
cmp dword [rax + 8], 5
jne 0x140047ffb
mov rbx, qword [rax]
jmp 0x140047ffe
mov rbx, r12
mov rcx, rdi
call fcn.14008d8d0
mov rcx, rbx
call fcn.14008d8d0
movsxd rax, dword [rsi]
mov rcx, qword [r15 + rax*8 + 0x90]
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
mov edx, 0x2e
lea rcx, [r15 + 0xb8]
call fcn.1400b9fdc
test rax, rax
je 0x14004803b
mov word [rax], r12w
jmp 0x14004806f
mov word [r15 + 0xb8], r12w
jmp 0x14004806f
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.14004f190
test eax, eax
je 0x14004a29f
mov rdx, qword [rsp + 0x50]
add rdx, 2
movzx eax, word [rdx]
cmp ax, 0x20
je 0x140048074
cmp ax, 9
je 0x140048074
test ax, ax
je 0x140048833
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.1400ba140
mov qword [r15 + 0x6b0], r12
cmp qword [rsp + 0x58], 0
je 0x1400492ea
mov ebx, 0xffdf
jmp 0x140047bb0
mov rax, qword [0x14011c188]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x1400480f1
cmp rcx, qword [r15 + 0x30]
jne 0x1400497e8
cmp dword [r15 + 0x8c], 0
jne 0x1400497e8
mov word [r13], r12w
add r13, 4
mov rcx, r13
nop dword [rax + rax]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x14004811f
cmp ax, 9
jne 0x140048125
add rcx, 2
jmp 0x140048110
cmp ax, 0x7b
jne 0x140048137
cmp word [rcx + 2], 0
jne 0x140048137
mov r14b, 1
jmp 0x14004813a
xor r14b, r14b
mov dword [rbp - 0x74], r14d
test rsi, rsi
je 0x14004814c
test dil, dil
je 0x140048aed
mov r13, rcx
test rsi, rsi
jne 0x140048aed
mov qword [rbp - 0x68], rcx
cmp ax, 0x60
jne 0x140048172
lea rax, [rcx + 2]
cmp word [rax], 0x7b
cmove r13, rax
mov qword [rbp - 0x68], r13
mov r15, r13
test r14b, r14b
jne 0x140048876
cmp word [r13], 0
je 0x140048876
movzx eax, word [r13 + 2]
test ax, ax
je 0x14004835f
lea rdx, [0x140000000]
nop
cmp ax, 0x20
je case.0x1400481c6.34
movzx eax, word [r15]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x1400481c6.34
cdqe
movzx eax, byte [rdx + rax + 0x4a32c]
mov ecx, dword [rdx + rax*4 + 0x4a324]
add rcx, rdx
jmp rcx
add r15, 2
movzx eax, word [r15 + 2]
test ax, ax
jne 0x1400481a0
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 0x140048203
xor r13b, r13b
jmp 0x140048354
movzx edx, word [r15 + 2]
test dx, dx
jne 0x14004823e
mov r9b, 1
mov r8, rax
xor edx, edx
call fcn.140023430
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 0x140048354
lea eax, [rcx - 0x61]
mov r11d, 0xffdf
cmp ax, 0x19
ja 0x140048251
and cx, r11w
cmp cx, 0x56
jne 0x140048291
lea eax, [rdx - 0x61]
cmp ax, 0x19
ja 0x140048264
and dx, r11w
cmp dx, 0x4b
jne 0x140048291
lea rcx, [r15 + 4]
mov r8d, reloc.WSOCK32.dll_recv
lea rdx, [rbp - 0x28]
call fcn.1400c52cc
mov r13d, r12d
movzx ecx, al
mov rax, qword [rbp - 0x28]
cmp word [rax], 0
cmove r13d, ecx
jmp 0x14004821e
mov rdi, r12
lea r13, [0x14011c3a0]
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.1400bea20
test eax, eax
je 0x14004834b
inc rdi
add rbx, 0x10
lea rax, [0x14011ca50]
cmp rbx, rax
jl 0x1400482c0
xor edx, edx
mov rcx, r15
call fcn.1400231e0
test ax, ax
je 0x1400481fb
movzx edx, ax
sub edx, 0x45
je 0x140048343
sub edx, 0xf1
je 0x14004830e
cmp edx, 0xf
jne 0x140048318
mov ecx, 0xff
and ax, cx
jmp 0x14004831d
mov ecx, 0xff
bt ax, 8
jae 0x14004832f
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 0x140048354
mov al, reloc.WSOCK32.dll_send
movzx r13d, al
jmp 0x140048354
add rdi, rdi
movzx r13d, byte [r13 + rdi*8 + 8]
test r13b, r13b
je 0x1400488ca
jmp 0x140048362
mov r13b, 0xff
mov rbx, qword [rsp + 0x50]
cmp word [rbx], 0
je case.0x1400483a5.34
cmp word [rbx + 2], 0
je case.0x1400483a5.34
movzx eax, word [rbx + 2]
lea rdx, [0x140000000]
nop
cmp ax, 0x20
je case.0x1400483a5.34
movzx eax, word [rbx]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x1400483a5.34
cdqe
movzx eax, byte [rdx + rax + 0x4a394]
mov ecx, dword [rdx + rax*4 + 0x4a38c]
add rcx, rdx
jmp rcx
add rbx, 2
movzx eax, word [rbx + 2]
test ax, ax
jne 0x140048380
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.1400232d0
movzx r12d, al
lea rdx, [0x1400ff438]
mov rcx, rbx
call fcn.1400baa58
test rax, rax
setne sil
lea ecx, [r12 - 1]
cmp cl, 5
ja 0x1400483f8
cmp r12b, 3
jne 0x140048401
lea eax, [r12 + 0x66]
cmp al, 5
ja 0x140048405
mov cl, 1
jmp 0x140048407
xor cl, cl
lea eax, [r13 - 1]
cmp al, 5
ja 0x140048415
cmp r13b, 3
jne 0x14004841d
lea eax, [r13 + 0x66]
cmp al, 5
ja 0x140048422
mov r14b, 1
jmp 0x140048425
xor r14b, r14b
test cl, cl
jne 0x140048433
test r14b, r14b
je 0x140048433
mov dil, 1
jmp 0x140048436
xor dil, dil
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x140048440
cmp rax, 1
jne 0x14004846d
movzx ecx, word [rbx]
call qword [sym.imp.USER32.dll_IsCharUpperW]
test eax, eax
je 0x14004846d
lea rcx, [0x1401028e0]
lea rax, [0x1400f9b70]
jmp 0x140048477
lea rax, [0x1400f9b70]
mov rcx, rax
lea r9, [0x1400fdccc]
test sil, sil
cmovne r9, rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r8, [0x140100ee0]
mov edx, SafeArrayAllocDescriptor
lea rcx, [rbp + 0x30]
call fcn.14009abe0
movzx eax, word [r15]
cmp ax, 0x22
je 0x1400484d3
cmp ax, 0x60
je 0x1400484d3
mov r8d, SafeArrayAllocDescriptor
mov rdx, r15
lea rcx, [rbp - 0x10]
call fcn.1400cd4c4
xor esi, esi
mov word [rbp + 0x2e], si
jmp 0x1400484e6
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.1400cd4c4
mov word [rbp - 0x2a], si
sub r15, qword [rbp - 0x68]
sar r15, 1
cmp r15, 8
jae 0x140048510
mov word [rbp + r15*2 - 0x38], si
cmp word [rbp - 0x38], 0
jne 0x140048535
cmp r13b, 0x13
jne 0x140048535
lea rdx, [0x1400faff8]
lea rcx, [rbp - 0x10]
call fcn.1400bea20
test eax, eax
je 0x1400488c3
mov rbx, qword [rbp + 0x81d0]
cmp qword [rbx + 0x30], 0
jne 0x1400492fd
mov rcx, rbx
call fcn.140061790
test rax, rax
je 0x1400493f5
lea r8, [rsp + 0x42]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x30]
call fcn.14001a8d0
mov rcx, qword [rbx + 0x30]
test rax, rax
je 0x140048587
movzx r8d, byte [rsp + 0x40]
mov rdx, rcx
mov rcx, rax
call fcn.14001a010
jmp 0x140048598
xor edx, edx
movzx r9d, byte [rsp + 0x40]
lea r8, [rbp + 0x30]
call fcn.140019500
test rax, rax
je 0x1400493f5
lea r15, [0x1400fb2c8]
test r14b, r14b
lea rax, [0x1400fb2e0]
cmovne r15, rax
mov r8, r15
lea rdx, [0x140102958]
lea rcx, [rbp + 0x170]
call fcn.140006d90
movsxd rcx, eax
lea rsi, [rbp + 0x170]
lea rsi, [rsi + rcx*2]
test dil, dil
je 0x1400485f9
lea r8, [rbp - 0x10]
lea rdx, [0x140102968]
mov rcx, rsi
call fcn.140006d90
movsxd rcx, eax
lea rsi, [rsi + rcx*2]
lea rdi, [rbp - 0x20]
lea rbx, [0x140102998]
movzx eax, word [0x140102998]
nop dword [rax + rax]
movzx edx, ax
lea rcx, [rbp + 0x30]
call fcn.1400ba088
test rax, rax
je 0x140048643
cmp word [rax + 2], 0
je 0x140048643
movzx edx, word [rbx]
lea rcx, [rbp - 0x38]
call fcn.1400ba088
test rax, rax
jne 0x140048643
movzx eax, word [rbx]
mov word [rdi], ax
add rdi, 2
add rbx, 2
movzx eax, word [rbx]
test ax, ax
jne 0x140048610
xor eax, eax
mov word [rdi], ax
lea r14, [0x1400f9b70]
mov r9, r14
movzx ecx, r13b
sub ecx, 0x12
je 0x140048674
sub ecx, 0x92
je 0x140048674
cmp ecx, 1
jne 0x140048699
mov ecx, r12d
sub ecx, 0x11
je 0x140048692
sub ecx, 0x91
je 0x140048692
cmp ecx, 1
jne 0x140048699
lea r9, [0x1401029c0]
jmp 0x140048699
lea r9, [0x1401029a8]
lea rax, [rbp - 0x10]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x20]
lea rdx, [0x1401029e0]
mov rcx, rsi
call fcn.140006d90
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.14004f190
test eax, eax
je 0x14004a29f
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x170]
mov rcx, rbx
call fcn.14004d3d0
test eax, eax
je 0x14004a29f
mov byte [rsp + 0x28], r12b
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov dl, 4
mov rcx, rbx
call fcn.14004f190
test eax, eax
je 0x14004a29f
lea r8, [rbp + 0x30]
lea rdx, [0x140102a20]
lea rcx, [rbp + 0x170]
call fcn.140006d90
mov rcx, rbx
call fcn.140061790
test rax, rax
je 0x14004a29f
lea r8, [rsp + 0x42]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x170]
call fcn.14001a8d0
mov rcx, qword [rbx + 0x30]
test rax, rax
je 0x140048788
movzx r8d, byte [rsp + 0x40]
mov rdx, rcx
mov rcx, rax
call fcn.14001a010
jmp 0x14004879c
xor edx, edx
movzx r9d, byte [rsp + 0x40]
lea r8, [rbp + 0x170]
call fcn.140019500
test rax, rax
je 0x14004a29f
lea r9, [rbp - 0x10]
mov r8, r15
lea rdx, [0x140102a30]
lea rcx, [rbp + 0x170]
call fcn.140006d90
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.14004f190
test eax, eax
je 0x14004a29f
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x170]
mov rcx, r15
call fcn.14004d3d0
test eax, eax
je 0x14004a29f
mov byte [rsp + 0x28], r12b
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov dl, 4
mov rcx, r15
call fcn.14004f190
test eax, eax
je 0x14004a29f
lea rsi, [r15 + 0x8c]
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 0x140049f14
jmp 0x140047b51
test r13, r13
jne 0x1400488ce
movzx esi, r12w
mov dword [rsp + 0x48], esi
lea r8, [rsp + 0x42]
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
call fcn.14001a8d0
mov rbx, rax
test rax, rax
je 0x1400489ed
test si, si
je 0x140048968
mov word [rax + 6], si
mov r15, qword [rbp + 0x81d0]
movzx edi, byte [rbp + 0x81e8]
jmp 0x140048c97
mov r14d, dword [rbp - 0x74]
xor r12d, r12d
mov r13, qword [rbp - 0x68]
cmp word [r13], 0
je 0x14004887b
lea rdx, [0x140101160]
mov rcx, r13
call fcn.1400bea20
test eax, eax
jne 0x1400488f0
mov esi, 0x7ffe
jmp 0x14004887f
lea rdx, [0x140101170]
mov rcx, r13
call fcn.1400bea20
test eax, eax
jne 0x14004890d
mov esi, 0x7ffd
jmp 0x14004887f
lea rdx, [0x140101188]
mov rcx, r13
call fcn.1400bea20
test eax, eax
jne 0x14004892a
mov esi, 0x7ffc
jmp 0x14004887f
lea rdx, [0x1401011a0]
mov rcx, r13
call fcn.1400bea20
test eax, eax
jne 0x140048947
mov esi, 0x7ffb
jmp 0x14004887f
lea rdx, [0x1401011c0]
mov rcx, r13
call fcn.1400bea20
test eax, eax
jne 0x14004887b
mov esi, 0x7ffa
jmp 0x14004887f
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x140048993
mov rax, qword [0x14011c188]
mov rdx, qword [rax + 0x80]
nop
cmp qword [rcx + 0x10], rdx
je 0x14004940f
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x140048980
mov r15, qword [rbp + 0x81d0]
cmp qword [r15 + 0x30], 0
jne 0x1400489b2
mov rcx, r15
call fcn.140061790
test rax, rax
je 0x14004a29f
movzx r8d, byte [rsp + 0x40]
mov rdx, qword [r15 + 0x30]
mov rcx, rbx
call fcn.14001a010
test rax, rax
je 0x14004947d
cmp byte [rsp + 0x42], 0
jne 0x1400489dd
cmp byte [0x140122b0b], 0
je 0x1400489e1
mov byte [rbx + 0x14], 1
movzx edi, byte [rbp + 0x81e8]
jmp 0x140048c97
mov r15, qword [rbp + 0x81d0]
mov rax, qword [r15 + 0x30]
test si, si
je 0x140048a60
test rax, rax
je 0x140048a76
mov rdi, qword [r15 + 0x6b0]
movzx eax, byte [0x140124d3c]
test rdi, rdi
je 0x1400495ec
test al, al
je 0x1400495ec
mov rax, qword [0x14011c188]
cmp dword [rax + 0x60], 0
jne 0x14004958b
cmp dword [r15 + 0x708], 0
jne 0x14004958b
cmp byte [0x14011ea7a], 0
jne 0x14004958b
lea r9, [0x1400f9b70]
lea rdx, [0x1401028f0]
jmp 0x14004a18c
test rax, rax
jne 0x140048a76
mov rcx, r15
call fcn.140061790
test rax, rax
je 0x14004a29f
movzx r9d, byte [rsp + 0x40]
mov r8, qword [rsp + 0x50]
movzx edx, si
mov rcx, qword [r15 + 0x30]
call fcn.140019500
test rax, rax
jne 0x1400489e1
cmp dword [rsp + 0x44], 3
jne 0x14004a29f
cmp byte [r15 + 0x794], al
jne 0x1400489e1
mov r9, qword [rsp + 0x50]
lea r8, [0x140102b30]
mov edx, 0x80
lea rcx, [rbp + 0x70]
call fcn.14009abe0
mov qword [rsp + 0x20], r12
xorps xmm3, xmm3
xor r8d, r8d
mov edx, 0x10000
lea rcx, [rbp + 0x70]
call fcn.1400a1a40
movzx edi, byte [rbp + 0x81e8]
jmp 0x140048c97
cmp word [rsi], 0
je 0x1400496f8
test dil, dil
je 0x140048b46
cmp word [r13], 0
je 0x140049633
test r14b, r14b
jne 0x140049633
lea rbx, [r15 + 0x30]
cmp qword [rbx], 0
jne 0x140048b2c
mov rcx, r15
call fcn.140061790
test rax, rax
je 0x14004a29f
test dil, dil
jne 0x140048c4c
test r14b, r14b
jne 0x140048c4c
mov rcx, r13
jmp 0x140048c53
test r14b, r14b
je 0x140048ba2
cmp byte [0x140122c0d], 0
setne r8b
mov rdx, r10
cmp r10, rsi
jae 0x140048b97
mov r11d, 0xffdf
movzx ecx, word [rdx]
lea eax, [rcx - 0x61]
cmp ax, 0x19
ja 0x140048b74
and cx, r11w
cmp cx, 0x52
je 0x140048b86
cmp cx, 0x54
je 0x140048b86
add rdx, 2
jmp 0x140048b92
add rdx, 2
cmp word [rdx], 0x30
setne r8b
cmp rdx, rsi
jb 0x140048b64
movzx r14d, r14b
test r8b, r8b
cmovne r14d, r12d
movzx eax, r14b
cmp word [r13], 0
je 0x140048b11
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x80], r10
mov byte [rbp + 0x81e8], dil
mov dword [rsp + 0x44], r9d
test al, al
jne 0x140048b11
test dil, dil
jne 0x140048b11
lea rbx, [r15 + 0x30]
cmp qword [rbx], 0
je 0x140048b3e
dec dword [r15 + 0x2d4]
mov ecx, dword [r15 + 0x2d4]
mov rdi, qword [r15 + 0x6b0]
movzx eax, byte [0x140124d3c]
test rdi, rdi
je 0x1400496da
test al, al
je 0x1400496da
mov rax, qword [0x14011c188]
cmp dword [rax + 0x60], 0
jne 0x140048c36
cmp dword [r15 + 0x708], 0
jne 0x140048c36
cmp byte [0x14011ea7a], r14b
je 0x140048a4d
mov ecx, reloc.WSOCK32.dll_getservbyport
call fcn.1400b8374
lea rdx, [0x1401028f0]
jmp 0x14004a1ba
lea rcx, [0x1400f9b70]
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.14001b510
test eax, eax
je 0x14004a29f
lea rsi, [r15 + 0x8c]
cmp qword [rbx], 0
je 0x140048da0
mov esi, dword [rsp + 0x48]
cmp word [r13], 0
je 0x140048d99
test r14b, r14b
je 0x140048caf
mov dl, 3
jmp 0x140048d79
cmp qword [rbp - 0x70], 0
je 0x140048cbc
movzx eax, dil
jmp 0x140048cc5
mov eax, r12d
test si, si
sete al
test eax, eax
je 0x140048d99
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.1400ba140
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.14004a530
test eax, eax
je 0x14004a29f
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov dl, 3
mov rcx, r15
call fcn.14004f190
test eax, eax
je 0x14004a29f
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0x50]
mov rcx, r15
call fcn.14004d3d0
test eax, eax
je 0x14004a29f
mov dl, 4
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
call fcn.14004f190
test eax, eax
je 0x14004a29f
lea rsi, [r15 + 0x8c]
lea r14, [0x1400f9b70]
jmp 0x140048833
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, [0x1400ff9c0]
mov rcx, qword [rsp + 0x50]
call fcn.1400bea20
test eax, eax
jne 0x140048e0b
mov rax, qword [r15 + 0x70]
test rax, rax
je 0x140048e0b
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x140048e0b
cmp byte [rcx], 0x1a
jne 0x140048e0b
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.14004f190
jmp 0x140048e23
cmp qword [r15 + 0x30], 0
jne 0x1400498c6
mov rdx, qword [rsp + 0x50]
mov rcx, r15
call fcn.14004d220
test eax, eax
je 0x14004a29f
jmp 0x140048833
mov eax, dword [rbp + 0x81e0]
mov dword [r15 + 0x2d0], eax
mov dword [r15 + 0x2d4], ebx
jmp 0x14004882c
mov rdi, qword [rsp + 0x50]
mov r8d, 5
lea rdx, [0x140102768]
mov rcx, rdi
call fcn.1400bec00
test eax, eax
jne 0x140048fa7
movzx eax, word [rdi + 0xa]
cmp ax, 0x20
je 0x140048e7f
cmp ax, 9
jne 0x140048fa7
add rdi, 0xc
movzx edx, word [rdi]
cmp dx, 0x20
je 0x140048e92
cmp dx, 9
jne 0x140048e98
add rdi, 2
jmp 0x140048e83
lea rcx, [0x140102778]
call fcn.1400ba088
test rax, rax
jne 0x140048fa7
mov r8, qword [0x14011c188]
cmp qword [r8 + 0x28], rax
jne 0x140049a7d
mov rdx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
cmp word [rdx + rax*2 - 2], 0x7b
jne 0x140048f38
dec rax
cmp word [rdx], 0
je 0x140048f97
cmp rax, 0xffffffffffffffff
jne 0x140048eed
inc rax
cmp word [rdx + rax*2], 0
jne 0x140048ee3
lea rax, [rax - 1]
lea rax, [rdx + rax*2]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x140048f04
cmp cx, 9
jne 0x140048f0f
cmp rax, rdx
je 0x140048f24
sub rax, 2
jmp 0x140048ef5
mov word [rax + 2], r12w
mov rdx, rdi
mov rcx, r15
call fcn.140051540
jmp 0x140048824
mov word [rax], r12w
mov rdx, rdi
mov rcx, r15
call fcn.140051540
jmp 0x140048824
mov r9, qword [rbp - 0x60]
cmp word [r9], 0x7b
jne 0x140049991
lea rdx, [r9 + 2]
mov rax, rdx
nop
movzx ecx, word [rax]
cmp cx, 0x20
je 0x140048f5f
cmp cx, 9
jne 0x140048f65
add rax, 2
jmp 0x140048f50
sub rax, r9
sar rax, 1
mov r8, qword [rbp - 0x58]
sub r8, rax
mov qword [rbp - 0x58], r8
je 0x140048f93
add r8, r8
mov rcx, r9
call fcn.1400ba140
mov rdx, rdi
mov rcx, r15
call fcn.140051540
jmp 0x140048824
mov word [r9], r12w
mov rdx, rdi
mov rcx, r15
call fcn.140051540
jmp 0x140048824
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.14004a530
test eax, eax
je 0x14004a29f
mov rax, qword [0x14011c188]
cmp qword [r15 + 0x2c0], 0
je 0x1400490c2
cmp qword [rax + 0x28], 0
jne 0x1400490c2
mov r8d, 3
lea rdx, [0x140102c80]
mov rcx, qword [rsp + 0x50]
call fcn.1400bec00
test eax, eax
je 0x140049037
mov r8d, 3
lea rdx, [0x140102c88]
mov rcx, qword [rsp + 0x50]
call fcn.1400bec00
test eax, eax
jne 0x140049b55
mov rdx, qword [rsp + 0x50]
lea rbx, [rdx + 6]
movzx ecx, word [rbx]
cmp cx, 0x20
je 0x14004904f
cmp cx, 9
jne 0x140049055
add rbx, 2
jmp 0x140049040
test cx, cx
jne 0x140049064
mov rax, qword [rbp - 0x60]
cmp word [rax], 0x7b
je 0x140049086
cmp cx, 0x7b
jne 0x140049071
cmp word [rbx + 2], 0
jmp 0x140049080
cmp cx, 0x3d
jne 0x140049b5a
cmp word [rbx + 2], 0x3e
jne 0x140049b5a
mov edx, 0x2e
mov rcx, qword [r15 + 0x2c8]
call fcn.1400ba088
mov rcx, qword [rsp + 0x50]
movzx edx, word [rcx]
mov word [rax + 2], dx
mov r8, rbx
mov rcx, r15
call fcn.140052310
test eax, eax
je 0x14004a29f
lea rsi, [r15 + 0x8c]
jmp 0x14004883a
lea r13, [r15 + 0x8c]
cmp dword [r13], 0
je 0x140049298
cmp qword [rax + 0x28], 0
jne 0x140049298
mov rdi, qword [rsp + 0x50]
xor sil, sil
mov r8d, 6
lea rdx, [0x1400fdf20]
mov rcx, rdi
call fcn.1400bec00
test eax, eax
jne 0x140049147
movzx eax, word [rdi + 0xc]
cmp ax, 0x20
je 0x140049110
cmp ax, 9
jne 0x140049147
add rdi, 0xe
movzx eax, word [rdi]
cmp eax, 0x20
je 0x140049121
cmp eax, 9
jne 0x140049127
add rdi, 2
jmp 0x140049114
cmp eax, 0x7f
ja 0x140049144
mov ecx, eax
call fcn.1400c3610
test eax, eax
jne 0x140049144
cmp word [rdi], 0x5f
je 0x140049144
mov rdi, qword [rsp + 0x50]
jmp 0x140049147
mov sil, 1
mov rdx, qword [rbp - 0x60]
mov rcx, rdi
call fcn.140047140
test al, al
je 0x140049179
xor r9d, r9d
movzx r8d, sil
mov rdx, rdi
mov rcx, r15
call fcn.140050710
test eax, eax
je 0x14004a29f
mov rsi, r13
jmp 0x140048833
mov rbx, rdi
nop dword [rax]
movzx eax, word [rbx]
cmp eax, 0x7f
ja 0x1400491a2
mov ecx, eax
call fcn.1400c3610
test eax, eax
jne 0x1400491a2
movzx eax, word [rbx]
cmp ax, 0x5f
je 0x1400491a2
cmp ax, 0x2e
jne 0x1400491a8
add rbx, 2
jmp 0x140049180
cmp rbx, rdi
jbe 0x140049d43
cmp ax, 0x20
je 0x1400491bd
cmp ax, 9
jne 0x1400491c6
add rbx, 2
movzx eax, word [rbx]
jmp 0x1400491b1
cmp ax, 0x3a
jne 0x1400491f2
cmp word [rbx + 2], 0x3d
jne 0x1400491f2
movzx r8d, sil
mov rdx, rdi
mov rcx, r15
call fcn.140052450
test eax, eax
je 0x14004a29f
mov rsi, r13
jmp 0x140048833
test ax, ax
je 0x140049218
cmp ax, 0x5b
je 0x140049218
cmp ax, 0x7b
je 0x140049218
cmp ax, 0x3d
jne 0x140049d43
cmp word [rbx + 2], 0x3e
jne 0x140049d43
lea r9, [rsp + 0x78]
movzx r8d, sil
mov rdx, rdi
mov rcx, r15
call fcn.140051ed0
test eax, eax
je 0x14004a29f
cmp byte [rsp + 0x78], 0
jne 0x140049290
mov r9, qword [rbp - 0x60]
cmp word [r9], 0x7b
jne 0x140049c4c
lea rdx, [r9 + 2]
mov rax, rdx
movzx ecx, word [rax]
cmp cx, 0x20
je 0x140049260
cmp cx, 9
jne 0x140049266
add rax, 2
jmp 0x140049251
sub rax, r9
sar rax, 1
mov r8, qword [rbp - 0x58]
sub r8, rax
mov qword [rbp - 0x58], r8
je 0x14004928c
add r8, r8
mov rcx, r9
call fcn.1400ba140
mov rsi, r13
jmp 0x140048833
mov word [r9], r12w
mov rsi, r13
jmp 0x140048833
mov rdx, qword [rbp - 0x60]
mov rcx, qword [rsp + 0x50]
call fcn.140047140
xor r8d, r8d
mov rdx, qword [rsp + 0x50]
mov rcx, r15
test al, al
je 0x1400492cd
xor r9d, r9d
call fcn.140050710
test eax, eax
je 0x14004a29f
mov rsi, r13
jmp 0x14004883a
mov rsi, r13
mov qword [rsp + 0x20], r12
xor r9d, r9d
call fcn.14004d3d0
test eax, eax
je 0x14004a29f
jmp 0x14004883a
mov rdi, qword [rbp + 0x81d8]
lea rsi, [r15 + 0x8c]
jmp 0x14004883a
mov rdi, qword [rbx + 0x6b0]
movzx eax, byte [0x140124d3c]
test rdi, rdi
je 0x1400493c0
test al, al
je 0x1400493c0
mov rax, qword [0x14011c188]
cmp dword [rax + 0x60], 0
jne 0x140049366
cmp dword [rbx + 0x708], 0
jne 0x140049366
cmp byte [0x14011ea7a], 0
jne 0x140049366
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rdi
lea r9, [0x1400f9b70]
xor r8d, r8d
lea rdx, [0x1401028f0]
mov rcx, rbx
call fcn.1400106f0
mov r12d, eax
jmp 0x14004a29f
mov ecx, reloc.WSOCK32.dll_getservbyport
call fcn.1400b8374
mov rbx, rax
mov qword [rbp + 0x81d0], rax
xor r9d, r9d
lea r8, [0x1400f9b70]
lea rdx, [0x1401028f0]
mov rcx, rdi
call fcn.14000ecc0
mov qword [rbx], rax
test rax, rax
je 0x1400493ab
mov dword [rbx + 0x10], 5
mov qword [rbx + 0x20], rsi
jmp 0x14004a1e9
mov edx, reloc.WSOCK32.dll_getservbyport
mov rcx, rbx
call fcn.1400b836c
xor r12d, r12d
jmp 0x14004a213
cmp byte [0x140124d3f], 0
je 0x1400493fd
test al, al
jne 0x1400493fd
mov eax, dword [rbx + 0x2d4]
mov dword [rsp + 0x20], eax
movzx r9d, word [rbx + 0x2d0]
lea r8, [0x1400f9b70]
lea rdx, [0x1401028f0]
mov rcx, rbx
call fcn.14000f5a0
xor r12d, r12d
jmp 0x14004a29f
xor r12d, r12d
lea rdx, [0x1401028f0]
mov rcx, rbx
jmp 0x14004a285
mov rbx, qword [rbp + 0x81d0]
mov qword [rbx + 0x6b0], r12
mov rax, qword [rsp + 0x50]
test rax, rax
lea rcx, [0x1400f9b70]
cmovne rcx, rax
cmp byte [0x140124d3f], 0
je 0x14004946b
cmp byte [0x140124d3c], 0
jne 0x14004946b
mov eax, dword [rbx + 0x2d4]
mov dword [rsp + 0x20], eax
movzx r9d, word [rbx + 0x2d0]
mov r8, rcx
lea rdx, [0x140102b08]
mov rcx, rbx
call fcn.14000f5a0
jmp 0x14004a29f
mov r9, rcx
lea rdx, [0x140102b08]
mov rcx, rbx
jmp 0x14004a28c
mov rax, qword [rsp + 0x50]
mov rdi, qword [r15 + 0x6b0]
movzx ecx, byte [0x140124d3c]
test rdi, rdi
je 0x140049534
test cl, cl
je 0x140049534
test rax, rax
lea rsi, [0x1400f9b70]
cmovne rsi, rax
mov rax, qword [0x14011c188]
cmp dword [rax + 0x60], 0
jne 0x1400494d7
cmp dword [r15 + 0x708], 0
jne 0x1400494d7
cmp byte [0x14011ea7a], 0
jne 0x1400494d7
mov r9, rsi
jmp 0x14004a185
mov ecx, reloc.WSOCK32.dll_getservbyport
call fcn.1400b8374
mov rbx, rax
mov qword [rbp + 0x81d0], rax
xor r9d, r9d
mov r8, rsi
lea rdx, [0x1400fd9b0]
mov rcx, rdi
call fcn.14000ecc0
mov qword [rbx], rax
test rax, rax
je 0x14004a206
mov dword [rbx + 0x10], 5
mov qword [rbx + 0x20], r12
xor r9d, r9d
mov r8, rbx
mov rdx, qword [0x14011c188]
mov rcx, rdi
call fcn.14000f1d0
mov r12d, eax
jmp 0x14004a29f
test rax, rax
lea rdx, [0x1400f9b70]
cmovne rdx, rax
cmp byte [0x140124d3f], 0
je 0x140049579
test cl, cl
jne 0x140049579
mov eax, dword [r15 + 0x2d4]
mov dword [rsp + 0x20], eax
movzx r9d, word [r15 + 0x2d0]
mov r8, rdx
lea rdx, [0x1400fd9b0]
mov rcx, r15
call fcn.14000f5a0
jmp 0x14004a29f
mov r9, rdx
lea rdx, [0x1400fd9b0]
mov rcx, r15
jmp 0x14004a28c
mov ecx, reloc.WSOCK32.dll_getservbyport
call fcn.1400b8374
lea r8, [0x1400f9b70]
mov rbx, rax
xor r9d, r9d
mov qword [rbp + 0x81d0], rax
lea rdx, [0x1401028f0]
mov rcx, rdi
call fcn.14000ecc0
mov qword [rbx], rax
test rax, rax
je 0x14004a206
mov dword [rbx + 0x10], 5
mov qword [rbx + 0x20], r12
xor r9d, r9d
mov r8, rbx
mov rdx, qword [0x14011c188]
mov rcx, rdi
call fcn.14000f1d0
mov r12d, eax
jmp 0x14004a29f
cmp byte [0x140124d3f], 0
je 0x140049627
test al, al
jne 0x140049627
mov eax, dword [r15 + 0x2d4]
mov dword [rsp + 0x20], eax
lea r8, [0x1400f9b70]
lea rdx, [0x1401028f0]
movzx r9d, word [r15 + 0x2d0]
mov rcx, r15
call fcn.14000f5a0
jmp 0x14004a29f
lea rdx, [0x1401028f0]
jmp 0x14004a282
mov rdi, qword [r15 + 0x6b0]
movzx eax, byte [0x140124d3c]
test rdi, rdi
je 0x140049693
test al, al
je 0x140049693
mov rax, qword [0x14011c188]
cmp dword [rax + 0x60], 0
jne 0x14004967d
cmp dword [r15 + 0x708], 0
jne 0x14004967d
cmp byte [0x14011ea7a], 0
jne 0x14004967d
lea r9, [0x1400f9b70]
lea rdx, [0x140102ac8]
jmp 0x14004a18c
mov ecx, reloc.WSOCK32.dll_getservbyport
call fcn.1400b8374
lea rdx, [0x140102ac8]
jmp 0x14004a1ba
cmp byte [0x140124d3f], 0
je 0x1400496ce
test al, al
jne 0x1400496ce
mov eax, dword [r15 + 0x2d4]
mov dword [rsp + 0x20], eax
movzx r9d, word [r15 + 0x2d0]
lea r8, [0x1400f9b70]
lea rdx, [0x140102ac8]
mov rcx, r15
call fcn.14000f5a0
jmp 0x14004a29f
lea rdx, [0x140102ac8]
jmp 0x14004a282
cmp byte [0x140124d3f], 0
je 0x140049627
test al, al
jne 0x140049627
mov dword [rsp + 0x20], ecx
jmp 0x140049604
mov rax, qword [rsp + 0x50]
mov r9, qword [r15 + 0x6b0]
movzx ecx, byte [0x140124d3c]
test r9, r9
je 0x140049791
test cl, cl
je 0x140049791
test rax, rax
lea rcx, [0x1400f9b70]
cmovne rcx, rax
mov rax, qword [0x14011c188]
cmp dword [rax + 0x60], 0
jne 0x14004976d
cmp dword [r15 + 0x708], 0
jne 0x14004976d
cmp byte [0x14011ea7a], 0
jne 0x14004976d
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r9
mov r9, rcx
lea rdx, [0x140102a70]
mov rcx, r15
xor r8d, r8d
call fcn.1400106f0
mov r12d, eax
jmp 0x14004a29f
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r12d
mov r8, rcx
lea rdx, [0x140102a70]
mov rcx, r15
call fcn.14000f030
mov r12d, eax
jmp 0x14004a29f
test rax, rax
lea rdx, [0x1400f9b70]
cmovne rdx, rax
cmp byte [0x140124d3f], 0
je 0x1400497d6
test cl, cl
jne 0x1400497d6
mov eax, dword [r15 + 0x2d4]
mov dword [rsp + 0x20], eax
movzx r9d, word [r15 + 0x2d0]
mov r8, rdx
lea rdx, [0x140102a70]
mov rcx, r15
call fcn.14000f5a0
jmp 0x14004a29f
mov r9, rdx
lea rdx, [0x140102a70]
mov rcx, r15
jmp 0x14004a28c
mov rax, qword [rsp + 0x50]
mov r9, qword [r15 + 0x6b0]
movzx ecx, byte [0x140124d3c]
test r9, r9
je 0x140049876
test cl, cl
je 0x140049876
test rax, rax
cmovne r14, rax
mov rax, qword [0x14011c188]
cmp dword [rax + 0x60], 0
jne 0x140049852
cmp dword [r15 + 0x708], 0
jne 0x140049852
cmp byte [0x14011ea7a], 0
jne 0x140049852
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r9
mov r9, r14
xor r8d, r8d
lea rdx, [0x140102860]
mov rcx, r15
call fcn.1400106f0
mov r12d, eax
jmp 0x14004a29f
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r12d
mov r8, r14
lea rdx, [0x140102860]
mov rcx, r15
call fcn.14000f030
mov r12d, eax
jmp 0x14004a29f
test rax, rax
cmovne r14, rax
cmp byte [0x140124d3f], 0
je 0x1400498b4
test cl, cl
jne 0x1400498b4
mov eax, dword [r15 + 0x2d4]
mov dword [rsp + 0x20], eax
movzx r9d, word [r15 + 0x2d0]
mov r8, r14
lea rdx, [0x140102860]
mov rcx, r15
call fcn.14000f5a0
jmp 0x14004a29f
mov r9, r14
lea rdx, [0x140102860]
mov rcx, r15
jmp 0x14004a28c
mov r9, qword [r15 + 0x6b0]
movzx eax, byte [0x140124d3c]
test r9, r9
je 0x140049948
test al, al
je 0x140049948
mov rax, qword [0x14011c188]
cmp dword [rax + 0x60], 0
jne 0x140049924
cmp dword [r15 + 0x708], 0
jne 0x140049924
cmp byte [0x14011ea7a], 0
jne 0x140049924
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r9
mov r9, r14
lea rdx, [0x1401028f0]
mov rcx, r15
xor r8d, r8d
call fcn.1400106f0
mov r12d, eax
jmp 0x14004a29f
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r12d
mov r8, r14
lea rdx, [0x1401028f0]
mov rcx, r15
call fcn.14000f030
mov r12d, eax
jmp 0x14004a29f
cmp byte [0x140124d3f], 0
je 0x14004997f
test al, al
jne 0x14004997f
mov eax, dword [r15 + 0x2d4]
mov dword [rsp + 0x20], eax
movzx r9d, word [r15 + 0x2d0]
mov r8, r14
lea rdx, [0x1401028f0]
mov rcx, r15
call fcn.14000f5a0
jmp 0x14004a29f
mov r9, r14
lea rdx, [0x1401028f0]
mov rcx, r15
jmp 0x14004a28c
mov rdi, qword [r15 + 0x6b0]
movzx eax, byte [0x140124d3c]
test rdi, rdi
je 0x140049a3d
test al, al
je 0x140049a3d
test rdx, rdx
cmovne r14, rdx
cmp dword [r8 + 0x60], 0
jne 0x1400499e0
cmp dword [r15 + 0x708], 0
jne 0x1400499e0
cmp byte [0x14011ea7a], 0
jne 0x1400499e0
mov r9, r14
lea rdx, [0x140102c68]
jmp 0x14004a18c
mov ecx, reloc.WSOCK32.dll_getservbyport
call fcn.1400b8374
mov rbx, rax
mov qword [rbp + 0x81d0], rax
xor r9d, r9d
mov r8, r14
lea rdx, [0x140102c68]
mov rcx, rdi
call fcn.14000ecc0
mov qword [rbx], rax
test rax, rax
je 0x14004a206
mov dword [rbx + 0x10], 5
mov qword [rbx + 0x20], r12
xor r9d, r9d
mov r8, rbx
mov rdx, qword [0x14011c188]
mov rcx, rdi
call fcn.14000f1d0
mov r12d, eax
jmp 0x14004a29f
test rdx, rdx
cmovne r14, rdx
cmp byte [0x140124d3f], 0
je 0x140049a6b
test al, al
jne 0x140049a6b
mov eax, dword [r15 + 0x2d4]
mov dword [rsp + 0x20], eax
mov r8, r14
lea rdx, [0x140102c68]
jmp 0x140049612
mov r9, r14
lea rdx, [0x140102c68]
mov rcx, r15
jmp 0x14004a28c
mov rax, qword [rsp + 0x50]
mov r9, qword [r15 + 0x6b0]
movzx ecx, byte [0x140124d3c]
test r9, r9
je 0x140049b05
test cl, cl
je 0x140049b05
test rax, rax
cmovne r14, rax
cmp dword [r8 + 0x60], 0
jne 0x140049ae1
cmp dword [r15 + 0x708], 0
jne 0x140049ae1
cmp byte [0x14011ea7a], 0
jne 0x140049ae1
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r9
mov r9, r14
lea rdx, [0x140102c20]
mov rcx, r15
xor r8d, r8d
call fcn.1400106f0
mov r12d, eax
jmp 0x14004a29f
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r12d
mov r8, r14
lea rdx, [0x140102c20]
mov rcx, r15
call fcn.14000f030
mov r12d, eax
jmp 0x14004a29f
test rax, rax
cmovne r14, rax
cmp byte [0x140124d3f], 0
je 0x140049b43
test cl, cl
jne 0x140049b43
mov eax, dword [r15 + 0x2d4]
mov dword [rsp + 0x20], eax
movzx r9d, word [r15 + 0x2d0]
mov r8, r14
lea rdx, [0x140102c20]
mov rcx, r15
call fcn.14000f5a0
jmp 0x14004a29f
mov r9, r14
lea rdx, [0x140102c20]
mov rcx, r15
jmp 0x14004a28c
mov rdx, qword [rsp + 0x50]
mov rdi, qword [r15 + 0x6b0]
movzx eax, byte [0x140124d3c]
test rdi, rdi
je 0x140049c0c
test al, al
je 0x140049c0c
test rdx, rdx
cmovne r14, rdx
mov rax, qword [0x14011c188]
cmp dword [rax + 0x60], 0
jne 0x140049baf
cmp dword [r15 + 0x708], 0
jne 0x140049baf
cmp byte [0x14011ea7a], 0
jne 0x140049baf
mov r9, r14
lea rdx, [0x140102c90]
jmp 0x14004a18c
mov ecx, reloc.WSOCK32.dll_getservbyport
call fcn.1400b8374
mov rbx, rax
mov qword [rbp + 0x81d0], rax
xor r9d, r9d
mov r8, r14
lea rdx, [0x140102c90]
mov rcx, rdi
call fcn.14000ecc0
mov qword [rbx], rax
test rax, rax
je 0x14004a206
mov dword [rbx + 0x10], 5
mov qword [rbx + 0x20], r12
xor r9d, r9d
mov r8, rbx
mov rdx, qword [0x14011c188]
mov rcx, rdi
call fcn.14000f1d0
mov r12d, eax
jmp 0x14004a29f
test rdx, rdx
cmovne r14, rdx
cmp byte [0x140124d3f], 0
je 0x140049c3a
test al, al
jne 0x140049c3a
mov eax, dword [r15 + 0x2d4]
mov dword [rsp + 0x20], eax
mov r8, r14
lea rdx, [0x140102c90]
jmp 0x140049612
mov r9, r14
lea rdx, [0x140102c90]
mov rcx, r15
jmp 0x14004a28c
mov rax, qword [rsp + 0x50]
mov rdi, qword [r15 + 0x6b0]
movzx ecx, byte [0x140124d3c]
test rdi, rdi
je 0x140049d03
test cl, cl
je 0x140049d03
test rax, rax
cmovne r14, rax
mov rax, qword [0x14011c188]
cmp dword [rax + 0x60], 0
jne 0x140049ca6
cmp dword [r15 + 0x708], 0
jne 0x140049ca6
cmp byte [0x14011ea7a], 0
jne 0x140049ca6
mov r9, r14
lea rdx, [0x140102ce0]
jmp 0x14004a18c
mov ecx, reloc.WSOCK32.dll_getservbyport
call fcn.1400b8374
mov rbx, rax
mov qword [rbp + 0x81d0], rax
xor r9d, r9d
mov r8, r14
lea rdx, [0x140102ce0]
mov rcx, rdi
call fcn.14000ecc0
mov qword [rbx], rax
test rax, rax
je 0x14004a206
mov dword [rbx + 0x10], 5
mov qword [rbx + 0x20], r12
xor r9d, r9d
mov r8, rbx
mov rdx, qword [0x14011c188]
mov rcx, rdi
call fcn.14000f1d0
mov r12d, eax
jmp 0x14004a29f
test rax, rax
cmovne r14, rax
cmp byte [0x140124d3f], 0
je 0x140049d31
test cl, cl
jne 0x140049d31
mov eax, dword [r15 + 0x2d4]
mov dword [rsp + 0x20], eax
mov r8, r14
lea rdx, [0x140102ce0]
jmp 0x140049612
mov r9, r14
lea rdx, [0x140102ce0]
mov rcx, r15
jmp 0x14004a28c
mov rax, qword [rsp + 0x50]
mov rdi, qword [r15 + 0x6b0]
movzx ecx, byte [0x140124d3c]
test rdi, rdi
je 0x140049dfa
test cl, cl
je 0x140049dfa
test rax, rax
cmovne r14, rax
mov rax, qword [0x14011c188]
cmp dword [rax + 0x60], 0
jne 0x140049d9d
cmp dword [r15 + 0x708], 0
jne 0x140049d9d
cmp byte [0x14011ea7a], 0
jne 0x140049d9d
mov r9, r14
lea rdx, [0x140102d40]
jmp 0x14004a18c
mov ecx, reloc.WSOCK32.dll_getservbyport
call fcn.1400b8374
mov rbx, rax
mov qword [rbp + 0x81d0], rax
xor r9d, r9d
mov r8, r14
lea rdx, [0x140102d40]
mov rcx, rdi
call fcn.14000ecc0
mov qword [rbx], rax
test rax, rax
je 0x14004a206
mov dword [rbx + 0x10], 5
mov qword [rbx + 0x20], r12
xor r9d, r9d
mov r8, rbx
mov rdx, qword [0x14011c188]
mov rcx, rdi
call fcn.14000f1d0
mov r12d, eax
jmp 0x14004a29f
test rax, rax
cmovne r14, rax
cmp byte [0x140124d3f], 0
je 0x140049e28
test cl, cl
jne 0x140049e28
mov eax, dword [r15 + 0x2d4]
mov dword [rsp + 0x20], eax
mov r8, r14
lea rdx, [0x140102d40]
jmp 0x140049612
mov r9, r14
lea rdx, [0x140102d40]
mov rcx, r15
jmp 0x14004a28c
mov r9, qword [r15 + 0x6b0]
movzx eax, byte [0x140124d3c]
test r9, r9
je 0x140049ec0
test al, al
je 0x140049ec0
mov rax, qword [0x14011c188]
cmp dword [rax + 0x60], 0
jne 0x140049e9a
cmp dword [r15 + 0x708], 0
jne 0x140049e9a
cmp byte [0x14011ea7a], 0
jne 0x140049e9a
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r9
mov r9, qword [rsp + 0x50]
lea rdx, [0x140102bf8]
mov rcx, r15
xor r8d, r8d
call fcn.1400106f0
mov r12d, eax
jmp 0x14004a29f
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r12d
mov r8, qword [rsp + 0x50]
lea rdx, [0x140102bf8]
mov rcx, r15
call fcn.14000f030
mov r12d, eax
jmp 0x14004a29f
cmp byte [0x140124d3f], 0
je 0x140049ef9
test al, al
jne 0x140049ef9
mov eax, dword [r15 + 0x2d4]
mov dword [rsp + 0x20], eax
movzx r9d, word [r15 + 0x2d0]
mov r8, qword [rsp + 0x50]
lea rdx, [0x140102bf8]
mov rcx, r15
call fcn.14000f5a0
jmp 0x14004a29f
mov r9, qword [rsp + 0x50]
lea rdx, [0x140102bf8]
mov rcx, r15
jmp 0x14004a28c
lea rsi, [r15 + 0x8c]
cmp byte [rsp + 0x43], 0
jne 0x14004a0b3
mov rcx, qword [r15 + 0x70]
test rcx, rcx
jne 0x140049f39
cmp dword [rsi], ecx
je 0x14004a0b3
test rcx, rcx
je 0x140049fba
lea rdx, [0x140102da8]
cmp byte [0x140124d3c], 0
je 0x140049f6d
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov r8, r14
lea rcx, [0x1401245b0]
call fcn.14000f6f0
mov r12d, eax
jmp 0x14004a29f
cmp byte [0x140124d3f], 0
je 0x140049f96
mov eax, dword [rcx + 4]
mov dword [rsp + 0x20], eax
movzx r9d, word [rcx + 2]
mov r8, r14
lea rcx, [0x1401245b0]
call fcn.14000f5a0
jmp 0x14004a29f
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rcx
mov r9, r14
lea rcx, [0x1401245b0]
xor r8d, r8d
call fcn.1400106f0
mov r12d, eax
jmp 0x14004a29f
lea rax, [r15 + 0xb8]
mov rdi, qword [r15 + 0x6b0]
movzx ecx, byte [0x140124d3c]
test rdi, rdi
je 0x14004a073
test cl, cl
je 0x14004a073
test rax, rax
cmovne r14, rax
mov rax, qword [0x14011c188]
cmp dword [rax + 0x60], 0
jne 0x14004a016
cmp dword [r15 + 0x708], 0
jne 0x14004a016
cmp byte [0x14011ea7a], 0
jne 0x14004a016
mov r9, r14
lea rdx, [0x140102da8]
jmp 0x14004a18c
mov ecx, reloc.WSOCK32.dll_getservbyport
call fcn.1400b8374
mov rbx, rax
mov qword [rbp + 0x81d0], rax
xor r9d, r9d
mov r8, r14
lea rdx, [0x140102da8]
mov rcx, rdi
call fcn.14000ecc0
mov qword [rbx], rax
test rax, rax
je 0x14004a206
mov dword [rbx + 0x10], 5
mov qword [rbx + 0x20], r12
xor r9d, r9d
mov r8, rbx
mov rdx, qword [0x14011c188]
mov rcx, rdi
call fcn.14000f1d0
mov r12d, eax
jmp 0x14004a29f
test rax, rax
cmovne r14, rax
cmp byte [0x140124d3f], 0
je 0x14004a0a1
test cl, cl
jne 0x14004a0a1
mov eax, dword [r15 + 0x2d4]
mov dword [rsp + 0x20], eax
mov r8, r14
lea rdx, [0x140102da8]
jmp 0x140049612
mov r9, r14
lea rdx, [0x140102da8]
mov rcx, r15
jmp 0x14004a28c
mov rcx, qword [r15 + 0x78]
test rcx, rcx
je 0x14004a0c9
call fcn.140010ca0
mov r12d, eax
jmp 0x14004a29f
cmp qword [r15 + 0x30], 0
je 0x14004a12d
mov rdi, qword [r15 + 0x6b0]
movzx eax, byte [0x140124d3c]
test rdi, rdi
je 0x140049948
test al, al
je 0x140049948
mov rax, qword [0x14011c188]
cmp dword [rax + 0x60], 0
jne 0x14004a11b
cmp dword [r15 + 0x708], 0
jne 0x14004a11b
cmp byte [0x14011ea7a], 0
jne 0x14004a11b
mov r9, r14
lea rdx, [0x1401028f0]
jmp 0x14004a18c
mov ecx, reloc.WSOCK32.dll_getservbyport
call fcn.1400b8374
mov r8, r14
jmp 0x14004959c
inc dword [r15 + 0x2d4]
mov r12d, 1
jmp 0x14004a29f
mov rdi, qword [r15 + 0x6b0]
movzx eax, byte [0x140124d3c]
test rdi, rdi
je 0x14004a243
test al, al
je 0x14004a243
mov rax, qword [0x14011c188]
cmp dword [rax + 0x60], 0
jne 0x14004a1a9
cmp dword [r15 + 0x708], 0
jne 0x14004a1a9
cmp byte [0x14011ea7a], 0
jne 0x14004a1a9
lea r9, [0x1400f9b70]
lea rdx, [0x1400fd9b0]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rdi
mov rcx, r15
xor r8d, r8d
call fcn.1400106f0
mov r12d, eax
jmp 0x14004a29f
mov ecx, reloc.WSOCK32.dll_getservbyport
call fcn.1400b8374
lea rdx, [0x1400fd9b0]
mov rbx, rax
mov qword [rbp + 0x81d0], rax
xor r9d, r9d
lea r8, [0x1400f9b70]
mov rcx, rdi
call fcn.14000ecc0
mov qword [rbx], rax
test rax, rax
je 0x14004a206
mov dword [rbx + 0x10], 5
mov qword [rbx + 0x20], r12
xor r9d, r9d
mov r8, rbx
mov rdx, qword [0x14011c188]
mov rcx, rdi
call fcn.14000f1d0
mov r12d, eax
jmp 0x14004a29f
mov edx, reloc.WSOCK32.dll_getservbyport
mov rcx, rbx
call fcn.1400b836c
mov rax, qword [0x14011c188]
cmp qword [rax + 0x58], 0
jne 0x14004a29f
mov qword [rsp + 0x20], r12
xorps xmm3, xmm3
xor r8d, r8d
mov edx, 0x10000
lea rcx, [0x1400fd3d0]
call fcn.1400a1a40
jmp 0x14004a29f
cmp byte [0x140124d3f], 0
je 0x14004a27b
test al, al
jne 0x14004a27b
mov eax, dword [r15 + 0x2d4]
mov dword [rsp + 0x20], eax
movzx r9d, word [r15 + 0x2d0]
lea r8, [0x1400f9b70]
lea rdx, [0x1400fd9b0]
mov rcx, r15
call fcn.14000f5a0
jmp 0x14004a29f
lea rdx, [0x1400fd9b0]
mov rcx, r15
lea r9, [0x1400f9b70]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
xor r8d, r8d
call fcn.1400106f0
nop
mov rcx, qword [rbp - 0x60]
call fcn.1400beb90
nop
mov rcx, qword [rsp + 0x50]
call fcn.1400beb90
mov eax, r12d
add rsp, 0x8288
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret