Function at 0x140021254
Capabilities:
Authenticate hmac
Encode data using base64

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x128]
sub rsp, 0x1e8
mov r11, qword [rdx]
mov rbx, qword [r8]
mov r8d, dword [rcx]
xor r14d, r14d
mov eax, r8d
mov edi, r8d
lea esi, [r14 + 1]
shr eax, 9
shr edi, 0xb
and eax, esi
and edi, esi
mov r10, r9
mov dword [rbp + 0x68], eax
xor eax, esi
mov ecx, r14d
mov dword [rbp + 0x78], eax
lea rax, [rsi - 3]
mov edx, r14d
mov dword [rbp - 0x10], eax
mov dword [rbp - 0x1c], eax
mov r13d, eax
mov dword [rbp - 0x20], eax
mov r9d, eax
mov dword [rbp - 0x60], eax
movsx eax, r8b
mov dword [rbp - 0x18], r14d
mov dword [rbp - 0xc], r14d
and eax, esi
mov dword [rbp - 0x70], r8d
mov dword [rbp + 0x38], r14d
mov dword [rbp + 8], r14d
mov qword [rbp - 0x68], r11
mov qword [rbp + 0xa0], r11
mov dword [rbp + 0xc], eax
mov qword [rbp + 0x90], r11
mov dword [rbp - 0x54], r14d
mov dword [rbp + 0x24], r14d
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x40], rcx
mov r15d, r14d
mov qword [rbp - 0x48], r14
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x70], r14
mov dword [rbp - 0x80], edi
mov dword [rbp], r14d
mov dword [rbp + 4], r14d
mov dword [rbp - 0x38], r14d
mov dword [rbp - 0x14], r14d
movzx esi, word [rbx]
test esi, esi
je 0x140021761
mov r12, qword [rbp + 0x180]
mov r14, qword [rbp + 0x188]
movsxd rcx, dword [r12 + 0x6c]
mov rax, qword [r12 + 0x20]
add rcx, 0xffffffffffffff9c
lea rcx, [rax + rcx*2]
test r14, r14
je 0x1400216c4
cmp r11, rcx
ja 0x14005f60b
mov rax, qword [rbp + 0xa0]
mov edx, dword [r14]
cmp r11, rax
cmovb r11, rax
mov rcx, r11
mov qword [rbp - 0x68], r11
sub rcx, rax
mov eax, 0x7fffffeb
sub eax, edx
sar rcx, 1
cdqe
cmp rax, rcx
jl 0x14005f499
lea eax, [rdx + rcx]
mov dword [r14], eax
test r15, r15
je 0x140021755
mov rax, qword [rbp + 0x90]
cmp r15, rax
jbe 0x1400213fc
mov r8, r11
mov rdx, r15
mov rcx, rax
sub r8, r15
and r8, 0xfffffffffffffffe
call fcn.140024af0
mov rax, qword [rbp + 0x90]
mov r11, qword [rbp - 0x68]
mov rbx, qword [rbp - 0x78]
mov r10, qword [rbp + 0x148]
mov r9d, dword [rbp - 0x60]
mov r8d, dword [rbp - 0x70]
sub r15, rax
mov qword [rbp - 0x48], rax
sar r15, 1
neg r15
lea r11, [r11 + r15*2]
mov r15, rax
mov qword [rbp - 0x68], r11
mov rdx, qword [rbp + 0x28]
mov qword [rbp + 0xa0], r11
xor ecx, ecx
cmp dword [rbp - 0x54], ecx
jne 0x14005bfef
mov r14d, r8d
and r14d, 8
mov dword [rbp - 0x28], r14d
jne 0x14005c08d
lea eax, [rsi - 0x2a]
mov edi, 1
cmp eax, edi
jbe 0x140021bf3
lea eax, [rdi + 0x3e]
cmp esi, eax
je 0x140021bf3
lea eax, [rdi + 0x7a]
cmp esi, eax
je 0x14005c1c7
mov rax, qword [rbp - 0x40]
mov edx, ecx
mov rcx, qword [rbp + 0x28]
test rcx, rcx
jne 0x14005c1df
mov rdi, qword [rbp + 0x188]
xor ecx, ecx
bt r8d, 0xe
jb 0x14005c229
mov eax, 0x3f
cmp esi, eax
ja 0x14002150c
je 0x14005cfb8
mov eax, esi
test esi, esi
je 0x1400216d4
sub eax, 0x24
je 0x14005cf90
mov edx, 4
sub eax, edx
je 0x14002176f
dec eax
je 0x1400216d4
dec eax
je 0x140021a42
dec eax
je 0x14005c26c
lea ecx, [rdx - 1]
cmp eax, ecx
jne 0x140021540
mov r10d, dword [rbp - 0x14]
mov r12d, dword [rbp - 0x38]
lea eax, [rdx - 5]
cmp r9d, 0xfffffffe
mov r15, r11
mov qword [rbp - 0x48], r11
cmove r9d, eax
movsx eax, r8b
mov dword [rbp + 4], r10d
and eax, edx
mov dword [rbp], r12d
mov dword [rbp - 0x10], r13d
or eax, 0x30
mov dword [rbp - 0x60], r9d
mov dword [rbp - 0x1c], r9d
shr eax, 2
mov word [r11], ax
add r11, 2
xor r14d, r14d
jmp 0x140021a39
mov eax, esi
sub eax, 0x5b
je 0x140021e0e
dec eax
je 0x140021937
dec eax
je 0x14005ddd4
dec eax
je 0x14005dd97
sub eax, 0x1d
je 0x14005cfd7
dec eax
je 0x1400216d4
mov edx, 2
mov r14d, dword [rbp - 0x80]
mov r12d, dword [rbp - 0x38]
mov edi, 1
mov word [rbp + 0x80], si
mov ecx, 0xfc00
mov r9d, 0xd800
test r14d, r14d
je 0x140021576
mov eax, esi
and eax, ecx
cmp eax, r9d
je 0x14005ddf2
mov r10d, 2
mov rax, rdi
mov r15, r11
mov qword [rbp - 0x48], r11
test r14d, r14d
je 0x1400220ee
test al, r8b
je 0x1400220ee
movzx edx, si
mov eax, edx
and eax, ecx
cmp eax, r9d
je 0x14005f361
mov eax, edx
mov ecx, 0x80
lea r9, [0x140000000]
cdq
xor r14d, r14d
idiv ecx
movsxd rcx, eax
movsxd rax, edx
movzx r8d, byte [rcx + r9 + 0xc9600]
shl r8, 7
add r8, rax
movzx eax, word [r9 + r8*2 + 0xbb300]
movzx ecx, byte [r9 + rax*8 + 0xb85e3]
test ecx, ecx
jne 0x1400218fd
mov r8d, dword [rbp - 0x70]
mov al, r8b
mov edx, 1
and al, dl
neg al
sbb ecx, ecx
neg ecx
add ecx, 0x1d
mov word [r11], cx
add r11, r10
mov qword [rbp - 0x68], r11
test edi, edi
je 0x14002163e
mov r8d, edi
lea rdx, [rbp + 0x80]
mov rcx, r11
add r8, r8
mov ebx, edi
call fcn.140024af0
mov r11, qword [rbp - 0x68]
mov r8d, dword [rbp - 0x70]
lea r11, [r11 + rbx*2]
mov edx, 1
mov qword [rbp - 0x68], r11
mov eax, reloc.WSOCK32.dll_listen
cmp si, ax
je 0x14005f397
mov eax, 0xa
cmp si, ax
je 0x14005f397
mov rax, qword [rbp + 0x180]
mov r9d, dword [rbp - 0x60]
mov dword [rbp], r12d
mov dword [rbp - 0x10], r13d
cmp r9d, 0xfffffffe
je 0x1400220f6
mov ecx, dword [rbp - 0x14]
mov dword [rbp - 0x1c], r9d
mov dword [rbp + 4], ecx
cmp edi, edx
jne 0x14005f3ce
mov eax, dword [rax + 0x98]
or eax, dword [rbp + 0xc]
movzx ecx, word [r11 - 2]
mov dword [rbp - 0x20], eax
mov dword [rbp - 0x38], ecx
mov rbx, qword [rbp - 0x78]
mov edi, dword [rbp - 0x80]
mov rcx, qword [rbp - 0x40]
mov r10, qword [rbp + 0x148]
mov r13d, dword [rbp - 0x20]
mov rdx, qword [rbp + 0x28]
add rbx, 2
mov qword [rbp - 0x78], rbx
jmp 0x140021329
cmp qword [r12 + 0x40], rcx
jbe 0x140021407
jmp 0x14005f60b
mov rax, qword [rbp + 0x150]
mov ecx, dword [rbp - 0x14]
mov rdx, qword [rbp + 0x140]
mov dword [rax], ecx
mov rax, qword [rbp + 0x158]
mov ecx, dword [rbp - 0x38]
mov dword [rax], r9d
mov rax, qword [rbp + 0x160]
mov qword [rdx], rbx
mov dword [rax], ecx
mov rax, qword [rbp + 0x168]
mov dword [rax], r13d
mov rax, qword [rbp + 0x138]
mov qword [rax], r11
test rdi, rdi
je 0x14002173c
sub r11, qword [rbp + 0xa0]
mov ecx, dword [rdi]
mov eax, 0x7fffffeb
sub eax, ecx
sar r11, 1
cdqe
cmp rax, r11
jl 0x14005f54c
add ecx, r11d
mov dword [rdi], ecx
mov eax, 1
add rsp, 0x1e8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r11, qword [rbp + 0x90]
jmp 0x1400213f8
test rcx, rcx
je 0x140021334
jmp 0x14005bfdc
add rbx, 2
mov eax, 0x3f
mov qword [rbp - 0x78], rbx
cmp word [rbx], ax
jne 0x140021790
mov eax, SafeArrayDestroyData
cmp word [rbx + 2], ax
je 0x14005c28b
mov eax, 0x2a
lea esi, [rax + 0x10]
lea r15d, [rax - 0x28]
cmp word [rbx], ax
je 0x14005c2d3
mov r14, qword [r12 + 0x40]
mov r13d, 0x85
mov dword [rbp - 0x58], ecx
sub r14, qword [r12 + 0x20]
lea ecx, [r13 - 0x46]
mov dword [rbp - 0x50], r8d
sar r14, 1
mov qword [rbp + 0x70], r14
xor r14d, r14d
mov dword [rbp - 0x48], r14d
cmp word [rbx], cx
jne 0x140021bfe
add rbx, r15
mov qword [rbp - 0x78], rbx
movzx edx, word [rbx]
cmp edx, esi
jle 0x14005c59b
lea esi, [r13 - 0x49]
mov ecx, edx
sub ecx, esi
je 0x14005cd26
dec ecx
je 0x14005ccf0
dec ecx
je 0x14005cce8
sub ecx, 5
je 0x14005cc66
sub ecx, 0xd
je 0x14005cc0e
sub ecx, r15d
je 0x14005cbef
lea r10d, [r13 - 0x5b]
cmp ecx, r10d
je 0x14005cbc8
mov esi, r14d
mov r11d, 0x2d
mov r9d, reloc.OLEAUT32.dll_SafeArrayCreateEx
mov eax, r14d
mov r10d, r14d
mov dword [rbp - 0x28], r14d
lea rcx, [rbp - 0x28]
mov dword [rbp - 0x5c], eax
cmp dx, r9w
je 0x140021892
mov eax, 0x3a
cmp dx, ax
je 0x14002188b
add rbx, r15
movzx eax, dx
mov qword [rbp - 0x78], rbx
cmp eax, r11d
je 0x1400221ac
cmp eax, 0x69
jne 0x14005e038
mov eax, 1
or dword [rcx], eax
movzx edx, word [rbx]
cmp dx, r9w
jne 0x140021855
mov r10d, dword [rbp - 0x28]
mov eax, dword [rbp - 0x5c]
or r10d, r8d
not eax
and r10d, eax
cmp word [rbx], r9w
jne 0x14005e0c5
mov rax, qword [r12 + 0x28]
mov r11, qword [rbp - 0x68]
mov ecx, 4
add rax, rcx
cmp r11, rax
je 0x14005e09c
mov esi, 1
mov eax, r10d
shr eax, 9
and eax, esi
mov dword [rbp + 0x68], eax
xor eax, esi
mov dword [rbp + 0x78], eax
movsx eax, r10b
and eax, esi
mov dword [rbp + 0xc], eax
mov rax, qword [rbp + 0x130]
mov r9d, dword [rbp - 0x60]
mov r8d, r10d
mov dword [rbp - 0x70], r10d
mov r15, r14
mov qword [rbp - 0x48], r14
mov dword [rax], r10d
jmp 0x1400216a1
mov r9d, dword [rbp - 0x60]
mov eax, reloc.WSOCK32.dll_recv
mov word [r11], ax
add r11, r10
mov eax, 9
mov word [r11], ax
add r11, r10
mov word [r11], cx
add r11, r10
mov qword [rbp - 0x68], r11
cmp r9d, 0xfffffffe
je 0x14005f383
mov r8d, dword [rbp - 0x70]
jmp 0x14002169d
mov r9d, dword [r12 + 0x70]
xor r14d, r14d
lea rdx, [rbp + 0x3c]
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r8d
lea rcx, [rbp - 0x78]
mov r8, r10
mov qword [rbp + 0x40], rbx
call fcn.140023088
mov r10, qword [rbp + 0x148]
movsxd rdi, eax
cmp dword [r10], r14d
jne 0x14005f530
test eax, eax
je 0x14005de2b
cmp edi, 0x1a
je 0x14005de9e
mov r9d, dword [rbp - 0x60]
cmp edi, 0x19
je 0x1400221bc
lea ebx, [r14 + 0x10]
cmp r9d, 0xfffffffe
jne 0x1400219a8
lea eax, [rdi - 6]
cmp eax, ebx
lea eax, [rbx - 0x11]
cmovbe r9d, eax
mov dword [rbp - 0x60], r9d
mov esi, dword [rbp - 0x14]
mov ecx, dword [rbp - 0x38]
mov eax, CreateStdDispatch
mov dword [rbp - 0x1c], r9d
mov dword [rbp - 0x10], r13d
mov dword [rbp + 4], esi
mov dword [rbp], ecx
cmp edi, eax
je 0x14005ded1
mov eax, CreateStdDispatch
cmp edi, eax
je 0x14005e2fe
lea esi, [rax - 0x1b]
test edi, edi
js 0x1400221b5
lea eax, [rdi - 0xf]
cmp eax, esi
jbe 0x14005e7c5
cmp edi, esi
je 0x14005e781
lea eax, [rdi - 4]
cmp eax, esi
jbe 0x14005e781
mov r11, qword [rbp - 0x68]
lea eax, [rdi - 0x1d]
mov ecx, 5
cmp eax, ecx
jbe 0x14005e796
lea eax, [rdi - 6]
mov r15, r14
cmp eax, ebx
cmovbe r15, r11
mov qword [rbp - 0x48], r15
cmp dword [rbp - 0x80], r14d
je 0x14005e7b2
mov word [r11], di
add r11, 2
mov r8d, dword [rbp - 0x70]
mov qword [rbp - 0x68], r11
jmp 0x14002169d
xor esi, esi
or eax, 0xffffffff
mov edi, eax
mov dword [rbp - 0x5c], eax
mov dword [rbp - 0xc], eax
mov r9d, esi
mov dword [rbp - 0x18], esi
mov r11d, 1
test r15, r15
je 0x1400221c5
test r9d, r9d
jne 0x140021a81
mov eax, dword [rbp + 4]
mov dword [rbp - 0x14], eax
mov eax, dword [rbp - 0x1c]
mov dword [rbp - 0x60], eax
mov eax, dword [rbp]
mov dword [rbp - 0x38], eax
mov eax, dword [rbp - 0x10]
mov dword [rbp - 0x20], eax
mov eax, r9d
mov r13d, 2
mov dword [rbp - 0x58], esi
sub eax, edi
mov qword [rbp - 8], r15
neg eax
sbb eax, eax
and eax, r13d
mov dword [rbp - 0x30], eax
test r14d, r14d
jne 0x14005d01e
lea rax, [rbx + 2]
mov ecx, 0x2b
cmp word [rax], cx
je 0x14005d13d
mov ecx, 0x3f
cmp word [rax], cx
jne 0x14002219b
mov r12d, dword [rbp + 0x78]
mov rbx, rax
mov qword [rbp - 0x78], rax
mov dword [rbp - 0x50], r12d
mov eax, 0x75
cmp word [r15], ax
je 0x14005d153
mov r11, qword [rbp - 0x68]
mov r14, qword [rbp + 0x188]
movzx eax, word [r15]
mov edx, 3
sub ax, 0x1d
cmp ax, dx
jbe 0x14005d996
cmp word [r15], 0x17
jae 0x14005d1dc
movzx esi, word [r15]
lea edi, [rdx + 0x31]
mov r8d, dword [rbp - 0x80]
mov r10d, 1
movzx eax, word [r15]
sub ax, 0xf
cmp ax, r10w
jbe 0x14005da56
or eax, 0xffffffff
mov r15d, eax
mov r14d, eax
mov rdx, qword [rbp - 0x48]
mov r13d, dword [rbp - 0x5c]
mov rax, qword [rbp - 0x68]
mov r11, rdx
mov qword [rbp - 0x68], rdx
test r13d, r13d
je 0x1400221a4
mov ecx, dword [rbp - 0x18]
add r12d, edi
test ecx, ecx
jne 0x14005da90
or eax, 0xffffffff
cmp r13d, eax
jne 0x14005da65
add r12w, 0x21
mov word [rdx], r12w
lea r11, [rdx + 2]
mov r10d, 2
mov qword [rbp - 0x68], r11
test r8d, r8d
je 0x140021b98
bt esi, 0x1c
jb 0x14005dbee
mov word [r11], si
add r11, r10
mov qword [rbp - 0x68], r11
test r14d, r14d
jns 0x14005dc1e
mov r15d, dword [rbp - 0x58]
xor r14d, r14d
mov rbx, qword [rbp - 0x78]
mov esi, 0x78
lea r8d, [rsi - 0x77]
mov r12d, 0x81
test r15d, r15d
jne 0x14005dc48
mov rcx, qword [rbp + 0x180]
mov eax, dword [rbp - 0x30]
mov r15, r14
or dword [rcx + 0x98], eax
mov qword [rbp - 0x48], r14
mov r9d, dword [rbp - 0x60]
mov r8d, dword [rbp - 0x70]
jmp 0x1400216a1
mov rax, qword [rbp - 0x40]
mov edx, edi
jmp 0x14002145c
bt r8d, 0xc
jb 0x14005c6b5
mov rdx, qword [rbp - 0x68]
mov esi, dword [rbp - 0x48]
mov ecx, 1
add dword [r12 + 0x70], ecx
movzx eax, word [r12 + 0x70]
mov r11d, ecx
mov rcx, qword [rbp + 0x188]
mov word [rdx + 4], ax
mov rbx, qword [rbp - 0x78]
xor r9d, r9d
mov edi, 0x52
mov r10d, dword [rbp - 0x50]
mov r8d, 3
mov r14, qword [rbp + 0x180]
mov eax, 1
add dword [r14 + 0x88], eax
cmp dword [r14 + 0x88], 0xfa
jg 0x14005f5a0
lea eax, [r13 - 0x7d]
cmp eax, r8d
jbe 0x14005e0fd
mov r15, rdx
mov word [rdx], r13w
mov edi, dword [r14 + 0x98]
mov ebx, dword [r14 + 0x70]
mov rax, rcx
mov qword [rbp - 0x48], r15
mov qword [rbp - 8], rdx
neg rax
lea rax, [rbp + 8]
mov dword [rbp + 8], r9d
sbb r8, r8
and r8, rax
mov eax, 0x87
cmp r13d, eax
je 0x14005e119
lea eax, [r13 - 0x7f]
mov ecx, 1
mov edx, r9d
cmp eax, ecx
jbe 0x140021cc4
mov ecx, r9d
mov eax, dword [rbp + 0x178]
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x68], r14
add eax, edx
mov rdx, qword [rbp + 0x170]
lea r8, [rbp - 0x78]
mov qword [rsp + 0x60], rdx
lea rdx, [rbp + 0x20]
mov qword [rsp + 0x58], rdx
lea rdx, [rbp + 0x34]
mov qword [rsp + 0x50], rdx
lea rdx, [rbp + 0x30]
mov qword [rsp + 0x48], rdx
lea rdx, [rbp + 0x7c]
mov qword [rsp + 0x40], rdx
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], esi
mov rsi, qword [rbp + 0x148]
mov dword [rsp + 0x20], ecx
lea rdx, [rbp - 8]
mov ecx, r10d
mov r9, rsi
call fcn.140020f84
xor r8d, r8d
test eax, eax
je 0x14005f530
or r12d, 0xffffffff
mov eax, 0x81
add dword [r14 + 0x88], r12d
cmp r13d, eax
je 0x14005e123
mov r11, qword [rbp - 0x68]
lea eax, [r13 - 0x7d]
mov ecx, 3
cmp eax, ecx
jbe 0x14005e13f
mov r14, qword [rbp + 0x188]
mov eax, 0x87
mov r10d, 1
lea r9d, [rax - 0xf]
cmp r13d, eax
je 0x14005e14b
mov r11, qword [rbp - 0x68]
mov ecx, dword [rbp + 0x30]
mov eax, dword [rbp + 0x20]
mov rbx, qword [rbp - 0x78]
mov edx, reloc.OLEAUT32.dll_SafeArrayCreateEx
cmp word [rbx], dx
jne 0x14005f598
test r14, r14
jne 0x14002214e
mov r11, qword [rbp - 8]
mov edx, VariantChangeTypeEx
mov qword [rbp - 0x68], r11
cmp r13d, edx
je 0x140021be6
mov edx, dword [rbp - 0x38]
mov r9d, dword [rbp - 0x60]
mov dword [rbp + 0x24], r14d
mov dword [rbp], edx
mov edx, dword [rbp - 0x20]
mov dword [rbp - 0x1c], r9d
mov dword [rbp - 0x10], edx
mov edx, dword [rbp - 0x14]
mov dword [rbp + 4], edx
cmp r13d, 0x81
jl 0x14005e20c
cmp r9d, 0xfffffffe
je 0x14005e1c5
test ecx, ecx
jns 0x14005e1e8
test eax, eax
js 0x140021be6
jmp 0x14005e1fe
lea r11, [rbx + 2]
mov edi, 6
lea rdx, str._:_:__
mov rcx, r11
mov r8d, edi
call fcn.1400222a4
xor r14d, r14d
test eax, eax
je 0x14005e841
lea rdx, [0x1400ab330]
mov r8d, edi
mov rcx, r11
call fcn.1400222a4
test eax, eax
je 0x14005e84e
mov r13, qword [rbp - 0x68]
lea eax, [rdi + 0x37]
mov r15, r13
mov qword [rbp - 0x48], r13
cmp word [r11], ax
ja 0x140021e7a
movzx eax, word [r11]
movabs rcx, 0x2400400000000000
bt rcx, rax
jb 0x14005e875
mov eax, r14d
mov dword [rbp - 0x50], eax
mov r9d, 0x5e
lea r8d, [r9 - 0x19]
lea edx, [r9 - 0x5c]
mov ecx, 0x5c
add rbx, rdx
mov qword [rbp - 0x78], rbx
movzx esi, word [rbx]
cmp esi, ecx
je 0x14005e8a0
test eax, eax
jne 0x140021eb2
cmp esi, r9d
je 0x14005e8d7
mov ecx, 0x5d
cmp esi, ecx
je 0x14005e8e4
lea r15, [r13 + 6]
xor edx, edx
lea rcx, [rbp + 0x48]
lea r8d, [rdx + 0x20]
mov edi, r14d
mov dword [rbp - 0x58], r14d
mov dword [rbp - 0x10], r14d
mov qword [rbp - 0x30], r15
mov qword [rbp + 0x18], r15
mov r13d, r14d
mov r12d, r14d
mov dword [rbp - 0x5c], r14d
call fcn.140025360
mov rbx, qword [rbp - 0x78]
xor r8d, r8d
test esi, esi
je 0x14005f1f1
mov r11d, dword [rbp - 0x80]
lea r10d, [r8 + 2]
jmp 0x140022010
mov rcx, qword [rbp + 0x18]
cmp r15, rcx
ja 0x14005e968
mov ecx, dword [rbp - 0x54]
test ecx, ecx
jne 0x14005e981
cmp esi, 0x5b
je 0x14005e9ac
lea eax, [rcx + 0x5c]
cmp esi, eax
je 0x14005ec0f
mov r10, qword [rbp + 0x148]
mov rdx, qword [rbp + 0x180]
mov r9d, 0x45
mov r15d, 0x5c
cmp word [rbx + 2], r15w
je 0x14005ef8e
mov r9d, reloc.WSOCK32.dll_listen
mov rax, rbx
cmp esi, r9d
je 0x14005efb1
mov r9d, 0xa
cmp esi, r9d
je 0x14005efb1
test ecx, ecx
jne 0x140021f90
lea r9d, [rcx + 0x2d]
cmp word [rbx + 2], r9w
je 0x14005efbe
mov r10d, 2
lea eax, [r10 - 1]
cmp r12d, r10d
jl 0x140022046
test ecx, ecx
jne 0x140021fb0
cmp r12d, eax
je 0x14002204e
mov r9, qword [rbp + 0x180]
mov r8d, dword [rbp - 0x70]
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x48]
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
call fcn.1400221d0
add r13d, eax
mov r15, qword [rbp - 0x30]
mov rbx, qword [rbp - 0x78]
mov r10d, 2
mov ecx, dword [rbp - 0x54]
mov r11d, dword [rbp - 0x80]
mov r8d, dword [rbp - 0x70]
mov rdx, qword [rbp - 0x40]
add rbx, r10
xor eax, eax
mov qword [rbp - 0x78], rbx
movzx esi, word [rbx]
test esi, esi
je 0x14005f1d5
mov edx, 0x5d
cmp esi, edx
je 0x140022062
xor r8d, r8d
test r11d, r11d
je 0x14002202b
mov eax, esi
mov ecx, 0xfc00
mov edx, 0xd800
and eax, ecx
cmp eax, edx
je 0x14005e935
mov rdx, qword [rbp + 0x188]
mov r9d, 1
test rdx, rdx
je 0x140021f18
jmp 0x140021f0b
add r12d, eax
jmp 0x140021fa3
mov ecx, 0x5d
cmp word [rbx + 2], cx
jne 0x140021fb0
jmp 0x14005f204
test ecx, ecx
jne 0x14002200d
mov r9d, dword [rbp - 0x60]
mov eax, dword [rbp - 0x10]
mov rcx, qword [rbp + 0x18]
cmp r15, rcx
mov r12d, 1
cmova eax, r12d
lea edx, [r12 - 2]
cmp r9d, 0xfffffffe
cmove r9d, edx
mov edx, dword [rbp - 0x14]
xor esi, esi
mov dword [rbp + 4], edx
mov edx, dword [rbp - 0x38]
mov dword [rbp - 0x60], r9d
mov dword [rbp], edx
mov edx, dword [rbp - 0x20]
mov dword [rbp - 0x1c], r9d
mov dword [rbp - 0x10], edx
test eax, eax
jne 0x14005f3dd
mov r14, qword [rbp + 0x188]
test r14, r14
je 0x1400220c4
sub r15, rcx
sar r15, 1
add dword [r14], r15d
mov r11, qword [rbp - 0x68]
mov ebx, dword [rbp - 0x50]
mov eax, esi
cmp ebx, edi
mov ecx, WSAGetLastError
setne al
add eax, ecx
mov word [r11], ax
add r11, r10
mov qword [rbp - 0x68], r11
test r14, r14
je 0x14002211f
xor r14d, r14d
jmp 0x140022141
xor r14d, r14d
jmp 0x1400215f0
or ecx, 0xffffffff
mov dword [rbp - 0x1c], ecx
cmp edi, edx
jne 0x14005f3ab
mov r9d, dword [rbp + 0xc]
movzx ecx, si
mov dword [rbp - 0x60], r9d
mov dword [rbp - 0x14], ecx
cmp edi, edx
je 0x14002192e
jmp 0x14005f3c3
test ebx, ebx
jne 0x14005f481
lea rdx, [rbp + 0x48]
mov r8d, reloc.OLEAUT32.dll_RegisterActiveObject
mov rcx, r11
call fcn.140024af0
mov r11, qword [rbp - 0x68]
mov r9d, dword [rbp - 0x60]
mov r15, qword [rbp - 0x48]
add r11, 0x20
jmp 0x140021a35
mov r8d, dword [rbp + 8]
mov edx, dword [r14]
mov ecx, 0x7fffffeb
lea eax, [r8 - 4]
sub ecx, edx
cmp ecx, eax
jl 0x14005f590
mov r10d, 2
lea eax, [r8 - 4]
add r11, r10
add eax, edx
mov dword [r14], eax
mov word [r11], r10w
add r11, r10
mov word [r11], r9w
mov r9d, dword [rbp - 0x60]
add r11, r10
mov word [r11], r10w
add r11, r10
xor r14d, r14d
jmp 0x140021a35
mov r12d, dword [rbp + 0x68]
jmp 0x140021ad1
xor r14d, r14d
jmp 0x140021bcf
lea rcx, [rbp - 0x5c]
jmp 0x140021882
neg edi
jmp 0x14005e6ec
mov r11, qword [rbp - 0x68]
jmp 0x14002192e
mov eax, 9
jmp 0x14005f4e7
mov qword [rbp - 0x78], rcx
movzx esi, word [rcx]
mov rbx, rcx
mov qword [rbp - 0x40], r14
jmp 0x140021334
test esi, esi
je 0x140021412
mov eax, 0x5c
cmp esi, eax
jne 0x14005c01b
lea r10d, [rax - 0x17]
cmp word [rbx + 2], r10w
jne 0x14005c01b
xor r14d, r14d
add rbx, 2
mov dword [rbp - 0x54], r14d
jmp 0x1400216a4
test rdx, rdx
je 0x14005c03f
test r14, r14
jne 0x14005c03b
mov eax, ebx
sub eax, dword [r12 + 0x30]
sar rax, 1
sub ax, word [rdx + 4]
mov word [rdx + 6], ax
mov rbx, qword [rbp - 0x78]
mov qword [rbp + 0x28], rcx
mov edx, 2
bt r8d, 0xe
jae 0x140021545
lea rcx, [r11 + 2]
lea eax, [rdx + 0x74]
mov qword [rbp + 0x28], r11
mov word [r11], ax
mov eax, 0xff
xor r11d, r11d
mov word [rcx], ax
mov eax, ebx
sub eax, dword [r12 + 0x30]
mov word [rcx + rdx + 2], r11w
lea r11, [rdx + 4]
sar rax, 1
add r11, rcx
mov word [rcx + rdx], ax
mov rbx, qword [rbp - 0x78]
jmp 0x140021545
mov edx, 0xff
mov r14d, SafeArrayDestroyData
mov r9d, 1
cmp esi, edx
ja 0x14005c0c4
mov rcx, qword [r12 + 0x18]
lea edi, [r9 + 1]
test byte [rsi + rcx], r9b
je 0x14005c0bf
add rbx, rdi
mov qword [rbp - 0x78], rbx
movzx esi, word [rbx]
cmp esi, edx
jbe 0x14005c0ab
mov edi, dword [rbp - 0x80]
xor ecx, ecx
cmp esi, r14d
jne 0x14005c1ab
mov esi, 2
add rbx, rsi
mov qword [rbp - 0x78], rbx
movzx r8d, word [rbx]
test r8w, r8w
je 0x14005c1a3
mov edx, dword [r12 + 0xb0]
test edx, edx
je 0x14005c119
mov r8, qword [r12 + 0x38]
cmp rbx, r8
jae 0x14005c150
lea r9, [r12 + 0xb4]
mov rcx, rbx
mov dword [rsp + 0x20], edi
call fcn.140023578
xor ecx, ecx
test eax, eax
je 0x14005c150
jmp 0x14005c18e
movsxd rdx, dword [r12 + 0xb4]
imul rcx, rdx, 0xfffffffffffffffe
add rcx, qword [r12 + 0x38]
cmp rbx, rcx
ja 0x14005c14e
cmp r8w, word [r12 + 0xb8]
jne 0x14005c14e
cmp edx, r9d
je 0x14005c18c
movzx eax, word [r12 + 0xba]
cmp word [rbx + 2], ax
je 0x14005c18c
xor ecx, ecx
add rbx, rsi
mov qword [rbp - 0x78], rbx
test edi, edi
je 0x14005c177
movzx eax, word [rbx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x14005c177
add rbx, rsi
mov qword [rbp - 0x78], rbx
movzx r8d, word [rbx]
test r8w, r8w
je 0x14005c19e
mov r9d, 1
jmp 0x14005c0e7
xor ecx, ecx
movsxd rax, dword [r12 + 0xb4]
lea rbx, [rbx + rax*2]
mov qword [rbp - 0x78], rbx
mov edx, 0xff
movzx esi, word [rbx]
jmp 0x14005c098
mov r14d, dword [rbp - 0x28]
mov r11, qword [rbp - 0x68]
mov r10, qword [rbp + 0x148]
mov r9d, dword [rbp - 0x60]
mov r8d, dword [rbp - 0x70]
jmp 0x140021423
lea rcx, [rbx + 2]
call fcn.1400a85ac
xor ecx, ecx
test eax, eax
jne 0x140021bf3
jmp 0x140021449
test rax, rax
jne 0x14002145c
mov edi, dword [rbp + 0x38]
mov eax, edi
dec edi
mov dword [rbp + 0x38], edi
mov rdi, qword [rbp + 0x188]
test eax, eax
jg 0x14005c220
xor eax, eax
test rdi, rdi
jne 0x14005c21c
mov eax, ebx
sub eax, dword [r12 + 0x30]
sar rax, 1
sub ax, word [rcx + 4]
mov word [rcx + 6], ax
mov rbx, qword [rbp - 0x78]
xor eax, eax
mov qword [rbp + 0x28], rax
mov rax, qword [rbp - 0x40]
jmp 0x140021463
test edx, edx
jne 0x140021470
test rax, rax
jne 0x140021470
mov dword [r11], 0xff0076
mov eax, ebx
mov qword [rbp + 0x28], r11
sub eax, dword [r12 + 0x30]
sar rax, 1
mov word [r11 + 4], ax
xor eax, eax
add r11, 8
mov word [r11 - 2], ax
mov rbx, qword [rbp - 0x78]
mov qword [rbp - 0x68], r11
jmp 0x140021470
or eax, 0xffffffff
mov r11d, 1
xor esi, esi
mov r9d, r11d
mov dword [rbp - 0x18], r11d
mov edi, eax
mov dword [rbp - 0x5c], eax
mov dword [rbp - 0xc], eax
jmp 0x140021a5b
add rbx, rdx
xor r14d, r14d
mov qword [rbp - 0x78], rbx
movzx eax, word [rbx]
test ax, ax
je 0x14005c2c7
lea ecx, [r14 + 0x29]
lea r8d, [r14 + 2]
cmp ax, cx
je 0x14005c2b9
add rbx, r8
mov qword [rbp - 0x78], rbx
movzx eax, word [rbx]
test ax, ax
jne 0x14005c2a5
mov r8d, dword [rbp - 0x70]
cmp word [rbx], r14w
jne 0x1400216a1
mov dword [r10], reloc.WSOCK32.dll_select
jmp 0x14005f612
lea r12, [rbx + 2]
cmp word [r12], si
je 0x14005c30e
mov eax, 0xff
cmp word [r12], ax
ja 0x14005c58f
mov rdx, qword [rbp + 0x180]
movzx ecx, word [r12]
mov rax, qword [rdx + 0x18]
test byte [rcx + rax], r15b
jne 0x14005c315
mov r12, rdx
xor ecx, ecx
jmp 0x1400217a5
mov rdx, qword [rbp + 0x180]
xor r8d, r8d
mov rbx, r12
mov r9d, 0xff
mov qword [rbp - 0x78], rbx
movzx eax, word [r12]
mov r14d, r8d
lea r13, [0x1400cd570]
mov qword [rbp - 0x30], r8
mov qword [rbp - 0x48], r8
cmp ax, r9w
ja 0x14005c35f
mov rcx, qword [rdx + 0x18]
movzx eax, ax
test byte [rax + rcx], r15b
je 0x14005c35f
add rbx, r15
mov qword [rbp - 0x78], rbx
movzx eax, word [rbx]
cmp ax, r9w
jbe 0x14005c346
mov r15, rbx
sub r15, r12
sar r15, 1
cmp word [rbx], si
jne 0x14005c3bf
mov edx, 2
add rbx, rdx
mov qword [rbp - 0x78], rbx
mov rcx, rbx
mov qword [rbp - 0x30], rbx
movzx eax, word [rbx]
test ax, ax
je 0x14005c3a1
lea r9d, [rdx + 0x27]
cmp ax, r9w
je 0x14005c3a1
add rbx, rdx
mov qword [rbp - 0x78], rbx
movzx eax, word [rbx]
test ax, ax
jne 0x14005c38c
mov r14, rbx
sub r14, rcx
sar r14, 1
cmp r14d, 0xffff
jbe 0x14005c3bf
mov dword [r10], VarR8FromUI1
jmp 0x14005f612
mov eax, reloc.OLEAUT32.dll_SafeArrayCreateEx
cmp word [rbx], ax
jne 0x14005f4db
mov dword [rbp - 0x28], r8d
mov rsi, r8
lea rdi, [0x1400cd4a0]
lea r9d, [rax - 0x28]
mov r11d, dword [rdi]
cmp r15d, r11d
jne 0x14005c400
mov r8d, r15d
mov rdx, r13
mov rcx, r12
call fcn.1400222a4
xor r8d, r8d
test eax, eax
je 0x14005c426
lea r9d, [r8 + 1]
add dword [rbp - 0x28], r9d
lea eax, [r11 + 1]
add rdi, 0xc
movsxd rcx, eax
lea rax, [0x1400cd50c]
add rsi, r9
add r13, rcx
cmp rdi, rax
jl 0x14005c3df
jmp 0x14005c569
lea rax, [rsi + rsi*2]
lea rdx, [0x1400cd4a0]
mov r10d, QueryPathOfRegTypeLib
mov ecx, dword [rdx + rax*4 + 4]
cmp ecx, r10d
jne 0x14005c4bc
test r14d, r14d
jne 0x14005f4a5
mov rdx, qword [rbp + 0x180]
mov r13, qword [rbp - 0x68]
lea r9d, [r14 + 1]
mov rcx, qword [rdx + 0x48]
mov dword [rdx + 0x9c], r9d
lea esi, [r14 + 2]
test rcx, rcx
je 0x14005c48a
mov eax, QueryPathOfRegTypeLib
mov word [r13], ax
movzx eax, word [rcx + 8]
add r13, rsi
mov word [r13], ax
mov rcx, qword [rcx]
add r13, rsi
jmp 0x14005c467
cmp dword [rdx + 0x8c], r8d
mov eax, r8d
setg al
add eax, r10d
mov word [r13], ax
add r13, rsi
cmp dword [rbp - 0x60], 0xfffffffe
mov qword [rbp - 0x68], r13
movzx ebx, ax
jne 0x14005c53c
or dword [rbp - 0x60], 0xffffffff
jmp 0x14005c53c
test r14d, r14d
jne 0x14005c4e1
test ecx, ecx
js 0x14005f4b7
mov r13, qword [rbp - 0x68]
movzx eax, cx
mov word [r13], ax
add r13, 2
mov ebx, eax
mov qword [rbp - 0x68], r13
jmp 0x14005c52f
cmp dword [rdx + rax*4 + 8], r8d
jl 0x14005f4a5
movzx eax, word [rdx + rax*4 + 8]
mov rdi, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x30]
mov word [rdi], ax
mov esi, 2
mov ebx, eax
add rdi, rsi
lea eax, [r14 + r14]
mov word [rdi], r14w
add rdi, rsi
movsxd r8, eax
mov rcx, rdi
call fcn.140024af0
movsxd rax, r14d
lea rdi, [rdi + rax*2]
xor eax, eax
mov word [rdi], ax
add rdi, rsi
mov qword [rbp - 0x68], rdi
mov rdx, qword [rbp + 0x180]
mov r9d, 1
cmp ebx, 0x96
jl 0x14005c565
cmp ebx, 0x99
jle 0x14005c55e
cmp ebx, 0x9b
jg 0x14005c565
bts dword [rdx + 0x94], 0xc
jmp 0x14005c565
mov dword [rdx + 0xa0], r9d
mov rbx, qword [rbp - 0x78]
mov eax, 9
cmp dword [rbp - 0x28], eax
jge 0x14005f4c9
mov r11, qword [rbp - 0x68]
mov r15, qword [rbp - 0x48]
mov r9d, dword [rbp - 0x60]
mov r8d, dword [rbp - 0x70]
xor r14d, r14d
jmp 0x1400216a1
mov r12, qword [rbp + 0x180]
jmp 0x1400217a5
je 0x14005cbcf
mov esi, SafeArrayDestroyDescriptor
cmp edx, esi
je 0x14005cb3c
lea eax, [rsi + 5]
cmp edx, eax
je 0x14005cb26
lea eax, [rsi + 6]
cmp edx, eax
je 0x14005cd6c
cmp edx, 0x28
je 0x14005c5fb
lea r13d, [rsi + 0xa]
cmp edx, r13d
je 0x14005cbfc
lea r11d, [rsi + 0xc]
cmp edx, r11d
je 0x14005cbfc
cmp edx, 0x2f
jle 0x14005c5f3
lea eax, [rsi + 0x18]
cmp edx, eax
jle 0x14005cbfc
mov esi, r14d
jmp 0x140021838
mov eax, 0x87
mov r8, rbx
mov qword [rbp + 0x40], rbx
mov r13d, eax
mov dword [rbp - 0x5c], eax
cmp word [rbx + 2], cx
jne 0x14005c674
lea eax, [r13 - 0x44]
cmp word [rbx + 4], ax
jne 0x14005c674
mov eax, 3
lea r9d, [r13 - 0x57]
mov edx, eax
mov ecx, eax
movzx eax, word [rbx + 6]
cmp ax, r9w
jb 0x14005c656
lea edi, [rcx + 0x36]
lea r15d, [rcx - 2]
cmp ax, di
ja 0x14005c650
add rcx, r15
add edx, r15d
movzx eax, word [rbx + rcx*2]
cmp ax, r9w
jae 0x14005c63b
mov r15d, 2
mov eax, reloc.OLEAUT32.dll_SafeArrayCreateEx
cmp word [rbx + rcx*2], ax
jne 0x14005c66f
lea eax, [rdx + 1]
movsxd rcx, eax
lea r8, [rbx + rcx*2]
mov qword [rbp + 0x40], r8
mov ecx, 0x3f
cmp word [r8 + 2], cx
jne 0x14005c6cb
mov eax, 0x3d
cmp word [r8 + 4], ax
je 0x14005c6a6
cmp word [r8 + 4], si
je 0x14005c6a6
lea edx, [rax - 1]
cmp word [r8 + 4], dx
jne 0x14005c6d0
cmp word [r8 + 6], ax
je 0x14005c6a6
cmp word [r8 + 6], si
jne 0x14005c6d0
mov ecx, 1
mov dword [r12 + 0xac], ecx
jmp 0x14005c6bb
mov r13d, 0x83
mov r11d, dword [rbp - 0x58]
mov rcx, qword [rbp + 0x188]
jmp 0x14005e0f1
mov edx, 0x3c
mov eax, 0x8d
mov dword [rbp - 0x58], r15d
mov rsi, r14
mov word [r11 + 4], ax
mov rbx, qword [rbp - 0x78]
or eax, 0xffffffff
add rbx, r15
lea edi, [rax + 0x53]
mov r11d, r15d
mov qword [rbp - 0x78], rbx
movzx ecx, word [rbx]
mov r9d, eax
mov r13d, eax
mov qword [rbp + 0x18], r14
mov r8d, r14d
cmp cx, di
jne 0x14005c7ed
lea edi, [rax + 0x27]
cmp word [rbx + 2], di
jne 0x14005c7ed
mov r13, qword [rbp - 0x68]
add rbx, 4
mov edi, eax
mov qword [rbp - 0x78], rbx
mov dword [rbp - 0x28], eax
mov eax, VariantChangeTypeEx
mov word [r13 + 4], ax
mov rbx, qword [rbp - 0x78]
movzx ecx, word [rbx]
mov edx, 9
lea eax, [rcx - 0x30]
cmp ax, dx
jbe 0x14005f4fd
mov edx, 0xff
cmp cx, dx
ja 0x14005f4f6
mov rax, qword [r12 + 0x18]
movzx ecx, cx
mov r13d, reloc.WSOCK32.dll_recv
test byte [rcx + rax], r13b
je 0x14005f4f6
mov rsi, rbx
mov qword [rbp + 0x18], rbx
add rbx, r15
mov qword [rbp - 0x78], rbx
movzx eax, word [rbx]
cmp ax, dx
ja 0x14005c7a7
mov rcx, qword [r12 + 0x18]
movzx eax, ax
test byte [rax + rcx], r13b
je 0x14005c7a7
add rbx, r15
mov qword [rbp - 0x78], rbx
movzx eax, word [rbx]
cmp ax, dx
jbe 0x14005c78f
mov rcx, qword [rbp + 0x188]
mov r13, rbx
sub r13, rsi
sar r13, 1
test rcx, rcx
je 0x14005c7c3
mov eax, 1
add dword [rcx], eax
test edi, edi
jle 0x14005c88e
movzx eax, word [rbx]
add rbx, r15
mov qword [rbp - 0x78], rbx
cmp ax, di
je 0x14005c88e
sub rbx, r15
mov dword [r10], CreateStdDispatch
jmp 0x14005f612
cmp cx, dx
jne 0x14005c808
mov eax, 0x3e
add rbx, r15
mov edi, eax
mov dword [rbp - 0x28], eax
mov qword [rbp - 0x78], rbx
jmp 0x14005c73a
mov eax, reloc.OLEAUT32.dll_SafeArrayRedim
cmp cx, ax
je 0x14005c7f7
lea eax, [rcx - 0x2b]
mov edx, 0xfffd
mov edi, r14d
mov dword [rbp - 0x28], r14d
test dx, ax
je 0x14005c845
mov eax, gethostbyname
cmp cx, ax
jb 0x14005c74e
lea edx, [rax + 9]
cmp cx, dx
ja 0x14005c73a
mov r9d, r14d
jmp 0x14005c87f
add rbx, r15
movzx r9d, cx
mov qword [rbp - 0x78], rbx
test r9d, r9d
jns 0x14005c87a
jmp 0x14005c73a
mov eax, reloc.WSOCK32.dll_gethostname
cmp dx, ax
ja 0x14005c887
lea r8d, [r8 + r8*4]
movzx eax, dx
add rbx, r15
lea r8d, [r8 - 0x18]
mov qword [rbp - 0x78], rbx
lea r8d, [rax + r8*2]
mov eax, gethostbyname
movzx edx, word [rbx]
cmp dx, ax
jae 0x14005c85a
mov rcx, qword [rbp + 0x188]
movzx eax, word [rbx]
add rbx, r15
mov edx, reloc.OLEAUT32.dll_SafeArrayCreateEx
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x78], rbx
cmp ax, dx
jne 0x14005c7de
test rcx, rcx
jne 0x14005e0ed
test r9d, r9d
js 0x14005c929
test r8d, r8d
jle 0x14005f4ef
test r9d, r9d
je 0x14005c8e1
lea eax, [rdx + 4]
cmp r9d, eax
jne 0x14005c8dc
mov eax, dword [r12 + 0x70]
sub eax, r8d
lea r8d, [rax + 1]
jmp 0x14005c8e1
add r8d, dword [r12 + 0x70]
test r8d, r8d
jle 0x14005e02e
cmp r8d, dword [r12 + 0x74]
jg 0x14005e02e
mov rdx, qword [rbp - 0x68]
mov r13d, dword [rbp - 0x5c]
mov r10d, dword [rbp - 0x50]
xor r9d, r9d
mov word [rdx + 6], r8w
mov rbx, qword [rbp - 0x78]
mov esi, r14d
lea edi, [r9 + 0x52]
cmp r8d, dword [r12 + 0x7c]
jle 0x140021c3e
mov dword [r12 + 0x7c], r8d
jmp 0x140021c3e
mov rax, qword [r12 + 0x58]
mov r11d, r14d
mov r14d, dword [r12 + 0x60]
xor r9d, r9d
mov qword [rbp + 0x10], rax
test r14d, r14d
jle 0x14005c97b
mov rdi, rax
lea rdx, [rdi + 2]
mov r8d, r13d
mov rcx, rsi
call fcn.1400a8b20
test eax, eax
je 0x14005c969
movsxd rax, dword [r12 + 0x64]
inc r11d
lea rdi, [rdi + rax*2]
cmp r11d, r14d
jl 0x14005c945
mov rbx, qword [rbp - 0x30]
mov qword [rbp + 0x10], rdi
mov edi, dword [rbp - 0x28]
mov rax, qword [rbp + 0x10]
xor r9d, r9d
movsxd r12, r13d
cmp r11d, r14d
jge 0x14005ca5d
movzx esi, word [rax]
mov rax, qword [rbp + 0x180]
mov ecx, 1
mov dword [rbp - 0x30], r11d
add r11d, ecx
mov ebx, ecx
mov dword [rbp - 0x28], esi
cmp esi, dword [rax + 0x7c]
jle 0x14005c9aa
mov dword [rax + 0x7c], esi
cmp r11d, r14d
jge 0x14005ca3a
movsxd rax, dword [rax + 0x64]
mov r15, qword [rbp + 0x18]
mov rsi, qword [rbp + 0x10]
lea rdi, [rax + rax]
add rsi, rdi
mov r8d, r13d
mov rcx, r15
lea rdx, [rsi + 2]
call fcn.1400a8b20
xor r9d, r9d
lea ecx, [r9 + 1]
test eax, eax
jne 0x14005c9f2
cmp word [rsi + r12*2 + 2], r9w
jne 0x14005c9f2
add r11d, ecx
add ebx, ecx
cmp r11d, r14d
jl 0x14005c9c3
mov r15d, dword [rbp - 0x30]
mov qword [rbp + 0x10], rsi
mov esi, dword [rbp - 0x28]
cmp ebx, ecx
jle 0x14005ca3a
mov rdx, qword [rbp - 0x68]
mov r13d, dword [rbp - 0x5c]
mov r10d, dword [rbp - 0x50]
add word [rdx + 4], cx
mov rcx, qword [rbp + 0x188]
mov r8d, 3
mov word [rdx + 6], r15w
mov word [rdx + 8], bx
mov rbx, qword [rbp - 0x78]
mov r11d, r8d
mov esi, r9d
lea edi, [r8 + 0x4f]
jmp 0x140021c44
mov rdx, qword [rbp - 0x68]
mov r13d, dword [rbp - 0x5c]
mov r11d, dword [rbp - 0x58]
mov rcx, qword [rbp + 0x188]
mov word [rdx + 6], si
mov rbx, qword [rbp - 0x78]
mov esi, dword [rbp - 0x48]
jmp 0x140021c35
test edi, edi
jne 0x14005cb1c
mov edi, 0x52
cmp word [rsi], di
jne 0x14005caf9
lea r10d, [rdi - 0x51]
mov ecx, r9d
mov edx, r10d
cmp r10, r12
jge 0x14005cab5
lea r8d, [rdi - 0x22]
lea r11d, [rdi - 0x49]
movzx eax, word [rsi + rdx*2]
sub ax, r8w
cmp ax, r11w
ja 0x14005cb1c
movzx eax, word [rsi + rdx*2]
lea ecx, [rcx + rcx*4]
add rdx, r10
lea ecx, [rcx - 0x18]
lea ecx, [rax + rcx*2]
cmp rdx, r12
jl 0x14005ca8a
test ecx, ecx
jne 0x14005caba
mov ecx, 0xffff
mov rdx, qword [rbp - 0x68]
mov esi, dword [rbp - 0x48]
mov eax, VariantChangeTypeEx
mov word [rdx + 6], cx
mov r11d, r15d
jmp 0x14005cae1
mov rdx, qword [rbp - 0x68]
mov eax, VariantChangeTypeEx
mov r11d, 1
mov esi, r9d
mov r13d, dword [rbp - 0x5c]
mov rcx, qword [rbp + 0x188]
mov word [rdx + 4], ax
mov rbx, qword [rbp - 0x78]
jmp 0x140021c3a
mov eax, 6
cmp r13d, eax
jne 0x14005cb1c
lea rdx, str.DEFINE
mov r8d, eax
mov rcx, rsi
call fcn.1400222a4
xor r9d, r9d
test eax, eax
je 0x14005cacf
mov ecx, reloc.WSOCK32.dll_ntohs
jmp 0x14005f1f6
mov r9d, reloc.OLEAUT32.dll_SafeArrayCreateEx
lea r8d, [r9 - 0x28]
mov r12d, r8d
mov dword [rbp - 0x5c], r8d
jmp 0x14005e362
add rbx, r15
mov eax, reloc.OLEAUT32.dll_SafeArrayCreateEx
mov qword [rbp - 0x78], rbx
lea esi, [rax - 0x28]
cmp word [rbx], ax
jne 0x14005cbb5
movzx eax, word [rbx + 2]
sub ax, 0x2a
cmp ax, si
jbe 0x14005cbb5
cmp word [rbx + 2], cx
je 0x14005cbb5
lea eax, [rsi + 0x7a]
cmp word [rbx + 2], ax
jne 0x14005cb79
lea rcx, [rbx + 4]
call fcn.1400a85ac
test eax, eax
jne 0x14005cbb5
mov eax, 0x9d
mov word [r11], ax
add r11, r15
jmp 0x14005cba9
mov word [r11], ax
mov eax, dword [rbp - 0x78]
add r11, r15
sub eax, dword [r12 + 0x30]
mov word [r11 + 2], r14w
sar rax, 1
add ax, si
mov word [r11], ax
add r11, 4
mov r15, r14
mov qword [rbp - 0x48], r14
jmp 0x140021a39
add dword [r12 + 0x8c], esi
mov r13d, 0x7e
jmp 0x14005c6bb
mov esi, 1
jmp 0x14005cbd2
mov esi, r14d
mov r11d, dword [rbp - 0x58]
mov rcx, qword [rbp + 0x188]
add rbx, r15
mov qword [rbp - 0x78], rbx
mov r13d, 0x83
jmp 0x14005e0f4
add rbx, r15
mov r13d, 0x2b
mov qword [rbp - 0x78], rbx
mov r9d, reloc.OLEAUT32.dll_SafeArrayCreateEx
mov esi, r14d
lea r11d, [r9 + 7]
jmp 0x14005df6e
add rbx, r15
mov eax, 0x3d
mov qword [rbp - 0x78], rbx
movzx edx, word [rbx]
cmp dx, ax
je 0x14005cc4e
mov eax, 0x3e
cmp dx, ax
je 0x14005cc3f
cmp dx, si
je 0x14005cd6c
mov eax, reloc.OLEAUT32.dll_SafeArrayCreateEx
jmp 0x14005f4e7
mov r8d, 1
mov r12d, r8d
mov dword [rbp - 0x5c], r8d
jmp 0x14005cc5b
mov r12d, r14d
mov dword [rbp - 0x5c], r14d
mov r8d, 1
mov r9d, reloc.OLEAUT32.dll_SafeArrayCreateEx
jmp 0x14005e362
mov esi, 1
mov qword [rbp + 0x28], r11
lea eax, [rsi + 0x75]
mov edx, esi
lea edi, [rsi + 0x2f]
mov word [r11], ax
mov rbx, qword [rbp - 0x78]
mov dword [rbp + 0x38], edx
add rbx, r15
add r11, r15
mov eax, r14d
mov qword [rbp - 0x78], rbx
movzx edx, word [rbx]
cmp dx, di
jb 0x14005ccc3
lea r10d, [rsi + 0x38]
cmp dx, r10w
ja 0x14005ccbc
lea ecx, [rax + rax*4]
add rbx, r15
movzx eax, dx
mov qword [rbp - 0x78], rbx
movzx edx, word [rbx]
lea eax, [rax + rcx*2]
add eax, 0xffffffd0
cmp dx, di
jae 0x14005cc9b
mov r10, qword [rbp + 0x148]
mov ecx, reloc.OLEAUT32.dll_SafeArrayCreateEx
cmp word [rbx], cx
jne 0x14005f509
mov ecx, 0xff
cmp eax, ecx
jle 0x14005cb87
mov eax, reloc.OLEAUT32.dll_SafeArrayDestroyData
jmp 0x14005f4e7
mov r13d, 0x81
jmp 0x14005cd01
mov ecx, 1
add dword [r12 + 0x8c], ecx
lea r13d, [rcx + 0x7c]
add rbx, r15
jmp 0x14005cd1d
mov r13d, 0x7f
mov ecx, 1
add dword [r12 + 0x8c], ecx
add rbx, 4
mov qword [rbp - 0x78], rbx
jmp 0x14005c6bb
movzx eax, word [rbx + 2]
mov ecx, SafeArrayDestroyDescriptor
cmp eax, ecx
je 0x14005cf85
mov ecx, 0x3d
cmp eax, ecx
je 0x14005cd06
mov esi, 0xff
cmp ax, si
ja 0x14005cd5d
mov ecx, eax
mov rax, qword [r12 + 0x18]
mov r14d, reloc.WSOCK32.dll_recv
test byte [rcx + rax], r14b
jne 0x14005cd77
add rbx, r15
mov dword [r10], reloc.OLEAUT32.dll_SafeArrayGetElement
jmp 0x14005f612
mov r14d, reloc.WSOCK32.dll_recv
mov esi, 0xff
mov eax, 0x3c
mov r11d, gethostbyname
cmp dx, ax
lea r8d, [rax - 0x15]
lea edx, [r11 - 0x27]
lea eax, [r8 + 0x17]
cmove r8d, eax
add rbx, r15
mov qword [rbp - 0x78], rbx
movzx ecx, word [rbx]
mov r12, rbx
movzx eax, cx
sub ax, r11w
cmp ax, dx
jbe 0x14005f4fd
mov r9, qword [rbp + 0x180]
cmp cx, si
ja 0x14005cdda
mov rdx, qword [r9 + 0x18]
movzx eax, cx
test byte [rax + rdx], r14b
je 0x14005cdda
add rbx, r15
mov qword [rbp - 0x78], rbx
movzx ecx, word [rbx]
cmp cx, si
jbe 0x14005cdc2
mov r14, rbx
xor ecx, ecx
sub r14, r12
sar r14, 1
test rdi, rdi
je 0x14005cf63
mov r15d, dword [r9 + 0x70]
lea edx, [rcx + 1]
add r15d, edx
cmp word [rbx], r8w
jne 0x14005f545
mov esi, dword [r9 + 0x60]
cmp esi, 0x2710
jge 0x14005f539
lea eax, [r14 + 2]
cmp eax, dword [r9 + 0x64]
jle 0x14005ce2e
mov dword [r9 + 0x64], eax
cmp r14d, 0x20
jle 0x14005ce2e
mov dword [r10], r11d
jmp 0x14005f612
mov r11, qword [r9 + 0x50]
mov edi, ecx
test esi, esi
jle 0x14005ceab
cmp r14d, dword [r11 + 8]
jne 0x14005ce8c
mov rdx, qword [r11]
mov r8d, r14d
mov rcx, r12
call fcn.1400a8b20
test eax, eax
jne 0x14005ce80
cmp dword [r11 + 0xc], r15d
je 0x14005cea4
test dword [rbp - 0x70], 0x80000
je 0x14005f510
mov r9, qword [rbp + 0x180]
lea edx, [rax + 1]
mov dword [r9 + 0xa8], edx
add edi, edx
add r11, 0x10
cmp edi, esi
jl 0x14005ce38
jmp 0x14005ceab
mov r9, qword [rbp + 0x180]
mov edx, 1
cmp dword [r11 + 0xc], r15d
jne 0x14005ce74
mov rax, qword [rbp + 0x148]
mov dword [rax], 0x41
jmp 0x14005f612
mov r9, qword [rbp + 0x180]
cmp edi, esi
jl 0x14005cf6c
mov eax, dword [r9 + 0x68]
cmp esi, eax
jl 0x14005cf19
lea edi, [rax + rax]
movsxd rcx, edi
shl rcx, 4
call qword [case.0x1400618f3.1]
mov rbx, rax
test rax, rax
je 0x14005f51a
mov rax, qword [rbp + 0x180]
mov rcx, rbx
movsxd r8, dword [rax + 0x68]
mov rdx, qword [rax + 0x50]
shl r8, 4
call fcn.140024af0
mov r9, qword [rbp + 0x180]
cmp dword [r9 + 0x68], 0x14
jle 0x14005cf11
mov rcx, qword [r9 + 0x50]
call qword [fcn.1400205a0]
mov r9, qword [rbp + 0x180]
mov qword [r9 + 0x50], rbx
mov dword [r9 + 0x68], edi
movsxd rcx, dword [r9 + 0x60]
mov rax, qword [r9 + 0x50]
add rcx, rcx
mov qword [rax + rcx*8], r12
mov r12, qword [rbp + 0x180]
movsxd rcx, dword [r12 + 0x60]
mov rax, qword [r12 + 0x50]
add rcx, rcx
mov dword [rax + rcx*8 + 8], r14d
movsxd rcx, dword [r12 + 0x60]
mov rax, qword [r12 + 0x50]
add rcx, rcx
mov dword [rax + rcx*8 + 0xc], r15d
mov rbx, qword [rbp - 0x78]
mov eax, 1
add dword [r12 + 0x60], eax
jmp 0x14005cf73
mov r12, qword [rbp + 0x180]
jmp 0x14005cf79
mov r12, qword [rbp + 0x180]
mov r15d, 2
add rbx, r15
mov qword [rbp - 0x78], rbx
jmp 0x140021c09
mov r13d, 0x80
jmp 0x14005cd0c
xor r14d, r14d
mov al, r8b
lea edx, [r14 + 2]
mov r15d, r14d
mov qword [rbp - 0x48], r14
and al, dl
neg al
sbb ecx, ecx
neg ecx
add ecx, 0x19
mov word [r11], cx
add r11, rdx
jmp 0x140021a39
xor esi, esi
mov r9d, esi
mov dword [rbp - 0x18], esi
lea r11d, [rsi + 1]
lea edx, [rsi + 4]
mov edi, r11d
mov dword [rbp - 0x5c], r11d
mov dword [rbp - 0xc], r11d
jmp 0x140021a5b
test edx, edx
je 0x140021540
lea rcx, [rbx + 2]
lea r8, [rbp - 0xc]
lea rdx, [rbp - 0x18]
mov r9, r10
call fcn.1400a861c
mov r10, qword [rbp + 0x148]
xor esi, esi
mov rbx, rax
mov qword [rbp - 0x78], rax
cmp dword [r10], esi
jne 0x14005f612
mov edi, dword [rbp - 0xc]
mov r9d, dword [rbp - 0x18]
lea edx, [rsi + 4]
mov dword [rbp - 0x5c], edi
jmp 0x140021a55
mov r14d, dword [rbp - 0x80]
add rbx, r13
mov r15d, SafeArrayDestroyData
mov edx, 0xff
movzx eax, word [rbx]
cmp ax, dx
ja 0x14005d051
mov rcx, qword [r12 + 0x18]
movzx eax, ax
test byte [rax + rcx], r11b
je 0x14005d051
add rbx, r13
movzx eax, word [rbx]
cmp ax, dx
jbe 0x14005d03d
cmp word [rbx], r15w
jne 0x14005d11c
add rbx, r13
movzx r8d, word [rbx]
test r8w, r8w
je 0x14005d030
mov edx, dword [r12 + 0xb0]
test edx, edx
je 0x14005d0ab
mov r8, qword [r12 + 0x38]
cmp rbx, r8
jae 0x14005d0e3
lea r9, [r12 + 0xb4]
mov rcx, rbx
mov dword [rsp + 0x20], r14d
call fcn.140023578
test eax, eax
je 0x14005d0e3
mov r11d, 1
movsxd rax, dword [r12 + 0xb4]
lea rbx, [rbx + rax*2]
jmp 0x14005d02b
movsxd rdx, dword [r12 + 0xb4]
mov rax, rdx
imul rcx, rdx, 0xfffffffffffffffe
add rcx, qword [r12 + 0x38]
cmp rbx, rcx
ja 0x14005d0e3
cmp r8w, word [r12 + 0xb8]
jne 0x14005d0e3
cmp edx, r11d
je 0x14005d09d
movzx eax, word [r12 + 0xba]
cmp word [rbx + 2], ax
je 0x14005d09d
add rbx, r13
test r14d, r14d
je 0x14005d103
movzx eax, word [rbx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x14005d103
add rbx, r13
movzx r8d, word [rbx]
mov r11d, 1
test r8w, r8w
je 0x14005d02b
jmp 0x14005d068
mov r9d, dword [rbp - 0x18]
mov r10, qword [rbp + 0x148]
mov r15, qword [rbp - 0x48]
add rbx, 0xfffffffffffffffe
mov edx, 4
mov qword [rbp - 0x78], rbx
jmp 0x140021aa6
mov r12d, esi
mov dword [rbp - 0x50], esi
mov dword [rbp - 0x58], r11d
mov rbx, rax
mov qword [rbp - 0x78], rax
jmp 0x140021ad5
mov r8, rdx
lea rcx, [r15 + 4]
mov rdx, r15
call fcn.140024af0
mov r11, qword [rbp - 0x68]
mov r14, qword [rbp + 0x188]
add r11, 8
mov dword [r15], 0x40081
mov eax, 6
mov dword [r15 + 8], 0x40078
mov qword [rbp - 0x68], r11
mov dword [rbp + 8], eax
test r14, r14
jne 0x14005d1c8
mov r9, qword [rbp + 0x180]
mov rax, qword [r9 + 0x20]
mov r8, qword [r9 + 0x40]
add rax, r13
cmp r8, rax
jb 0x14005d1c8
movzx edx, word [r8 - 2]
mov rcx, r15
sub rcx, qword [r9 + 0x28]
add rcx, r13
sar rcx, 1
cmp rdx, rcx
jne 0x14005d1c8
add dx, r13w
mov word [r8 - 2], dx
mov rbx, qword [rbp - 0x78]
mov r9d, dword [rbp - 0x18]
mov r10, qword [rbp + 0x148]
jmp 0x140021aef
movzx eax, word [r15]
mov ecx, 6
sub ax, 0x6e
cmp ax, cx
jbe 0x14005d8ff
movzx eax, word [r15]
mov ecx, 0xa
sub ax, 0x7d
cmp ax, cx
ja 0x14005d8e4
mov rax, qword [rbp + 0x70]
mov r13, rsi
mov qword [rbp + 0x18], rsi
mov rsi, qword [rbp - 0x48]
mov r12, r11
mov ecx, 0x87
sub r12, r15
mov r15, rax
sar r12, 1
cmp word [rsi], cx
jne 0x14005d23c
mov ecx, VariantChangeTypeEx
cmp word [rsi + 4], cx
je 0x1400221a4
mov ecx, 0x81
cmp word [rsi], cx
jae 0x14005d262
test r9d, r9d
jg 0x1400221a4
lea r8d, [rcx - 0x80]
cmp edi, r8d
cmova edi, r8d
mov dword [rbp - 0x5c], edi
mov dword [rbp - 0xc], edi
jmp 0x14005d268
mov r8d, 1
test r9d, r9d
jne 0x14005d3b6
mov r9, qword [rbp + 0x180]
xor r14d, r14d
cmp edi, r8d
mov r8d, dword [rbp - 0x80]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov word [r11], r14w
jg 0x14005d355
lea edx, [r14 + 1]
call fcn.1400a79fc
lea eax, [r12 + r12]
lea rbx, [rsi + 2]
movsxd r8, eax
mov rcx, rbx
mov rdx, rsi
call fcn.140024af0
mov r11, qword [rbp - 0x68]
add r11, 2
mov qword [rbp - 0x68], r11
test edi, edi
jne 0x14005d33c
mov eax, QueryPathOfRegTypeLib
mov word [rsi], ax
jmp 0x14005d333
mov rax, qword [rbp + 0x70]
mov r9, qword [rbp + 0x180]
mov word [r11], r14w
mov rcx, qword [rbp - 8]
mov edx, r10d
mov qword [rsp + 0x20], rax
call fcn.1400a79fc
mov rdx, qword [rbp - 8]
lea eax, [rdi + rdi]
lea rcx, [rdx + 4]
movsxd r8, eax
call fcn.140024af0
mov rax, qword [rbp - 8]
mov r11, qword [rbp - 0x68]
mov word [rax], r12w
add r11, 4
mov r13d, 2
mov word [r11], si
add edi, r13d
add r11, r13
mov word [r11], di
mov rax, qword [rbp - 8]
add r11, r13
mov word [rax + 2], di
mov qword [rbp - 0x68], r11
mov rbx, qword [rbp - 0x78]
jmp 0x140021bcf
movzx eax, word [rbp - 0x50]
mov ecx, reloc.OLEAUT32.dll_VariantChangeTypeEx
mov qword [rbp + 0x18], rsi
add ax, cx
mov qword [rbp - 0x48], rbx
mov word [rsi], ax
jmp 0x14005d3a4
call fcn.1400a79fc
lea eax, [r12 + r12]
lea rcx, [rsi + 6]
movsxd r8, eax
mov rdx, rsi
call fcn.140024af0
mov eax, 6
mov edx, 2
add qword [rbp - 0x68], rax
movzx eax, word [rbp - 0x50]
mov ecx, reloc.OLEAUT32.dll_VariantChangeTypeEx
add ax, cx
mov word [rsi], ax
add rsi, rdx
lea eax, [rcx - 0xf]
mov word [rsi], ax
add rsi, rdx
mov word [rsi], r14w
mov r13, rsi
add rsi, rdx
mov qword [rbp - 0x48], rsi
mov rbx, qword [rbp - 0x78]
mov r8d, 1
sub edi, r8d
jmp 0x14005d50f
cmp r9d, r8d
jle 0x14005d505
test r14, r14
je 0x14005d403
lea eax, [r9 - 1]
mov edx, eax
movsxd rcx, eax
movsxd rax, dword [rbp + 8]
imul edx, dword [rbp + 8]
imul rcx, rax
cmp rcx, 0x7fffffff
jg 0x14005f499
mov ecx, dword [r14]
mov eax, 0x7fffffeb
sub eax, ecx
cmp eax, edx
jl 0x14005f499
lea eax, [rcx + rdx]
mov dword [r14], eax
jmp 0x14005d505
cmp dword [rbp + 0x24], r14d
je 0x14005d41c
mov edx, dword [rbp - 0x20]
test edx, edx
jns 0x14005d41c
mov eax, dword [rbp - 0x14]
mov dword [rbp - 0x38], eax
mov eax, dword [rbp - 0x60]
mov dword [rbp - 0x20], eax
mov esi, r8d
cmp r9d, r8d
jle 0x14005d508
mov r8, qword [rbp + 0x180]
lea eax, [r12 + r12]
movsxd r14, eax
mov qword [rbp - 0x28], r14
mov rbx, qword [r8 + 0x40]
mov rdx, qword [rbp - 0x48]
mov rcx, r11
sub rbx, qword [r8 + 0x20]
mov r8, r14
sar rbx, 1
call fcn.140024af0
imul rdi, r15, 0xfffffffffffffffe
jmp 0x14005d473
mov rcx, r8
call fcn.1400a7e88
mov rcx, qword [rbp + 0x148]
mov dword [rcx], eax
test eax, eax
jne 0x14005f530
mov r8, qword [rbp + 0x180]
movsxd rcx, dword [r8 + 0x6c]
mov rax, qword [r8 + 0x20]
sub rcx, rbx
add rax, 0xffffffffffffff38
add rcx, rcx
sub rcx, rdi
add rcx, rax
cmp qword [r8 + 0x40], rcx
ja 0x14005d45a
mov rax, qword [r8 + 0x20]
lea rdx, [rax + r15*2]
lea rax, [rax + rbx*2]
cmp rdx, rax
jae 0x14005d4d7
mov r14d, 2
movzx ecx, word [rdx]
mov rax, qword [r8 + 0x40]
add rdx, r14
add cx, r12w
mov word [rax], cx
add qword [r8 + 0x40], r14
mov rax, qword [r8 + 0x20]
lea rcx, [rax + rbx*2]
cmp rdx, rcx
jb 0x14005d4b1
mov r14, qword [rbp - 0x28]
mov r11, qword [rbp - 0x68]
mov r9d, dword [rbp - 0x18]
movsxd rax, r12d
lea r11, [r11 + rax*2]
inc esi
mov r15, rbx
mov qword [rbp - 0x68], r11
cmp esi, r9d
jl 0x14005d43a
mov rbx, qword [rbp - 0x78]
mov edi, dword [rbp - 0x5c]
mov r8d, 1
xor r14d, r14d
test edi, edi
jle 0x14005d514
sub edi, r9d
mov dword [rbp - 0xc], edi
test edi, edi
js 0x14005d731
mov r8, qword [rbp + 0x188]
test r8, r8
je 0x14005d5b7
test edi, edi
jle 0x14005d5b7
mov eax, dword [rbp + 8]
add eax, 5
mov edx, eax
movsxd rcx, eax
movsxd rax, edi
imul edx, edi
imul rcx, rax
sub edx, 4
cmp rcx, 0x7fffffff
jg 0x14005f558
mov ecx, dword [r8]
mov eax, 0x7fffffeb
sub eax, ecx
cmp eax, edx
jl 0x14005f558
lea eax, [rcx + rdx]
mov dword [r8], eax
mov r11, qword [rbp - 0x68]
mov r8d, 1
mov esi, 0x78
lea r10d, [rsi - 0x76]
test r13, r13
je 0x14005dc3f
mov rcx, r11
mov rdx, r11
sub rcx, r13
sar rcx, 1
add ecx, r8d
movsxd rax, ecx
add rax, rax
sub rdx, rax
movzx eax, word [rdx + 2]
test eax, eax
jne 0x14005d701
mov r13, r14
jmp 0x14005d709
lea esi, [rdi - 1]
test esi, esi
js 0x14005d56f
mov ecx, dword [rbp - 0x50]
mov r11, qword [rbp - 0x68]
mov r10, qword [rbp + 0x180]
mov eax, reloc.OLEAUT32.dll_VariantChangeTypeEx
mov ebx, 2
add cx, ax
lea eax, [r12 + r12]
movsxd r14, eax
mov dword [rbp - 0x50], ecx
mov qword [rbp + 0x18], r14
mov rdi, qword [r10 + 0x40]
xor eax, eax
sub rdi, qword [r10 + 0x20]
mov word [r11], cx
add r11, rbx
sar rdi, 1
mov qword [rbp - 0x68], r11
test esi, esi
je 0x14005d62b
mov ecx, 0x83
mov word [r11], cx
add r11, rbx
test r13, r13
je 0x14005d61d
mov rax, r11
sub rax, r13
sar rax, 1
mov r13, r11
mov word [r11], ax
add r11, rbx
mov qword [rbp - 0x68], r11
mov rdx, qword [rbp - 0x48]
mov r8, r14
mov rcx, r11
call fcn.140024af0
imul rbx, r15, 0xfffffffffffffffe
jmp 0x14005d659
mov rcx, r10
call fcn.1400a7e88
mov rcx, qword [rbp + 0x148]
mov dword [rcx], eax
test eax, eax
jne 0x14005f530
mov r10, qword [rbp + 0x180]
movsxd rcx, dword [r10 + 0x6c]
mov rax, qword [r10 + 0x20]
sub rcx, rdi
add rax, 0xffffffffffffff38
add rcx, rcx
sub rcx, rbx
add rcx, rax
cmp qword [r10 + 0x40], rcx
ja 0x14005d640
mov rax, qword [r10 + 0x20]
mov ebx, 2
lea r8, [rax + r15*2]
lea rax, [rax + rdi*2]
cmp r8, rax
jae 0x14005d6d1
movsxd r9, esi
lea r14d, [rbx - 1]
mov rax, r9
neg rax
mov rax, qword [r10 + 0x40]
sbb ecx, ecx
and ecx, ebx
lea edx, [r14 + rcx]
add edx, r12d
add dx, word [r8]
add r8, rbx
mov word [rax], dx
add qword [r10 + 0x40], rbx
mov rax, qword [r10 + 0x20]
lea rcx, [rax + rdi*2]
cmp r8, rcx
jb 0x14005d69d
mov r14, qword [rbp + 0x18]
mov r11, qword [rbp - 0x68]
mov ecx, dword [rbp - 0x50]
movsxd rax, r12d
lea r11, [r11 + rax*2]
mov r8d, 1
mov r15, rdi
sub esi, r8d
mov qword [rbp - 0x68], r11
jns 0x14005d5e7
mov rbx, qword [rbp - 0x78]
xor r14d, r14d
jmp 0x14005d579
neg rax
lea r13, [r13 + rax*2]
mov word [r11], si
add r11, r10
mov word [r11], cx
add r11, r10
mov word [rdx + 2], cx
test r13, r13
jne 0x14005d58b
mov rbx, qword [rbp - 0x78]
mov qword [rbp - 0x68], r11
jmp 0x14005dc3f
mov r11, qword [rbp - 0x68]
mov r15d, dword [rbp - 0x58]
mov r12d, 0x81
lea r14, [r11 - 4]
xor ecx, ecx
movzx eax, word [r14 + 2]
mov rdi, r14
add rax, rax
sub rdi, rax
movzx eax, word [rdi]
sub ax, r12w
cmp ax, r8w
ja 0x14005d76d
test r15d, r15d
je 0x14005d76d
lea eax, [r12 + 2]
mov word [rdi], ax
movzx esi, word [rdi]
movzx eax, si
sub ax, r12w
cmp ax, r8w
jbe 0x14005d8c5
mov r8, qword [rbp + 0x188]
mov r13, qword [rbp + 0x180]
mov r12d, dword [rbp - 0x80]
test r8, r8
jne 0x14005d7d6
mov rbx, rdi
mov qword [rsp + 0x20], rcx
mov r9, r13
mov r8d, r12d
mov rcx, rbx
mov rdx, r14
call fcn.1400227ac
xor ecx, ecx
test eax, eax
jne 0x14005d7c7
movzx eax, word [rbx + 2]
lea rbx, [rbx + rax*2]
cmp word [rbx], 0x77
je 0x14005d79b
jmp 0x14005d7d2
mov eax, 5
add si, ax
mov word [rdi], si
mov r11, qword [rbp - 0x68]
test r15d, r15d
je 0x14005d8b1
movzx eax, word [rdi]
mov ecx, 0x87
cmp ax, cx
je 0x14005d813
mov ecx, 0x8c
cmp ax, cx
je 0x14005d813
mov r8d, 1
add ax, r8w
mov word [rdi], ax
lea eax, [rcx - 0x11]
lea r10d, [r8 + 1]
mov word [r14], ax
xor r14d, r14d
jmp 0x14005d885
mov rax, qword [rbp + 0x70]
xor r14d, r14d
mov rbx, r11
lea edx, [r14 + 2]
sub rbx, rdi
mov r9, r13
mov r8d, r12d
mov rcx, rdi
mov word [r11], r14w
sar rbx, 1
mov qword [rsp + 0x20], rax
call fcn.1400a79fc
lea eax, [rbx + rbx]
lea rcx, [rdi + 4]
mov rdx, rdi
movsxd r8, eax
call fcn.140024af0
mov r11, qword [rbp - 0x68]
lea r10d, [r14 + 2]
add r11, 4
add ebx, r10d
mov eax, 0x84
mov word [rdi], ax
lea eax, [r14 + 0x7b]
lea r8d, [r14 + 1]
mov word [r11], ax
add r11, r10
mov word [r11], bx
add r11, r10
mov word [rdi + 2], bx
mov qword [rbp - 0x68], r11
mov rax, qword [rbp + 0x18]
test rax, rax
je 0x14005d896
mov ecx, __WSAFDIsSet
mov word [rax], cx
cmp dword [rbp - 0x18], r10d
jge 0x140021bb3
mov rbx, qword [rbp - 0x78]
mov r15d, r14d
mov esi, 0x78
jmp 0x140021bc0
mov eax, dword [rbp - 0x50]
add ax, 0x79
mov word [r14], ax
mov rbx, qword [rbp - 0x78]
jmp 0x1400221a4
mov eax, dword [rbp - 0x50]
add ax, 0x79
mov word [r14], ax
mov rbx, qword [rbp - 0x78]
xor r14d, r14d
lea esi, [r14 + 0x78]
lea r10d, [r14 + 2]
jmp 0x140021bc6
mov eax, 0x9d
cmp word [r15], ax
je 0x1400221a4
mov dword [r10], reloc.WSOCK32.dll_inet_ntoa
jmp 0x14005f612
xor r14d, r14d
test edi, edi
jne 0x14005d912
mov r11, r15
mov qword [rbp - 0x68], r15
jmp 0x140021bcf
test r9d, r9d
jne 0x14005d982
or r8d, 0xffffffff
cmp edi, r8d
lea r8d, [r9 + 1]
jne 0x14005d976
add r12w, 0x62
jmp 0x14005d930
add r12w, 0x64
mov word [r11], r12w
mov r10, r13
jmp 0x14005d961
add r12w, 0x68
mov r10, r13
mov word [r11], r12w
add r11, r13
mov word [r11], r9w
add r11, r13
or r9d, 0xffffffff
cmp edi, r9d
cmove edi, r14d
mov dword [rbp - 0xc], edi
mov word [r11], di
mov rbx, qword [rbp - 0x78]
add r11, r10
mov esi, 0x78
mov qword [rbp - 0x68], r11
jmp 0x14005dc3f
cmp edi, r8d
jne 0x14005d939
add r12w, 0x66
jmp 0x14005d930
mov r8d, 1
cmp r9d, r8d
jne 0x14005d939
or eax, 0xffffffff
cmp edi, eax
jne 0x14005d939
jmp 0x14005d92b
movzx ecx, word [r15]
mov r10d, CreateStdDispatch
sub ecx, r10d
je 0x14005d9bf
dec ecx
je 0x14005d9b8
dec ecx
je 0x14005d9b1
mov edi, esi
jmp 0x14005d9c4
mov edi, reloc.OLEAUT32.dll_SafeArrayRedim
jmp 0x14005d9c4
mov edi, 0x1a
jmp 0x14005d9c4
mov edi, reloc.WSOCK32.dll_listen
mov r8d, dword [rbp - 0x80]
test r8d, r8d
je 0x14005da1a
lea rdx, [r11 - 2]
mov ecx, 0xfc00
mov esi, 0xdc00
movzx eax, word [rdx]
and ax, cx
cmp ax, si
jne 0x14005da1a
movzx eax, word [rdx]
and ax, cx
cmp ax, si
jne 0x14005d9f4
sub rdx, r13
mov rsi, r11
lea rcx, [rbp + 0xc8]
sub rsi, rdx
sar rsi, 1
lea r8d, [rsi + rsi]
call fcn.140024af0
mov rbx, qword [rbp - 0x78]
bts esi, 0x1c
jmp 0x140021b17
movzx esi, word [r11 - 2]
cmp word [r15], r10w
ja 0x140021b1b
mov r10d, 1
cmp r9d, r10d
jle 0x140021b21
mov rax, qword [rbp + 0x180]
mov dword [rbp - 0x38], esi
mov r13d, dword [rax + 0x98]
or r13d, dword [rbp + 0xc]
mov dword [rbp - 0x20], r13d
jmp 0x140021b21
movzx r14d, word [r15 + 2]
movzx r15d, word [r15 + 4]
jmp 0x140021b3c
cmp r13d, r10d
lea r11, [rdx + 2]
mov r10d, 2
jne 0x14005da82
add r12w, 0x25
mov word [rdx], r12w
jmp 0x140021b85
add r12w, 0x27
mov word [rdx], r12w
jmp 0x14005dbe2
cmp ecx, r10d
jne 0x14005dad3
or ecx, 0xffffffff
cmp r13d, ecx
jne 0x14005daa7
add r12w, 0x23
jmp 0x140021b77
mov r11, rax
mov qword [rbp - 0x68], rax
cmp r13d, r10d
je 0x1400221a4
add r12w, 0x27
sub r13w, r10w
lea r11, [rax + 2]
mov word [rax], r12w
mov r10d, 2
jmp 0x14005dbe2
lea r11, [rdx + 2]
add di, 0x29
mov r10d, 2
mov word [rdx], di
mov word [r11], cx
add r11, r10
mov qword [rbp - 0x68], r11
test r13d, r13d
jns 0x14005db5f
test r8d, r8d
je 0x14005db30
bt esi, 0x1c
jae 0x14005db30
mov eax, esi
lea rdx, [rbp + 0xc8]
mov rcx, r11
and eax, 7
lea r8d, [rax + rax]
call fcn.140024af0
mov r11, qword [rbp - 0x68]
mov r8d, dword [rbp - 0x80]
mov eax, esi
mov r10d, 2
and eax, 7
lea r11, [r11 + rax*2]
jmp 0x14005db4a
mov word [r11], si
add r11, r10
test r14d, r14d
js 0x14005db4a
mov word [r11], r14w
add r11, r10
mov word [r11], r15w
add r11, r10
add r12w, 0x21
jmp 0x14005db56
add r12w, 0x25
mov word [r11], r12w
jmp 0x14005dbe6
cmp r13d, ecx
je 0x140021b89
test r8d, r8d
je 0x14005dba7
bt esi, 0x1c
jae 0x14005dba7
mov eax, esi
lea rdx, [rbp + 0xc8]
mov rcx, r11
and eax, 7
lea r8d, [rax + rax]
call fcn.140024af0
mov r11, qword [rbp - 0x68]
mov ecx, dword [rbp - 0x18]
mov r8d, dword [rbp - 0x80]
mov eax, esi
mov r10d, 2
and eax, 7
lea r11, [r11 + rax*2]
jmp 0x14005dbae
mov word [r11], si
add r11, r10
test r14d, r14d
js 0x14005dbc1
mov word [r11], r14w
add r11, r10
mov word [r11], r15w
add r11, r10
sub r13d, ecx
mov eax, 1
mov dword [rbp - 0xc], r13d
cmp r13d, eax
je 0x14005db51
add r12w, 0x27
mov word [r11], r12w
add r11, r10
mov word [r11], r13w
add r11, r10
jmp 0x140021b85
mov eax, esi
lea rdx, [rbp + 0xc8]
mov rcx, r11
and eax, 7
lea r8d, [rax + rax]
call fcn.140024af0
mov r11, qword [rbp - 0x68]
mov eax, esi
and eax, 7
mov r10d, 2
lea r11, [r11 + rax*2]
jmp 0x140021b9f
mov word [r11], r14w
add r11, r10
mov word [r11], r15w
mov rbx, qword [rbp - 0x78]
add r11, r10
xor r14d, r14d
mov qword [rbp - 0x68], r11
lea esi, [r14 + 0x78]
lea r8d, [r14 + 1]
mov r15d, dword [rbp - 0x58]
jmp 0x140021bc0
mov rax, qword [rbp - 8]
movzx edx, word [rax]
cmp edx, 0x50
jg 0x14005dcc6
je 0x14005dc83
mov eax, CreateStdDispatch
cmp edx, eax
jl 0x14005dd0c
cmp edx, 0x20
jle 0x14005dc83
mov eax, reloc.OLEAUT32.dll_SafeArrayCreateEx
cmp edx, eax
je 0x14005dc83
cmp edx, 0x36
je 0x14005dc83
mov eax, 0x43
cmp edx, eax
jne 0x14005dd0c
mov rcx, qword [rbp - 8]
mov r8d, dword [rbp - 0x80]
mov rax, rdx
lea rdx, [0x140000000]
movzx eax, byte [rax + rdx + 0xbb210]
lea rcx, [rcx + rax*2]
mov qword [rbp - 8], rcx
test r8d, r8d
je 0x14005dd17
movzx eax, word [rcx - 2]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xd800
cmp ax, cx
jne 0x14005dd17
add qword [rbp - 8], r10
jmp 0x14005dd17
mov eax, 0x5d
cmp edx, eax
je 0x14005dd58
cmp edx, 0x6d
jle 0x14005dd0c
cmp edx, 0x6f
jle 0x14005dd07
mov r8d, dword [rbp - 0x80]
mov eax, WSACleanup
cmp edx, eax
lea rdx, [0x140000000]
jne 0x14005dd17
mov rcx, qword [rbp - 8]
mov rax, qword [rbp - 8]
movzx ecx, word [rcx + 2]
lea rcx, [rax + rcx*2]
mov qword [rbp - 8], rcx
jmp 0x14005dd17
add qword [rbp - 8], 0x22
lea rdx, [0x140000000]
mov r8d, dword [rbp - 0x80]
mov rcx, qword [rbp - 8]
mov rdi, r11
sub rdi, rcx
sar rdi, 1
test edi, edi
jle 0x140021bcf
movzx eax, word [rcx]
mov r9d, 0x76
cmp eax, r9d
jae 0x14005d2cd
mov dl, byte [rax + rdx + 0xce730]
test dl, dl
je 0x14005d2cd
movzx eax, dl
mov word [rcx], ax
jmp 0x14005d333
mov rcx, qword [rbp - 8]
movzx eax, word [rcx + 4]
mov ecx, r10d
sub ax, 0xf
cmp ax, r8w
mov rax, rdx
lea rdx, [0x140000000]
movzx eax, byte [rax + rdx + 0xbb210]
cmova ecx, r14d
add eax, ecx
movsxd rcx, eax
mov rax, qword [rbp - 8]
lea rcx, [rax + rcx*2]
mov qword [rbp - 8], rcx
jmp 0x14005dd13
xor r14d, r14d
mov r15d, r14d
mov qword [rbp - 0x48], r14
lea r10d, [r14 + 2]
test r10b, r8b
je 0x14005ddc3
cmp r9d, 0xfffffffe
jne 0x14005ddbc
or ecx, 0xffffffff
mov r9d, ecx
mov dword [rbp - 0x60], ecx
mov dword [rbp - 0x1c], ecx
mov eax, CreateStdDispatch
jmp 0x14005ddc8
mov eax, CreateStdDispatch
mov word [r11], ax
add r11, r10
jmp 0x140021a39
test dword [r12 + 0x90], 0x2000000
je 0x140021540
mov dword [r10], 0x40
jmp 0x14005f612
add rbx, 2
mov r10d, 0xdc00
movzx eax, word [rbx]
and ax, cx
cmp ax, r10w
mov r10d, 2
jne 0x14002157c
mov qword [rbp - 0x78], rbx
movzx eax, word [rbx]
mov edi, edx
mov word [rbp + 0x82], ax
lea eax, [r10 - 1]
jmp 0x14002157f
mov r14d, dword [rbp - 0x80]
mov eax, dword [rbp + 0x3c]
test r14d, r14d
je 0x14005de5c
cmp eax, 0xffff
jbe 0x14005de5c
lea rdx, [rbp + 0x80]
mov ecx, eax
call fcn.1400a90bc
movzx esi, word [rbp + 0x80]
mov edi, eax
mov eax, 1
jmp 0x14005de6d
movzx esi, ax
mov word [rbp + 0x80], ax
mov eax, 1
mov edi, eax
mov r12d, dword [rbp - 0x38]
mov r10d, 2
jmp 0x14005de86
mov r14d, dword [rbp - 0x80]
mov word [rbp + 0x80], si
mov edi, eax
mov r8d, dword [rbp - 0x70]
mov r11, qword [rbp - 0x68]
mov ecx, 0xfc00
mov r9d, 0xd800
jmp 0x14002157f
mov rbx, qword [rbp - 0x78]
mov eax, 0x5c
cmp word [rbx + 2], ax
jne 0x14005dec8
lea ecx, [rax - 0x17]
cmp word [rbx + 4], cx
jne 0x14005dec8
add rbx, 4
jmp 0x14005debf
mov dword [r10], r8d
mov r11, qword [rbp - 0x68]
jmp 0x140021be6
mov dword [rbp - 0x54], 1
jmp 0x14005debf
mov rbx, qword [rbp - 0x78]
mov rax, qword [r12 + 0x40]
mov r13d, 2
sub rax, qword [r12 + 0x20]
add rbx, r13
lea r9d, [r13 + 0x25]
sar rax, 1
mov qword [rbp - 0x78], rbx
lea rdx, [rbx + 2]
mov qword [rbp + 0x70], rax
lea eax, [r13 + 0x3a]
lea r8d, [r13 + 0x37]
cmp word [rbx], ax
lea edi, [rax + 2]
movzx eax, word [rdx]
cmove r9d, edi
mov dword [rbp - 0x58], r14d
mov esi, r14d
cmp eax, r8d
ja 0x14005e2ec
movabs rcx, 0x3ff280000000000
bt rcx, rax
jae 0x14005e2ec
lea rcx, [rbx + 4]
lea r11d, [r13 + 0x2e]
jmp 0x14005df47
cmp ax, r8w
ja 0x14005df50
add rcx, r13
movzx eax, word [rcx]
cmp ax, r11w
jae 0x14005df3e
cmp word [rcx], r9w
jne 0x14005debc
mov r8d, dword [rbp - 0x70]
mov r15, r13
mov rbx, rdx
mov r13d, 0x2b
mov qword [rbp - 0x78], rdx
movzx edx, word [rbx]
cmp edx, r13d
jne 0x14005df96
add rbx, r15
mov ecx, 9
mov qword [rbp - 0x78], rbx
movzx eax, word [rbx]
sub ax, r11w
cmp ax, cx
jbe 0x14005dfbf
lea eax, [rcx + 0x36]
jmp 0x14005f4e7
mov eax, 0x2d
cmp edx, eax
jne 0x14005dfbf
lea rcx, [rbx + 2]
mov edi, 9
movzx eax, word [rcx]
sub ax, r11w
cmp ax, di
ja 0x140021832
mov rbx, rcx
mov qword [rbp - 0x78], rcx
movzx r8d, word [rbx]
mov edi, r14d
cmp r8w, r11w
jb 0x14005dffd
mov r10d, reloc.WSOCK32.dll_gethostname
cmp r8w, r10w
ja 0x14005dff6
add rbx, r15
lea edi, [rdi + rdi*4]
movzx eax, r8w
mov qword [rbp - 0x78], rbx
movzx r8d, word [rbx]
lea edi, [rdi - 0x18]
lea edi, [rax + rdi*2]
cmp r8w, r11w
jae 0x14005dfd2
mov r10, qword [rbp + 0x148]
cmp word [rbx], r9w
jne 0x14005f4e2
mov eax, 0x2d
cmp edx, eax
jne 0x14005e21f
test edi, edi
je 0x14005f5ab
mov eax, dword [r12 + 0x70]
sub eax, edi
lea edi, [rax + 1]
test edi, edi
jg 0x14005e231
mov eax, reloc.WSOCK32.dll_ntohs
jmp 0x14005f4e7
cmp eax, 0x4a
je 0x14005e089
cmp eax, 0x55
je 0x14005e080
cmp eax, 0x58
je 0x14005e078
cmp eax, 0x6d
je 0x14005e070
cmp eax, 0x73
je 0x14005e066
mov edx, 0x78
cmp eax, edx
jne 0x14005f56a
or dword [rcx], 8
jmp 0x140021882
mov eax, 4
jmp 0x140021880
or dword [rcx], r15d
jmp 0x140021882
or dword [rcx], 0x40
jmp 0x140021882
bts dword [rcx], 9
jmp 0x140021882
bts dword [rcx], 0x13
bts dword [r12 + 0x94], 0xa
jmp 0x140021882
mov r14, qword [rbp + 0x188]
test r14, r14
je 0x14005e0b5
cmp dword [r14], ecx
je 0x14005e0b5
xor r14d, r14d
jmp 0x1400218be
mov dword [r12 + 0x90], r10d
xor r14d, r14d
jmp 0x1400218dc
mov r11d, dword [rbp - 0x58]
mov rdx, qword [rbp - 0x68]
mov rcx, qword [rbp + 0x188]
add rbx, r15
mov r13d, 0x83
xor r9d, r9d
lea edi, [r13 - 0x31]
mov qword [rbp - 0x78], rbx
jmp 0x140021c3e
mov r13d, dword [rbp - 0x5c]
mov esi, r14d
mov rdx, qword [rbp - 0x68]
jmp 0x140021c32
cmp dword [r14 + 0xac], r9d
je 0x140021c75
mov r15, r9
mov dword [r14 + 0xac], r9d
jmp 0x140021c78
mov edx, 1
jmp 0x140021cc1
cmp dword [r14 + 0x70], ebx
ja 0x14005e1af
mov r11, qword [rbp - 0x68]
mov eax, 0x82
mov word [r11], ax
jmp 0x140021d59
add dword [r14 + 0x8c], r12d
jmp 0x140021d6a
test r14, r14
jne 0x140021d89
mov rcx, r11
mov edx, r8d
movzx eax, word [rcx + 2]
add edx, r10d
lea rcx, [rcx + rax*2]
cmp word [rcx], r9w
jne 0x14005e15a
mov eax, VariantChangeTypeEx
cmp word [r11 + 4], ax
jne 0x14005e188
cmp edx, r10d
jg 0x14005f57f
mov r13d, eax
jmp 0x140021d8d
mov eax, 2
cmp edx, eax
jg 0x14005f587
cmp edx, r10d
jne 0x140021d89
mov eax, r12d
mov ecx, r12d
mov dword [rbp + 0x20], eax
mov dword [rbp + 0x30], ecx
jmp 0x140021d93
mov r14, qword [rbp + 0x188]
mov r10d, 1
lea r9d, [r10 + 0x77]
jmp 0x140021d89
test ecx, ecx
js 0x14005e1d8
mov edx, dword [rbp + 0x7c]
mov r9d, ecx
mov dword [rbp + 0x24], r10d
mov dword [rbp - 0x14], edx
jmp 0x14005e1db
mov r9d, r12d
mov dword [rbp - 0x60], r9d
mov dword [rbp - 0x1c], r12d
jmp 0x140021e01
test eax, eax
jns 0x14005e1fe
mov eax, dword [rbp + 0x7c]
mov dword [rbp + 0x34], eax
mov eax, ecx
or eax, edi
mov dword [rbp + 0x20], eax
jmp 0x140021e01
mov ecx, dword [rbp + 0x34]
mov dword [rbp - 0x20], eax
mov dword [rbp - 0x38], ecx
jmp 0x140021bea
mov ecx, 0x7d
cmp r13d, ecx
jne 0x140021be6
jmp 0x140021e01
cmp edx, r13d
jne 0x14005e231
test edi, edi
je 0x14005f5ab
add edi, dword [r12 + 0x70]
mov r14, qword [rbp + 0x188]
mov r13, qword [rbp - 0x68]
mov rbx, qword [r12 + 0x28]
mov r15, r13
mov qword [rbp - 0x48], r13
test r14, r14
jne 0x14005e63a
mov word [r13], r14w
test edi, edi
je 0x14005e26d
mov edx, dword [rbp - 0x80]
mov rcx, qword [r12 + 0x28]
mov r8d, edi
call fcn.1400a765c
mov rbx, rax
test rbx, rbx
jne 0x14005e5f7
cmp edi, dword [r12 + 0x74]
jg 0x14005f5bf
mov rax, qword [r12 + 0x28]
movsxd rcx, edi
lea rbx, [rax + rcx*2]
movsxd rcx, dword [r12 + 0x6c]
mov rax, qword [r12 + 0x20]
add rcx, 0xffffffffffffff9c
lea rcx, [rax + rcx*2]
cmp qword [r12 + 0x40], rcx
jb 0x14005e2bf
mov rcx, r12
call fcn.1400a7e88
mov rcx, qword [rbp + 0x148]
mov dword [rcx], eax
test eax, eax
jne 0x14005f530
mov rax, qword [r12 + 0x40]
mov r11, qword [rbp - 0x68]
mov edi, dword [rbp - 0x80]
mov ecx, r11d
mov r8d, 2
sub ecx, dword [r12 + 0x28]
add rcx, r8
sar rcx, 1
mov word [rax], cx
add qword [r12 + 0x40], r8
jmp 0x14005e644
mov r8d, 1
mov r15, r13
mov r12d, r8d
mov dword [rbp - 0x5c], r8d
jmp 0x14005e367
mov rbx, qword [rbp - 0x78]
mov esi, 0x3c
lea rax, [rbx + 2]
lea ecx, [rsi - 0x15]
cmp word [rax], si
je 0x14005e32f
cmp word [rax], cx
je 0x14005e32f
lea edx, [rsi + 0x3f]
cmp word [rax], dx
je 0x14005e32f
mov r11, qword [rbp - 0x68]
lea eax, [rsi + 9]
mov dword [r10], eax
jmp 0x140021bea
mov r15d, 2
mov qword [rbp - 0x78], rax
mov r12d, r14d
mov dword [rbp - 0x5c], r14d
mov rbx, rax
lea r8d, [r15 - 1]
cmp word [rax], si
jne 0x14005e355
lea edi, [r15 + 0x3c]
mov r9d, edi
jmp 0x14005e367
cmp word [rax], cx
mov r9d, 0x7d
cmove r9d, ecx
mov edi, 0x3e
add rbx, r15
mov edx, gethostbyname
mov qword [rbp - 0x78], rbx
movzx ecx, word [rbx]
lea r11d, [rdx - 0x27]
movzx eax, cx
mov qword [rbp - 0x30], rbx
mov r15, rbx
sub ax, dx
cmp ax, r11w
jbe 0x14005f4fd
mov r13, qword [rbp + 0x180]
mov r11d, 0xff
cmp cx, r11w
ja 0x14005e3e0
mov rdx, qword [r13 + 0x18]
mov r12d, 2
lea r10d, [r12 + 0xe]
movzx eax, cx
test byte [rax + rdx], r10b
je 0x14005e3cc
add rbx, r12
mov qword [rbp - 0x78], rbx
movzx ecx, word [rbx]
cmp cx, r11w
jbe 0x14005e3b3
mov r12d, dword [rbp - 0x5c]
mov r10, qword [rbp + 0x148]
mov qword [rbp - 0x30], rbx
mov edx, gethostbyname
mov r14, qword [rbp + 0x188]
mov r11, rbx
xor ecx, ecx
sub r11, r15
sar r11, 1
test r14, r14
je 0x14005e470
test r11d, r11d
je 0x14005f5ba
cmp word [rbx], r9w
jne 0x14005f545
cmp r11d, 0x20
jg 0x14005f5b5
mov edi, dword [r13 + 0x60]
mov rbx, qword [r13 + 0x50]
mov esi, ecx
test edi, edi
jle 0x14005e450
lea eax, [rcx + 0x10]
cmp r11d, dword [rbx + 8]
jne 0x14005e446
mov rdx, qword [rbx]
mov r8d, r11d
mov rcx, r15
call fcn.1400a8b20
xor ecx, ecx
lea r8d, [rcx + 1]
test eax, eax
je 0x14005e450
lea eax, [rcx + 0x10]
add esi, r8d
add rbx, rax
cmp esi, edi
jl 0x14005e425
cmp esi, edi
jge 0x14005e459
mov edi, dword [rbx + 0xc]
jmp 0x14005e45b
mov edi, ecx
test r12d, r12d
jne 0x14005e467
add dword [r13 + 0x84], r8d
add dword [r14], r8d
mov r13, qword [rbp + 0x10]
jmp 0x14005e4e3
mov edi, dword [r13 + 0x60]
mov rax, qword [r13 + 0x58]
mov esi, ecx
mov qword [rbp + 0x10], rax
test edi, edi
jle 0x14005e4cc
movsxd r14, r11d
mov r12, rax
mov ebx, 1
lea rdx, [r12 + 2]
mov r8d, r11d
mov rcx, r15
call fcn.1400a8b20
xor ecx, ecx
test eax, eax
jne 0x14005e4ab
cmp word [r12 + r14*2 + 2], cx
je 0x14005e4b9
movsxd rax, dword [r13 + 0x64]
add esi, ebx
lea r12, [r12 + rax*2]
cmp esi, edi
jl 0x14005e48d
mov rbx, qword [rbp - 0x30]
mov r14, qword [rbp + 0x188]
mov qword [rbp + 0x10], r12
mov r12d, dword [rbp - 0x5c]
cmp esi, edi
jge 0x14005cb1c
mov r13, qword [rbp + 0x10]
mov r8d, 1
movzx edi, word [r13]
test r12d, r12d
mov r12, qword [rbp + 0x180]
jne 0x14005e238
test r14, r14
jne 0x14005e6e0
cmp dword [r12 + 0xa8], r14d
je 0x14005e758
movsxd rax, dword [r12 + 0x64]
mov dword [rbp - 0x30], esi
add esi, r8d
lea r14, [rax*2]
mov r10d, r8d
add r14, r13
cmp esi, dword [r12 + 0x60]
jge 0x14005e6e0
lea r11, [r13 + 2]
mov ebx, 1
lea rdx, [r14 + 2]
mov rcx, r11
call fcn.1400a8af0
test eax, eax
jne 0x14005e55c
movsxd rax, dword [r12 + 0x64]
add esi, ebx
add r10d, ebx
lea r14, [r14 + rax*2]
cmp esi, dword [r12 + 0x60]
jl 0x14005e537
mov r13, qword [rbp + 0x10]
mov r9d, dword [rbp - 0x60]
mov rsi, rbx
mov ebx, dword [rbp - 0x30]
cmp r10d, esi
jle 0x14005e6e9
mov r11, qword [rbp - 0x68]
mov r8d, dword [rbp - 0x70]
cmp r9d, 0xfffffffe
mov eax, 0xffffffff
mov r15, r11
mov qword [rbp - 0x48], r11
cmove r9d, eax
mov al, r8b
and al, sil
mov dword [rbp - 0x60], r9d
neg al
mov eax, 2
sbb ecx, ecx
neg ecx
add ecx, 0x73
mov word [r11], cx
add r11, rax
mov word [r11], bx
add r11, rax
mov word [r11], r10w
add r11, rax
mov qword [rbp - 0x68], r11
cmp r13, r14
jae 0x14005e6d8
movzx edx, word [r13]
mov eax, esi
cmp edx, 0x20
jge 0x14005e5d9
mov ecx, edx
shl eax, cl
or dword [r12 + 0x80], eax
cmp edx, dword [r12 + 0x7c]
jle 0x14005e5ed
mov dword [r12 + 0x7c], edx
mov rcx, qword [r12 + 0x48]
jmp 0x14005e697
mov edi, dword [rbp - 0x80]
cmp word [rbx + 2], r14w
jne 0x14005e640
cmp dword [rbp + 0x178], r14d
jg 0x14005e640
mov r8, qword [rbp + 0x170]
mov r9d, edi
mov rdx, r13
mov rcx, rbx
mov qword [rsp + 0x20], r12
call fcn.1400a7e18
test eax, eax
je 0x14005e640
mov rax, qword [rbp + 0x148]
mov dword [rax], SafeArrayCreateEx
jmp 0x14005f530
mov edi, dword [rbp - 0x80]
xor r14d, r14d
mov r11, qword [rbp - 0x68]
mov r9d, dword [rbp - 0x60]
mov r8d, dword [rbp - 0x70]
mov eax, 0x75
mov word [r11], ax
mov eax, ebx
add r11, 4
sub eax, dword [r12 + 0x28]
mov qword [rbp - 0x68], r11
mov dword [rbp + 0x24], r14d
sar rax, 1
mov word [r11 - 2], ax
cmp r9d, 0xfffffffe
jne 0x14002169d
mov rbx, qword [rbp - 0x78]
or eax, 0xffffffff
mov r9d, eax
mov dword [rbp - 0x60], eax
jmp 0x1400216a4
movzx eax, word [rcx + 8]
cmp eax, edx
je 0x14005e69e
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14005e68c
jmp 0x14005e6a2
mov word [rcx + 0xa], si
movsxd rax, dword [r12 + 0x64]
lea r13, [r13 + rax*2]
cmp r13, r14
jb 0x14005e5c9
mov qword [rbp + 0x10], r13
jmp 0x14005e6d8
mov r11, r15
mov qword [rbp - 0x68], r15
mov r15, qword [rbp - 0x48]
mov r8d, dword [rbp - 0x70]
mov rax, r11
sub rax, r15
sar rax, 1
mov word [r15 + 2], ax
xor r14d, r14d
jmp 0x14002169d
mov r9d, dword [rbp - 0x60]
mov esi, 1
xor r14d, r14d
mov r11, qword [rbp - 0x68]
mov r8d, dword [rbp - 0x70]
cmp r9d, 0xfffffffe
mov eax, 0xffffffff
mov r15, r11
mov qword [rbp - 0x48], r11
cmove r9d, eax
mov al, r8b
and al, sil
mov dword [rbp - 0x60], r9d
neg al
mov eax, 2
sbb ecx, ecx
neg ecx
add ecx, 0x71
mov word [r11], cx
add r11, rax
mov word [r11], di
add r11, rax
mov eax, esi
mov qword [rbp - 0x68], r11
cmp edi, 0x20
jge 0x14005e73d
mov ecx, edi
shl eax, cl
or dword [r12 + 0x80], eax
cmp edi, dword [r12 + 0x7c]
jle 0x14005e751
mov dword [r12 + 0x7c], edi
mov rcx, qword [r12 + 0x48]
jmp 0x14005e76e
mov r9d, dword [rbp - 0x60]
mov esi, 1
jmp 0x14005e6ec
movzx eax, word [rcx + 8]
cmp eax, edi
je 0x14005e778
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14005e763
jmp 0x14002169d
mov word [rcx + 0xa], si
jmp 0x14002169d
cmp dword [r12 + 0x78], r14d
jne 0x1400219ff
mov dword [r12 + 0x78], esi
jmp 0x1400219ff
mov rcx, qword [rbp - 0x78]
lea rdx, [0x140000000]
mov rbx, qword [rdx + rdi*8 + 0xce2d8]
add rcx, 2
jmp 0x14005e861
cmp edi, 0xe
jne 0x140021a2d
mov edi, reloc.WSOCK32.dll_listen
jmp 0x140021a2d
lea r9, [rbp - 0x5c]
lea r8, [rbp - 0x28]
lea rdx, [rbp + 0x9c]
lea rcx, [rbp - 0x78]
mov dword [rbp - 0x28], r14d
mov dword [rbp - 0x5c], r14d
mov qword [rsp + 0x20], r10
call fcn.1400a8454
test eax, eax
je 0x14005f530
mov r11, qword [rbp - 0x68]
mov r9d, dword [rbp - 0x60]
mov ecx, r14d
mov eax, r14d
cmp edi, ebx
mov r15, r11
sete al
mov qword [rbp - 0x48], r11
cmp eax, dword [rbp + 0x9c]
mov eax, reloc.WSOCK32.dll_ntohs
setne cl
add ecx, eax
mov word [r11], cx
lea ecx, [rax - 0xd]
movzx eax, word [rbp - 0x28]
add r11, rcx
mov word [r11], ax
movzx eax, word [rbp - 0x5c]
add r11, rcx
mov word [r11], ax
add r11, rcx
jmp 0x140021a35
lea rcx, [rbx + 0xe]
lea rbx, str._b__w_
jmp 0x14005e859
lea rcx, [rbx + 0xe]
lea rbx, str._b___w_
mov r11, qword [rbp - 0x68]
mov r9d, dword [rbp - 0x60]
mov r8d, dword [rbp - 0x70]
mov edi, dword [rbp - 0x80]
mov qword [rbp - 0x40], rcx
sub rbx, 2
jmp 0x1400216a8
lea rdx, [rbp + 0x40]
mov rcx, rbx
call fcn.1400a7d74
test eax, eax
je 0x140021e7a
mov eax, 0x3a
cmp word [rbx + 2], ax
lea ecx, [rax - 0x1b]
lea eax, [rcx - 0x12]
cmove ecx, eax
jmp 0x14005f1f6
lea rcx, [rbx + 2]
cmp word [rcx], r8w
jne 0x14005e8b2
mov rbx, rcx
jmp 0x140021e8e
lea rdx, [0x1400d1cf0]
mov r8d, 3
call fcn.1400222a4
test eax, eax
jne 0x140021ebf
mov eax, dword [rbp - 0x50]
add rbx, rdi
jmp 0x140021e80
mov eax, 1
mov dword [rbp - 0x50], eax
jmp 0x140021e93
test dword [r12 + 0x90], 0x2000000
je 0x140021ebf
mov r9d, dword [rbp - 0x60]
mov r11, qword [rbp - 0x68]
mov r10d, dword [rbp - 0x14]
neg eax
mov dword [rbp + 4], r10d
sbb eax, eax
and eax, 0xffffff70
add eax, 0x9d
mov word [r11], ax
add r11, rdx
cmp r9d, 0xfffffffe
mov eax, 0xffffffff
cmove r9d, eax
mov dword [rbp - 0x60], r9d
mov dword [rbp - 0x1c], r9d
jmp 0x140021a35
movzx esi, word [rbx]
mov eax, esi
and eax, ecx
cmp eax, edx
jne 0x14002202b
add rbx, 2
mov ecx, 0x3ff
movzx eax, word [rbx]
and esi, ecx
mov qword [rbp - 0x78], rbx
and eax, ecx
shl esi, 0xa
or esi, eax
add esi, 0x10000
jmp 0x14002202b
sub r15, rcx
mov dword [rbp - 0x10], r9d
mov qword [rbp - 0x30], rcx
sar r15, 1
add dword [rdx], r15d
mov r15, rcx
jmp 0x140021f18
mov eax, 0x5c
lea r9d, [rax - 0x17]
cmp esi, eax
jne 0x14005ef7b
cmp word [rbx + 2], r9w
jne 0x14005ef7b
mov ecx, r8d
add rbx, 2
mov dword [rbp - 0x54], ecx
jmp 0x140021fe8
mov eax, 0x3d
cmp word [rbx + 2], ax
ja 0x140021f37
movzx eax, word [rbx + 2]
movabs rdx, 0x2400400000000000
bt rdx, rax
jae 0x140021f37
lea rdx, [rbp + 0x40]
mov rcx, rbx
call fcn.1400a7d74
test eax, eax
je 0x14005ef72
mov rax, qword [rbp + 0x180]
mov esi, r8d
mov rdi, qword [rax + 0x10]
mov eax, 0x3a
cmp word [rbx + 2], ax
jne 0x14005f5e1
add rbx, 4
mov eax, 0x5e
mov qword [rbp - 0x78], rbx
cmp word [rbx], ax
jne 0x14005ea24
add rbx, r10
mov esi, r9d
mov dword [rbp - 0x58], r9d
mov qword [rbp - 0x78], rbx
mov r14, qword [rbp + 0x40]
mov rcx, rbx
mov rdx, r14
sub rdx, rbx
sar rdx, 1
call fcn.1400a7cf0
xor r11d, r11d
mov edx, eax
test eax, eax
js 0x14005f5d2
mov r8d, dword [rbp - 0x70]
lea r10d, [r11 + 1]
lea r9d, [r11 + 2]
test r10b, r8b
je 0x14005ea5e
cmp eax, r9d
cmovle edx, r11d
bt r8d, 0x1d
jae 0x14005eb16
mov eax, esi
neg eax
sbb rcx, rcx
and ecx, 0xe
lea eax, [rcx + rdx]
movsxd rcx, eax
lea rax, [0x140000000]
mov rbx, qword [rax + rcx*8 + 0xce640]
test rbx, rbx
je 0x14005eab2
mov edi, dword [rbp - 0x58]
mov r11d, dword [rbp - 0x80]
mov ecx, dword [rbp - 0x54]
lea rdx, [r14 + 2]
mov r14d, dword [rbp - 0x5c]
add rbx, 0xfffffffffffffffe
mov qword [rbp - 0x40], rdx
mov r10d, 2
jmp 0x140021ff0
mov ecx, edx
sub ecx, 8
je 0x14005eacf
dec ecx
je 0x14005eac8
dec ecx
jne 0x14005eb16
mov ecx, reloc.WSOCK32.dll_listen
jmp 0x14005ead4
mov ecx, reloc.WSOCK32.dll_ioctlsocket
jmp 0x14005ead4
mov ecx, reloc.WSOCK32.dll_inet_ntoa
mov edi, dword [rbp - 0x58]
neg esi
lea rbx, [r14 + 2]
sbb eax, eax
mov dword [rbp - 0x5c], r10d
mov r14d, r10d
neg eax
mov r10d, 2
add eax, 3
mov word [r15], ax
add r15, r9
mov word [r15], cx
mov ecx, dword [rbp - 0x54]
add r15, r9
mov word [r15], r11w
mov r11d, dword [rbp - 0x80]
add r15, r9
mov qword [rbp - 0x30], r15
jmp 0x140021fec
lea eax, [rdx + rdx*2]
lea r12, [0x140000000]
mov r13d, reloc.OLEAUT32.dll_RegisterActiveObject
movsxd rbx, eax
lea rcx, [rbp + 0xa8]
mov r8d, r13d
movsxd rdx, dword [r12 + rbx*4 + 0xce590]
add rdx, rdi
call fcn.140024af0
mov r10d, dword [r12 + rbx*4 + 0xce594]
mov r9d, dword [r12 + rbx*4 + 0xce598]
xor r11d, r11d
lea r12d, [r13 - 0x1f]
test r10d, r10d
js 0x14005eb9d
mov r8d, r11d
test r9d, r9d
js 0x14005eb82
lea eax, [r10 + r8]
mov edx, r8d
add r8d, r12d
mov al, byte [rax + rdi]
or byte [rbp + rdx + 0xa8], al
cmp r8d, r13d
jb 0x14005eb67
jmp 0x14005eb9d
lea eax, [r10 + r8]
mov edx, r8d
add r8d, r12d
mov al, byte [rax + rdi]
not al
and byte [rbp + rdx + 0xa8], al
cmp r8d, r13d
jb 0x14005eb82
test r9d, r9d
jns 0x14005eba5
neg r9d
mov r10d, 2
cmp r9d, r12d
jne 0x14005ebb9
and byte [rbp + 0xa9], 0xc3
jmp 0x14005ebc5
cmp r9d, r10d
jne 0x14005ebc5
and byte [rbp + 0xb3], 0x7f
mov rcx, r11
mov rdx, r13
test esi, esi
je 0x14005ebe6
mov al, byte [rbp + rcx + 0xa8]
not al
or byte [rbp + rcx + 0x48], al
add rcx, r12
sub rdx, r12
jne 0x14005ebcf
jmp 0x14005ebf9
mov al, byte [rbp + rcx + 0xa8]
or byte [rbp + rcx + 0x48], al
add rcx, r12
sub rdx, r12
jne 0x14005ebe6
mov edi, dword [rbp - 0x58]
lea rbx, [r14 + 2]
mov r14d, dword [rbp - 0x5c]
mov r13d, r12d
mov r12d, r10d
jmp 0x140021fe1
mov rax, qword [rbp + 0x180]
mov esi, dword [rbp - 0x70]
mov r8, qword [rbp + 0x148]
mov dword [rsp + 0x28], r9d
mov r9d, dword [rax + 0x70]
lea rdx, [rbp + 0x3c]
lea rcx, [rbp - 0x78]
mov dword [rsp + 0x20], esi
call fcn.140023088
mov r10, qword [rbp + 0x148]
xor r8d, r8d
movsxd rbx, eax
cmp dword [r10], r8d
jne 0x14005f530
test eax, eax
jne 0x14005ec6e
mov esi, dword [rbp + 0x3c]
jmp 0x14005ec5e
mov esi, 8
mov rbx, qword [rbp - 0x78]
mov r11d, dword [rbp - 0x80]
mov ecx, dword [rbp - 0x54]
jmp 0x140021f3e
mov eax, 5
cmp ebx, eax
je 0x14005ec59
cmp ebx, 0xc
je 0x14005f529
cmp ebx, 0x1a
jne 0x14005ecb9
mov rbx, qword [rbp - 0x78]
mov eax, 0x5c
cmp word [rbx + 2], ax
jne 0x14005eca6
lea ecx, [rax - 0x17]
cmp word [rbx + 4], cx
jne 0x14005eca6
add rbx, 4
jmp 0x140021fdb
mov eax, 1
mov ecx, eax
mov dword [rbp - 0x54], eax
lea r10d, [rax + 1]
jmp 0x140021fe4
cmp ebx, 0x19
je 0x140021fd7
mov rdx, qword [rbp + 0x180]
mov r11d, 1
mov rcx, qword [rdx + 0x10]
lea r9d, [r11 + 1]
lea eax, [r11 + 0xf]
add r12d, r9d
add r13d, r11d
cmp ebx, eax
jg 0x14005ee96
lea eax, [r11 + 0xe]
cmp ebx, eax
jge 0x14005ee14
sub ebx, 6
je 0x14005ede7
dec ebx
je 0x14005edc3
dec ebx
je 0x14005ed97
dec ebx
je 0x14005ed77
dec ebx
je 0x14005ed4a
dec ebx
jne 0x14005eeee
lea rax, [rbp + 0x48]
lea rdx, [rbp + 0x48]
lea r8d, [r11 + 0x1f]
sub rcx, rax
mov al, byte [rcx + rdx + 0xa0]
or byte [rdx], al
add rdx, r11
sub r8, r11
jne 0x14005ed2d
mov rbx, qword [rbp - 0x78]
mov r10, r9
jmp 0x140021fe1
lea rax, [rbp + 0x48]
mov edi, r11d
mov dword [rbp - 0x58], r11d
lea rdx, [rbp + 0x48]
mov r8d, reloc.OLEAUT32.dll_RegisterActiveObject
sub rcx, rax
mov al, byte [rdx + rcx + 0xa0]
not al
or byte [rdx], al
add rdx, r11
sub r8, r11
jne 0x14005ed62
jmp 0x14005ed3e
lea rax, [rbp + 0x48]
lea rdx, [rbp + 0x48]
mov r8d, reloc.OLEAUT32.dll_RegisterActiveObject
sub rcx, rax
mov al, byte [rdx + rcx]
or byte [rdx], al
add rdx, r11
sub r8, r11
jne 0x14005ed88
jmp 0x14005ed3e
lea rax, [rbp + 0x48]
mov edi, r11d
mov dword [rbp - 0x58], r11d
lea rdx, [rbp + 0x48]
mov r8d, reloc.OLEAUT32.dll_RegisterActiveObject
sub rcx, rax
mov al, byte [rdx + rcx]
not al
or byte [rdx], al
add rdx, r11
sub r8, r11
jne 0x14005edaf
jmp 0x14005ed3e
lea rax, [rbp + 0x48]
lea rdx, [rbp + 0x48]
mov r8d, reloc.OLEAUT32.dll_RegisterActiveObject
sub rcx, rax
mov al, byte [rcx + rdx + 0x40]
or byte [rdx], al
add rdx, r11
sub r8, r11
jne 0x14005edd4
jmp 0x14005ed3e
lea rax, [rbp + 0x48]
mov edi, r11d
mov dword [rbp - 0x58], r11d
lea rdx, [rbp + 0x48]
mov r8d, reloc.OLEAUT32.dll_RegisterActiveObject
sub rcx, rax
mov al, byte [rdx + rcx + 0x40]
not al
or byte [rdx], al
add rdx, r11
sub r8, r11
jne 0x14005edff
jmp 0x14005ed3e
mov dword [rbp - 0x28], r8d
mov dword [rbp - 0x5c], r8d
lea r9, [rbp - 0x5c]
lea r8, [rbp - 0x28]
lea rdx, [rbp + 0x98]
lea rcx, [rbp - 0x78]
mov qword [rsp + 0x20], r10
call fcn.1400a8454
xor ecx, ecx
test eax, eax
je 0x14005f530
mov eax, ecx
mov ecx, reloc.WSOCK32.dll_recv
cmp ebx, ecx
lea r10d, [rcx - 0xe]
sete al
sub eax, dword [rbp + 0x98]
neg eax
sbb eax, eax
add eax, 4
mov word [r15], ax
movzx eax, word [rbp - 0x28]
add r15, r10
mov word [r15], ax
movzx eax, word [rbp - 0x5c]
add r15, r10
mov word [r15], ax
mov rbx, qword [rbp - 0x78]
lea eax, [rcx - 0xf]
add r15, r10
mov r14d, eax
mov dword [rbp - 0x5c], eax
sub r13d, eax
mov qword [rbp - 0x30], r15
jmp 0x140021fe1
cmp ebx, 0x12
je 0x14005ef4d
cmp ebx, 0x13
je 0x14005ef1a
cmp ebx, 0x14
je 0x14005ef44
cmp ebx, 0x15
je 0x14005ef11
lea eax, [rbx - 0x1d]
mov ecx, 5
cmp eax, ecx
ja 0x14005eeee
mov rdx, qword [rbp - 0x78]
mov r8d, dword [rbp - 0x70]
lea rcx, [0x140000000]
mov rbx, qword [rcx + rbx*8 + 0xce2d8]
mov ecx, dword [rbp - 0x54]
mov qword [rbp - 0x40], rdx
sub rbx, r9
sub r13d, r11d
mov r11d, dword [rbp - 0x80]
mov r10, r9
jmp 0x140021ff0
mov rbx, qword [rbp - 0x78]
test sil, 0x40
jne 0x14005f5f0
movzx esi, word [rbx]
mov ecx, dword [rbp - 0x54]
sub r13d, r11d
mov r11d, dword [rbp - 0x80]
sub r12d, r9d
jmp 0x140021f45
lea rax, str._n_v_f_r
jmp 0x14005ef21
lea rax, [0x1400ced40]
or dword [rsp + 0x28], 0xffffffff
mov r9, rdx
lea rcx, [rbp + 0x48]
lea rdx, [rbp - 0x30]
mov r8d, esi
mov qword [rsp + 0x20], rax
call fcn.1400a77a4
nop
jmp 0x140021fd3
lea rax, str._n_v_f_r
jmp 0x14005ef54
lea rax, [0x1400ced40]
mov r9, rdx
lea rcx, [rbp + 0x48]
lea rdx, [rbp - 0x30]
mov r8d, esi
mov qword [rsp + 0x20], rax
call fcn.1400a7914
nop
jmp 0x140021fd3
mov ecx, dword [rbp - 0x54]
mov r9d, 0x45
mov r10, qword [rbp + 0x148]
mov rdx, qword [rbp + 0x180]
jmp 0x140021f4b
lea rax, [rbx + 4]
cmp word [rax], r9w
jne 0x14005efa9
mov qword [rbp - 0x78], rax
mov ecx, r8d
mov rbx, rax
cmp word [rax + 2], r15w
je 0x14005ef8e
mov dword [rbp - 0x54], ecx
jmp 0x140021f5c
bts dword [rdx + 0x94], 0xb
jmp 0x140021f7d
mov r9d, 4
add rbx, r9
mov qword [rbp - 0x78], rbx
cmp word [rbx], r15w
jne 0x14005f029
lea edi, [r9 + 0x41]
cmp word [rbx + 2], di
jne 0x14005efe8
add rbx, r9
mov qword [rbp - 0x78], rbx
cmp word [rbx], r15w
je 0x14005efd5
mov edi, dword [rbp - 0x58]
jmp 0x14005f023
cmp word [rbx + 2], 0x51
jne 0x14005f029
add rbx, r9
mov qword [rbp - 0x78], rbx
cmp word [rbx], r15w
jne 0x14005f0fb
mov r15d, 0x45
cmp word [rbx + 2], r15w
mov r15d, 0x5c
jne 0x14005f0fb
add rbx, r9
mov qword [rbp - 0x78], rbx
cmp word [rbx], r15w
je 0x14005efed
mov r15d, 1
cmp word [rbx], r8w
je 0x14005f1c9
test ecx, ecx
jne 0x14005f04b
lea r9d, [rcx + 0x5d]
cmp word [rbx], r9w
je 0x14005f1c9
movzx r8d, word [rbx]
mov dword [rbp - 0x28], r8d
test r11d, r11d
je 0x14005f098
mov r9d, 0xfc00
mov eax, r8d
and eax, r9d
mov r9d, 0xd800
cmp eax, r9d
jne 0x14005f098
add rbx, 2
mov r9d, 0x3ff
movzx eax, word [rbx]
and r8d, r9d
mov qword [rbp - 0x78], rbx
and eax, r9d
shl r8d, 0xa
or r8d, eax
add r8d, 0x10000
mov dword [rbp - 0x28], r8d
test ecx, ecx
jne 0x14005f185
lea eax, [rcx + 0x5c]
cmp r8d, eax
jne 0x14005f147
mov r9d, dword [rdx + 0x70]
mov dword [rsp + 0x28], r15d
mov r15d, dword [rbp - 0x70]
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x78]
mov r8, r10
mov dword [rsp + 0x20], r15d
call fcn.140023088
mov r10, qword [rbp + 0x148]
xor ecx, ecx
cmp dword [r10], ecx
jne 0x14005f530
mov rbx, qword [rbp - 0x78]
test eax, eax
je 0x14005f10c
mov ecx, 5
cmp eax, ecx
jne 0x14005f5f9
lea r8d, [rcx + 3]
jmp 0x14005f110
mov r15d, 1
mov ecx, r15d
mov dword [rbp - 0x54], ecx
jmp 0x14005f02f
mov r8d, dword [rbp - 0x28]
mov r11d, dword [rbp - 0x80]
mov ecx, dword [rbp - 0x54]
cmp r8d, esi
jb 0x14005f602
je 0x140021f90
mov eax, reloc.WSOCK32.dll_listen
lea r12d, [rax - 0xb]
cmp r8d, eax
je 0x14005f18b
lea eax, [r12 + 8]
cmp r8d, eax
je 0x14005f18b
mov rax, qword [rbp + 0x180]
jmp 0x14005f19a
cmp r8d, 0x5b
jne 0x14005f185
lea eax, [r8 - 0x1e]
cmp word [rbx + 2], ax
ja 0x14005f185
movzx eax, word [rbx + 2]
movabs rdx, 0x2400400000000000
bt rdx, rax
jae 0x14005f185
lea rdx, [rbp + 0x40]
mov rcx, rbx
call fcn.1400a7d74
test eax, eax
jne 0x14005f5f9
mov r15d, dword [rbp - 0x70]
jmp 0x14005f114
mov r15d, dword [rbp - 0x70]
jmp 0x14005f117
mov rax, qword [rbp + 0x180]
bts dword [rax + 0x94], 0xb
mov dword [rsp + 0x28], r8d
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x48]
mov r9, rax
mov r8d, r15d
mov dword [rsp + 0x20], esi
call fcn.1400221d0
mov rbx, qword [rbp - 0x78]
mov r15, qword [rbp - 0x30]
add r13d, eax
mov r10, r12
jmp 0x140021fe1
mov rbx, rax
mov qword [rbp - 0x78], rax
jmp 0x140021f90
test rdx, rdx
je 0x14005f1f1
lea rbx, [r10 + rdx]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x78], rbx
movzx esi, word [rbx]
test esi, esi
jne 0x140022004
mov ecx, 6
mov rax, qword [rbp + 0x148]
mov dword [rax], ecx
jmp 0x14005f612
mov r12d, dword [rbp - 0x38]
mov r13d, dword [rbp - 0x20]
add rbx, r10
mov qword [rbp - 0x78], rbx
mov ebx, dword [rbp - 0x50]
xor r14d, r14d
mov dword [rbp], r12d
mov dword [rbp - 0x10], r13d
test ebx, ebx
je 0x14005f327
mov r9d, dword [rbp - 0x60]
mov edi, dword [rbp - 0x80]
mov r10d, dword [rbp - 0x14]
mov r8d, dword [rbp - 0x70]
cmp r9d, 0xfffffffe
lea ecx, [r14 - 1]
cmove r9d, ecx
mov dword [rbp + 4], r10d
mov dword [rbp - 0x60], r9d
mov dword [rbp - 0x1c], r9d
test edi, edi
je 0x14005f2bf
test al, r8b
je 0x14005f2bf
mov eax, esi
mov ecx, 0x80
lea r10, [0x140000000]
cdq
idiv ecx
movsxd rcx, eax
movsxd rax, edx
movzx r8d, byte [rcx + r10 + 0xc9600]
shl r8, 7
add r8, rax
movzx eax, word [r10 + r8*2 + 0xbb300]
mov r8d, dword [rbp - 0x70]
movzx ecx, byte [r10 + rax*8 + 0xb85e3]
test ecx, ecx
je 0x14005f2bf
mov r11, qword [rbp - 0x68]
lea eax, [r14 + 0xf]
mov word [r11], ax
lea edx, [rax - 0xd]
add r11, rdx
lea eax, [rdx + 7]
mov word [r11], ax
add r11, rdx
mov word [r11], cx
add r11, rdx
jmp 0x14005f316
mov r11, qword [rbp - 0x68]
mov al, r8b
mov r10d, 2
and al, 1
neg al
sbb edx, edx
neg edx
add edx, 0x1f
mov word [r11], dx
add r11, r10
test edi, edi
je 0x14005f30f
cmp esi, 0xffff
jbe 0x14005f30f
mov rdx, r11
mov ecx, esi
call fcn.1400a90bc
mov rbx, qword [rbp - 0x78]
mov r15, qword [rbp - 0x48]
mov r8d, dword [rbp - 0x70]
mov edx, eax
lea r11, [r11 + rdx*2]
mov qword [rbp - 0x68], r11
jmp 0x1400216a4
mov word [r11], si
add r11, r10
mov rbx, qword [rbp - 0x78]
mov r15, qword [rbp - 0x48]
mov qword [rbp - 0x68], r11
jmp 0x1400216a4
test r11d, r11d
je 0x14005de79
cmp esi, 0xffff
jbe 0x14005de79
lea rdx, [rbp + 0x80]
mov ecx, esi
call fcn.1400a90bc
movzx esi, word [rbp + 0x80]
mov r14d, dword [rbp - 0x80]
mov edi, eax
mov eax, 1
jmp 0x14005de86
movzx eax, word [rbp + 0x82]
mov ecx, 0x3ff
and eax, ecx
and ecx, edx
shl ecx, 0xa
mov edx, eax
or edx, ecx
add edx, 0x10000
jmp 0x1400215a8
or r12d, 0xffffffff
mov dword [rbp - 0x1c], r12d
mov r9d, r12d
mov dword [rbp - 0x60], r12d
jmp 0x14002192e
mov rax, qword [rbp + 0x180]
bts dword [rax + 0x94], 0xb
jmp 0x140021661
cmp dword [rbp + 0xc], r14d
je 0x140022104
mov dword [rbp - 0x20], ecx
mov r9d, ecx
mov dword [rbp - 0x60], ecx
jmp 0x14002169d
mov eax, dword [rax + 0x98]
jmp 0x140021692
cmp dword [rbp + 0xc], r14d
jne 0x14002192e
jmp 0x140021689
test edi, edi
je 0x14005f3ec
bt r8d, 0x1d
jae 0x1400220af
mov rdi, qword [rbp - 0x68]
mov ebx, dword [rbp - 0x50]
mov eax, WSACleanup
lea edx, [rax - 0x6c]
mov word [r15], si
mov word [rdi], ax
add rdi, rdx
add r15, r10
test ebx, ebx
mov eax, esi
setne al
mov word [rdi], ax
test r14d, r14d
je 0x14005f41d
or ax, dx
mov word [rdi], ax
test r13d, r13d
jle 0x14005e6bb
or word [rdi], r10w
add rdi, r10
mov r8, r15
sub r8, rdi
lea rcx, [rdi + 0x20]
mov rdx, rdi
and r8, 0xfffffffffffffffe
call fcn.140024af0
test ebx, ebx
je 0x14005f45e
test r14d, r14d
jne 0x14005f45e
lea rdx, [rbp + 0x48]
lea r8d, [r14 + 0x20]
not byte [rdx]
add rdx, r12
sub r8, r12
jne 0x14005f454
lea rdx, [rbp + 0x48]
mov r8d, reloc.OLEAUT32.dll_RegisterActiveObject
mov rcx, rdi
call fcn.140024af0
mov r9d, dword [rbp - 0x60]
lea r11, [r15 + 0x20]
mov qword [rbp - 0x68], r11
jmp 0x14005e6c2
lea rcx, [rbp + 0x48]
mov edx, reloc.OLEAUT32.dll_RegisterActiveObject
not byte [rcx]
add rcx, r12
sub rdx, r12
jne 0x14005f48a
jmp 0x140022127
mov dword [r10], reloc.WSOCK32.dll_sendto
jmp 0x14005f612
mov rax, qword [rbp + 0x148]
mov dword [rax], 0x3b
jmp 0x14005f612
mov rax, qword [rbp + 0x148]
mov dword [rax], 0x42
jmp 0x14005f612
mov rax, qword [rbp + 0x148]
mov dword [rax], 0x3c
jmp 0x14005f612
mov eax, 0x3c
jmp 0x14005f4e7
mov eax, CreateStdDispatch
mov dword [r10], eax
jmp 0x14005f612
mov eax, SafeArrayDestroyData
jmp 0x14005f4e7
mov eax, CreateStdDispatch
jmp 0x14005f4e7
mov dword [r10], 0x54
jmp 0x14005f612
mov eax, reloc.OLEAUT32.dll_SafeArrayRedim
jmp 0x14005f4e7
mov ecx, 0x2b
jmp 0x14005f1f6
mov rax, qword [rbp + 0x148]
mov dword [rax], reloc.WSOCK32.dll_setsockopt
jmp 0x14005f530
mov dword [r10], VarR8FromUI1
mov rbx, qword [rbp - 0x78]
jmp 0x14005f612
mov dword [r10], gethostbyname
jmp 0x14005f612
mov eax, 0x2a
jmp 0x14005f4e7
mov dword [r10], reloc.WSOCK32.dll_sendto
jmp 0x14005f619
mov rax, qword [rbp + 0x148]
mov dword [rax], reloc.WSOCK32.dll_sendto
jmp 0x14005f612
mov rax, qword [rbp + 0x148]
sub rbx, r15
mov dword [rax], reloc.WSOCK32.dll_ioctlsocket
jmp 0x14005f612
mov dword [rsi], gethostname
jmp 0x14005f530
mov eax, CreateStdDispatch
mov dword [rsi], eax
jmp 0x14005f530
mov dword [rsi], reloc.WSOCK32.dll_sendto
jmp 0x14005f612
mov dword [rsi], ntohs
jmp 0x14005f612
mov rax, qword [rbp + 0x148]
mov dword [rax], edi
jmp 0x14005f612
mov eax, 0x3a
jmp 0x14005f4e7
mov dword [r10], edx
jmp 0x14005f612
mov dword [r10], edi
jmp 0x14005f612
mov rax, qword [rbp + 0x148]
mov ecx, reloc.WSOCK32.dll_ntohs
mov dword [rax], ecx
jmp 0x14005f530
mov rax, qword [rbp + 0x148]
mov dword [rax], CreateStdDispatch
jmp 0x14005f612
mov rax, qword [rbp + 0x148]
mov dword [rax], reloc.OLEAUT32.dll_CreateStdDispatch
jmp 0x14005f612
mov dword [r10], 7
jmp 0x14005f612
mov dword [r10], 0x53
jmp 0x14005f612
mov dword [r10], 8
jmp 0x14005f612
mov dword [r10], reloc.WSOCK32.dll_gethostbyname
mov rdx, qword [rbp + 0x140]
mov qword [rdx], rbx
xor eax, eax
jmp 0x140021741