Function at 0x1400216f0
Capabilities:
Authenticate hmac
Encrypt data using speck
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf8]
sub rsp, 0x1f8
mov r14, qword [rdx]
mov r11d, dword [rcx]
mov rbx, qword [r8]
xor esi, esi
mov dword [rbp - 0x70], r11d
mov qword [rbp - 0x60], r14
mov ecx, esi
mov edx, esi
mov r8, r14
mov dword [rbp - 0x24], esi
mov dword [rbp - 8], esi
mov dword [rbp + 0x38], esi
mov dword [rbp + 0x1c], esi
mov qword [rbp + 0xa8], r14
mov qword [rbp + 0xa0], r14
mov r9d, esi
mov dword [rbp - 0x6c], esi
mov dword [rbp + 0x48], esi
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], rbx
mov qword [rbp + 0x28], rcx
mov r13d, esi
mov qword [rbp - 0x48], rsi
mov qword [rbp + 0x50], rdx
mov qword [rbp - 0x10], rsi
lea eax, [rsi + 1]
bt r11d, 0xb
jae 0x140022837
mov dword [rbp - 0x68], eax
bt r11d, 9
jb 0x140021791
mov eax, esi
mov dword [rbp + 0x30], eax
xor eax, 1
mov r12d, 0xfffffffe
mov dword [rbp + 0x8c], eax
movsx eax, r11b
mov r15d, esi
and eax, 1
mov dword [rbp - 0x28], esi
mov dword [rbp + 8], esi
mov dword [rbp + 0x18], eax
mov eax, dword [rbp + 0x150]
mov dword [rbp - 0x20], esi
mov dword [rbp - 0x1c], esi
mov dword [rbp - 0x50], r12d
mov dword [rbp - 0x18], r12d
mov qword [rbp + 0x10], rax
mov dword [rbp - 0x3c], r12d
mov dword [rbp - 0x58], r12d
mov edi, 0x7fffffeb
mov dword [rbp + 0xbc], 0xff
mov dword [rbp + 0xb4], 0xdc00
nop
movzx ebx, word [rbx]
test ebx, ebx
je 0x140021cc9
mov r10, qword [rbp + 0x190]
mov rsi, qword [rbp + 0x198]
movsxd rcx, dword [r10 + 0x6c]
mov rax, qword [r10 + 0x20]
add rcx, 0xffffffffffffff9c
lea rcx, [rax + rcx*2]
test rsi, rsi
je 0x1400219e6
cmp r14, rcx
ja 0x14005ee03
cmp r14, r8
jb 0x14005b99e
mov edx, dword [rsi]
mov eax, edi
mov rcx, r14
sub eax, edx
sub rcx, r8
cdqe
sar rcx, 1
cmp rax, rcx
jl 0x14005eb8a
lea eax, [rdx + rcx]
mov dword [rsi], eax
test r13, r13
je 0x140021b85
mov rcx, qword [rbp + 0xa0]
cmp r13, rcx
jbe 0x1400218b0
mov r8, r14
mov rdx, r13
sub r8, r13
and r8, 0xfffffffffffffffe
call fcn.140025100
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rbp - 0x78]
mov r11d, dword [rbp - 0x70]
mov r10, qword [rbp + 0x190]
mov r9d, dword [rbp - 0x6c]
sub r13, rcx
mov qword [rbp - 0x48], rcx
mov qword [rbp - 0x80], rax
sar r13, 1
neg r13
lea r14, [r14 + r13*2]
mov r13, rcx
mov qword [rbp - 0x60], r14
mov rdx, qword [rbp + 0x50]
mov r8, r14
mov qword [rbp + 0xa8], r14
test r9d, r9d
jne 0x14005b9aa
mov edi, r11d
and edi, 8
mov dword [rbp - 0x30], edi
jne 0x14005ba3d
lea eax, [rbx - 0x2a]
cmp eax, 1
jbe 0x140021d08
cmp ebx, 0x3f
je 0x140021d08
cmp ebx, 0x7b
je 0x14005bb86
mov rcx, qword [rbp + 0x50]
xor eax, eax
mov edx, eax
test rcx, rcx
jne 0x14005bba0
mov rax, qword [rbp - 0x80]
bt r11d, 0xe
jb 0x14005bbe8
cmp ebx, 0x5f
jae 0x1400219f5
cmp ebx, 0x2f
jae 0x140021b77
cmp ebx, 0x28
je 0x140021b91
test ebx, ebx
je case.0x14002195f.37
lea eax, [rbx - 0x24]
cmp eax, 0x58
ja case.0x14002195f.47
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax + 0x22908]
mov ecx, dword [rcx + rax*4 + 0x228d8]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
mov rax, qword [rbp + 0x160]
mov ecx, dword [rbp - 0x1c]
mov rdx, qword [rbp + 0x150]
mov dword [rax], ecx
mov rax, qword [rbp + 0x168]
mov ecx, dword [rbp - 0x58]
mov dword [rax], ecx
mov rax, qword [rbp + 0x170]
mov ecx, dword [rbp - 0x20]
mov dword [rax], ecx
mov rax, qword [rbp + 0x178]
mov ecx, dword [rbp - 0x3c]
mov dword [rax], ecx
mov rax, qword [rbp + 0x148]
mov qword [rax], r14
mov rax, qword [rbp - 0x80]
mov qword [rdx], rax
test rsi, rsi
je 0x1400219cd
mov ecx, dword [rsi]
mov eax, 0x7fffffeb
sub r14, r8
sub eax, ecx
sar r14, 1
cdqe
cmp rax, r14
jl 0x14005ec17
add ecx, r14d
mov dword [rsi], ecx
mov eax, 1
add rsp, 0x1f8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp qword [r10 + 0x40], rcx
jbe 0x1400218be
jmp 0x14005ee03
cmp ebx, 0x7b
jae 0x14002191d
mov r15d, dword [rbp - 0x68]
mov esi, 1
movzx edi, bx
mov word [rbp + 0x90], bx
test r15d, r15d
je 0x140021a2a
mov edx, 0xfc00
mov ecx, 0xd800
and ebx, edx
cmp ebx, ecx
je 0x14005d6bb
cmp dword [rbp - 0x68], 0
mov r13, r14
mov qword [rbp - 0x48], r14
je 0x140021aa2
test r11b, 1
je 0x140021cfe
mov ecx, 0xfc00
movzx edx, di
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
je 0x14005d6ec
mov eax, edx
lea r8, [0x140000000]
cdq
and edx, 0x7f
add eax, edx
mov ecx, eax
and eax, 0x7f
sub eax, edx
sar ecx, 7
movsxd rcx, ecx
cdqe
movzx edx, byte [rcx + r8 + 0xc6290]
shl rdx, 7
add rdx, rax
movzx eax, word [r8 + rdx*2 + 0xb9780]
movzx ecx, byte [r8 + rax*8 + 0xb6663]
test ecx, ecx
jne 0x140021cd7
test r11b, 1
je 0x140021cfe
mov eax, CreateStdDispatch
mov word [r14], ax
add r14, 2
mov qword [rbp - 0x60], r14
test esi, esi
je 0x140021ae4
mov r8d, esi
lea rdx, [rbp + 0x90]
mov rcx, r14
add r8, r8
mov ebx, esi
call fcn.140025100
mov r11d, dword [rbp - 0x70]
lea r14, [r14 + rbx*2]
mov qword [rbp - 0x60], r14
cmp di, 0xd
je 0x14005d720
cmp di, 0xa
je 0x14005d720
mov r10, qword [rbp + 0x190]
mov edx, dword [rbp - 0x58]
mov r12d, dword [rbp - 0x3c]
mov dword [rbp - 0x50], r12d
cmp edx, 0xfffffffe
je 0x140021fa4
mov r9d, dword [rbp - 0x1c]
mov r15d, dword [rbp - 0x20]
mov dword [rbp - 0x18], edx
mov dword [rbp + 8], r9d
mov dword [rbp - 0x28], r15d
cmp esi, 1
jne 0x14005d76b
mov edi, dword [r10 + 0x98]
movzx eax, word [r14 - 2]
mov rbx, qword [rbp - 0x78]
or edi, dword [rbp + 0x18]
mov dword [rbp - 0x20], eax
mov dword [rbp - 0x3c], edi
mov r9d, dword [rbp - 0x6c]
mov edi, 0x7fffffeb
mov r15d, dword [rbp - 0x28]
mov r8, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x28]
add rbx, 2
xor esi, esi
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], rbx
jmp 0x1400217f0
cmp ebx, 0x3f
jb 0x1400219fe
jmp 0x140021926
mov r14, qword [rbp + 0xa0]
jmp 0x1400218ac
mov rdi, qword [r10 + 0x40]
mov rdx, qword [rbp - 0x80]
xor eax, eax
add rdx, 2
mov qword [rbp - 0x10], rdi
xor edi, edi
mov qword [rbp - 0x80], rdx
mov qword [rbp - 0x78], rdx
movzx edx, word [rdx]
mov r8, qword [rbp - 0x80]
mov ebx, r11d
mov r9d, eax
mov dword [rbp - 0x4c], eax
mov r13d, 0x85
mov r10d, edi
mov dword [rbp - 0x54], edi
cmp dx, 0x2a
je 0x14005d77a
mov r15, qword [rbp + 0x190]
cmp dx, 0x3f
jne 0x140022275
add r8, 2
mov qword [rbp - 0x80], r8
mov qword [rbp - 0x78], r8
movzx r8d, word [r8]
mov eax, r8d
cmp r8d, 0x53
jl 0x14005da2f
cmp eax, 0x7c
jge 0x14005da2f
mov eax, edi
mov ebx, edi
lea rdx, [rbp - 0x30]
mov dword [rbp - 0x38], eax
mov dword [rbp - 0x30], ebx
cmp r8w, 0x29
je 0x140021c5b
cmp r8w, 0x3a
je 0x140021c55
mov rbx, qword [rbp - 0x80]
movzx eax, r8w
add rbx, 2
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], rbx
cmp eax, 0x69
jne 0x14005ea10
or dword [rdx], 1
mov rax, qword [rbp - 0x80]
movzx r8d, word [rax]
cmp r8w, 0x29
jne 0x140021c1f
mov ebx, dword [rbp - 0x30]
mov eax, dword [rbp - 0x38]
mov rcx, qword [rbp - 0x80]
or ebx, r11d
not eax
and ebx, eax
cmp word [rcx], 0x29
jne 0x14005dad0
mov rax, qword [r15 + 0x28]
add rax, 4
cmp r14, rax
je 0x14005ea85
mov ecx, 1
bt ebx, 9
jb 0x1400228a9
mov eax, edi
mov dword [rbp + 0x30], eax
xor eax, 1
mov dword [rbp + 0x8c], eax
test bl, 1
je 0x1400228b3
mov dword [rbp + 0x18], ecx
mov rax, qword [rbp + 0x140]
mov r11d, ebx
mov dword [rbp - 0x70], ebx
mov dword [rax], ebx
mov rbx, qword [rbp - 0x80]
mov r13, rdi
mov qword [rbp - 0x48], rdi
jmp 0x140021b48
test rcx, rcx
je 0x1400217fb
jmp 0x14005b98a
mov dword [r14], 0x90010
mov word [r14 + 4], cx
add r14, 6
cmp dword [rbp - 0x58], 0xfffffffe
mov qword [rbp - 0x60], r14
je 0x14005d712
mov rbx, qword [rbp - 0x78]
jmp 0x140021b48
mov eax, CreateStdDispatch
jmp 0x140021ab1
mov edx, 1
jmp 0x140021905
mov rbx, qword [rbp - 0x80]
lea rdx, str._:_:__
mov r8d, 6
lea rcx, [rbx + 2]
call fcn.140022a04
test eax, eax
je 0x14005bcbb
lea rdx, [0x1400a9458]
lea rcx, [rbx + 2]
mov r8d, 6
call fcn.140022a04
test eax, eax
je 0x14005bcd3
movzx eax, word [rbx + 2]
mov r13, r14
mov qword [rbp - 0x48], r14
cmp ax, 0x3d
jbe 0x140022482
mov rax, qword [rbp - 0x80]
xor r11d, r11d
mov esi, r11d
mov dword [rbp - 0x4c], r11d
mov ecx, 1
add rax, 2
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x80], rax
movzx edi, word [rax]
cmp edi, 0x5c
je 0x14002278d
test esi, esi
jne 0x140021d9f
cmp edi, 0x5e
je 0x140022851
cmp edi, 0x5d
je 0x14005bd24
xor ebx, ebx
lea rcx, [rbp + 0x68]
xor edx, edx
lea r8d, [rbx + 0x20]
mov dword [rbp - 0x54], r11d
mov r13d, ebx
mov r12d, ebx
call fcn.140025970
lea r15, [r14 + 6]
mov rcx, r15
mov dword [rbp - 0x50], ebx
mov qword [rbp - 0x38], r15
mov qword [rbp - 0x30], rcx
test edi, edi
je 0x1400228cc
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x80], rax
mov esi, dword [rbp - 0x68]
test esi, esi
je 0x140021e08
mov eax, edi
mov edx, 0xfc00
mov r8d, 0xd800
and eax, edx
cmp eax, r8d
mov rax, qword [rbp - 0x80]
je 0x14005bd76
mov r9, qword [rbp + 0x198]
mov r14d, 1
test r9, r9
je 0x140021e23
cmp r15, rcx
ja 0x14005bdb8
cmp dword [rbp - 0x6c], 0
jne 0x14005bdd1
cmp edi, 0x5b
je 0x14005bdf3
cmp edi, 0x5c
je 0x1400227c3
mov rcx, qword [rbp - 0x80]
mov r10, qword [rbp + 0x190]
mov r11d, dword [rbp - 0x70]
cmp word [rcx + 2], 0x5c
mov r9d, dword [rbp - 0x6c]
je 0x14005c353
cmp edi, 0xd
je 0x14005c37c
cmp edi, 0xa
je 0x14005c37c
test r9d, r9d
jne 0x140021e83
mov rax, qword [rbp - 0x80]
cmp word [rax + 2], 0x2d
je 0x1400225d0
mov rcx, qword [rbp - 0x80]
cmp r12d, 2
jl 0x140021f9c
cmp r12d, 1
je 0x1400220d9
mov dword [rsp + 0x28], edi
lea rdx, [rbp - 0x38]
lea rcx, [rbp + 0x68]
mov r9, r10
mov r8d, r11d
mov dword [rsp + 0x20], edi
call fcn.140022964
mov r15, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x78]
add r13d, eax
xor ebx, ebx
mov edx, dword [rbp - 0x6c]
mov r9, qword [rbp + 0x198]
mov qword [rbp - 0x80], rcx
mov rdi, rcx
mov rcx, qword [rbp - 0x30]
mov r8d, 1
mov esi, dword [rbp - 0x70]
add rdi, 2
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x78], rdi
movzx edi, word [rdi]
test edi, edi
je 0x14005c512
mov rax, qword [rbp - 0x80]
cmp edi, 0x5d
jne 0x140021de5
test edx, edx
jne 0x14002286d
cmp r15, rcx
ja 0x140022876
mov edx, dword [rbp - 0x50]
mov eax, dword [rbp - 0x58]
cmp eax, 0xfffffffe
jne 0x140021f27
or eax, 0xffffffff
mov dword [rbp - 0x58], eax
mov ecx, dword [rbp - 0x1c]
mov r8d, dword [rbp - 0x20]
mov r12d, dword [rbp - 0x3c]
mov ebx, dword [rbp - 0x54]
mov dword [rbp + 8], ecx
mov dword [rbp - 0x28], r8d
mov dword [rbp - 0x50], r12d
mov dword [rbp - 0x18], eax
test edx, edx
jne 0x14005c69e
mov esi, dword [rbp - 0x4c]
cmp esi, ebx
jne 0x14002287e
mov eax, WSAGetLastError
mov r14, qword [rbp - 0x60]
mov word [r14], ax
test r9, r9
jne 0x140021f83
test esi, esi
jne 0x14005c735
lea rdx, [rbp + 0x68]
lea rcx, [r14 + 2]
mov r8d, reloc.OLEAUT32.dll_RegisterActiveObject
call fcn.140025100
mov rbx, qword [rbp - 0x78]
add r14, 0x22
mov qword [rbp - 0x60], r14
mov r13, qword [rbp - 0x48]
mov r11d, dword [rbp - 0x70]
jmp 0x140021b48
inc r12d
jmp 0x140021e91
mov r8d, dword [rbp - 0x20]
or eax, 0xffffffff
mov dword [rbp - 0x28], r8d
mov dword [rbp - 0x18], eax
cmp esi, 1
jne 0x14005d737
movzx eax, di
mov dword [rbp - 0x1c], eax
mov eax, dword [rbp + 0x18]
mov dword [rbp - 0x58], eax
cmp esi, 1
je 0x140021cf5
jmp 0x14005d750
mov rax, qword [rbp - 0x80]
mov rdi, qword [rbp + 0x158]
mov r9d, dword [r10 + 0x70]
xor r15d, r15d
lea rdx, [rbp + 0x58]
lea rcx, [rbp - 0x78]
mov r8, rdi
mov dword [rsp + 0x28], r15d
mov qword [rbp + 0x60], rax
mov dword [rsp + 0x20], r11d
call fcn.140022ee4
movsxd rbx, eax
cmp dword [rdi], r15d
jne 0x1400228c3
test eax, eax
je 0x14002256b
cmp ebx, 0x1a
je 0x14005d485
cmp ebx, 0x19
je 0x14002285b
mov edx, dword [rbp - 0x58]
cmp edx, 0xfffffffe
jne 0x140022043
lea eax, [rbx - 6]
cmp eax, 0x10
ja 0x140022043
or eax, 0xffffffff
mov edx, eax
mov dword [rbp - 0x58], eax
mov eax, dword [rbp - 0x1c]
mov r8d, dword [rbp - 0x20]
mov r12d, dword [rbp - 0x3c]
mov dword [rbp + 8], eax
mov dword [rbp - 0x28], r8d
mov dword [rbp - 0x50], r12d
mov dword [rbp - 0x18], edx
cmp ebx, 0x1b
je 0x14005d4b4
cmp ebx, 0x1c
je 0x14005d564
test ebx, ebx
js 0x14005d5e0
lea eax, [rbx - 0xf]
cmp eax, 1
jbe 0x14005d647
cmp ebx, 1
je 0x14005d5ef
lea eax, [rbx - 4]
cmp eax, 1
jbe 0x14005d5ef
lea eax, [rbx - 0x1d]
cmp eax, 5
jbe 0x14005d60d
lea eax, [rbx - 6]
cmp eax, 0x10
ja 0x1400228a1
mov r13, r14
mov qword [rbp - 0x48], r13
cmp dword [rbp - 0x68], r15d
je 0x14005d634
mov r11d, dword [rbp - 0x70]
mov word [r14], bx
mov rbx, qword [rbp - 0x78]
add r14, 2
mov qword [rbp - 0x60], r14
jmp 0x140021b48
cmp word [rcx + 2], 0x5d
jne 0x140021e9b
jmp 0x14005c54c
xor esi, esi
or eax, 0xffffffff
mov dword [rbp - 0x24], esi
mov r8d, esi
mov rbx, qword [rbp - 0x80]
mov r9d, eax
mov dword [rbp - 0x54], eax
mov dword [rbp - 8], eax
test r13, r13
je 0x14005ec05
test r8d, r8d
jne 0x140022888
mov eax, dword [rbp + 8]
mov edx, r12d
mov dword [rbp - 0x20], r15d
mov dword [rbp - 0x1c], eax
mov eax, dword [rbp - 0x18]
mov dword [rbp - 0x3c], edx
mov dword [rbp - 0x58], eax
cmp r8d, r9d
je 0x140022890
mov eax, 2
mov dword [rbp - 0x30], eax
mov r15, qword [rbp + 0x190]
mov r10d, esi
mov dword [rbp - 0x4c], esi
mov qword [rbp], r13
test edi, edi
jne 0x14005c7b3
movzx eax, word [rbx + 2]
lea rcx, [rbx + 2]
cmp ax, 0x2b
je 0x14005c8d5
cmp ax, 0x3f
jne 0x140022509
mov r13d, dword [rbp + 0x8c]
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x78], rcx
mov rbx, rcx
mov rsi, qword [rbp - 0x48]
cmp word [rsi], 0x75
je 0x14005c8f2
mov rdi, qword [rbp + 0x198]
movzx ecx, word [rsi]
lea eax, [rcx - 0x1d]
cmp ax, 3
jbe 0x14005d031
cmp cx, 0x17
jae 0x140022512
mov ebx, reloc.WSOCK32.dll_gethostbyname
movzx edi, cx
movzx eax, word [rsi]
mov rdx, qword [rbp - 0x48]
sub ax, 0xf
cmp ax, 1
jbe 0x14005d0f6
or eax, 0xffffffff
mov r14d, eax
mov esi, eax
mov rcx, qword [rbp - 0x60]
mov qword [rbp - 0x60], rdx
test r9d, r9d
je 0x140022898
add r13d, ebx
test r8d, r8d
jne 0x14005d137
cmp r9d, 0xffffffff
jne 0x14005d104
add r13w, 0x21
mov word [rdx], r13w
lea rbx, [rdx + 2]
mov r15d, dword [rbp - 0x68]
test r15d, r15d
je 0x14002221c
bt edi, 0x1c
jb 0x14005d28f
mov word [rbx], di
add rbx, 2
mov r15, qword [rbp + 0x190]
mov r13, qword [rbp - 0x10]
mov qword [rbp - 0x60], rbx
test esi, esi
jns 0x14005d2bd
mov rax, qword [rbp - 0x78]
mov r14, rbx
mov qword [rbp - 0x80], rax
mov esi, dword [rbp - 0x68]
xor ebx, ebx
test r10d, r10d
jne 0x14005d2e4
mov rcx, qword [rbp + 0x190]
mov rbx, qword [rbp - 0x80]
xor eax, eax
mov r13d, eax
mov qword [rbp - 0x48], rax
mov eax, dword [rbp - 0x30]
or dword [rcx + 0x98], eax
jmp 0x140021b48
bt r11d, 0xc
jb 0x14005ea9f
inc dword [r15 + 0x70]
movzx eax, word [r15 + 0x70]
mov r9d, 1
mov word [r14 + 4], ax
mov rcx, qword [rbp - 0x78]
mov qword [rbp - 0x80], rcx
mov ecx, r9d
xor r11d, r11d
inc dword [r15 + 0x88]
cmp dword [r15 + 0x88], 0xfa
jg 0x14005edf4
mov word [r14], r13w
mov esi, dword [r15 + 0x98]
mov edi, dword [r15 + 0x70]
mov r15, qword [rbp + 0x198]
lea rdx, [rbp + 0x1c]
mov eax, 0x87
test r15, r15
mov qword [rbp - 0x48], r14
mov qword [rbp], r14
cmove rdx, r11
mov dword [rbp + 0x1c], r11d
cmp r13d, eax
je 0x1400228bb
lea eax, [r13 - 0x7f]
mov r8d, r11d
cmp eax, 1
jbe 0x140022304
mov ecx, r11d
mov eax, dword [rbp + 0x188]
mov qword [rsp + 0x70], rdx
mov rdx, qword [rbp + 0x190]
mov qword [rsp + 0x68], rdx
mov rdx, qword [rbp + 0x180]
add eax, r8d
mov qword [rsp + 0x60], rdx
lea rdx, [rbp + 0x20]
lea r8, [rbp - 0x78]
mov qword [rsp + 0x58], rdx
lea rdx, [rbp + 0x5c]
mov qword [rsp + 0x50], rdx
lea rdx, [rbp + 0x34]
mov qword [rsp + 0x48], rdx
lea rdx, [rbp + 0x88]
mov qword [rsp + 0x40], rdx
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], r9d
mov r9, qword [rbp + 0x158]
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], ecx
lea rdx, [rbp]
mov ecx, ebx
call fcn.14002135c
test eax, eax
je 0x1400228c3
mov rcx, qword [rbp + 0x190]
mov r10d, 0x81
dec dword [rcx + 0x88]
cmp r13d, r10d
je 0x14005eaaa
lea eax, [r13 - 0x7d]
cmp eax, 3
jbe 0x14005eac4
mov eax, 0x87
xor r9d, r9d
cmp r13d, eax
je 0x14005eacf
mov eax, dword [rbp + 0x20]
mov ecx, dword [rbp + 0x34]
or r11d, 0xffffffff
mov rbx, qword [rbp - 0x78]
cmp word [rbx], 0x29
jne 0x14005ede5
test r15, r15
je 0x14002249b
mov r8d, dword [rbp + 0x1c]
mov edx, dword [r15]
mov edi, 0x7fffffeb
mov ecx, edi
lea eax, [r8 - 4]
sub ecx, edx
cmp ecx, eax
jl 0x14005ebf3
mov r11d, dword [rbp - 0x70]
mov r13, qword [rbp - 0x48]
mov r9d, dword [rbp - 0x6c]
lea eax, [r8 - 4]
add eax, edx
add r14, 8
mov dword [r15], eax
mov dword [r14 - 6], 0x780002
mov eax, 2
mov word [r14 - 2], ax
mov rbx, qword [rbp - 0x78]
mov qword [rbp - 0x60], r14
jmp 0x140021b51
mov eax, dword [rbp - 0x58]
cmp eax, 0xfffffffe
jne 0x14002243e
or eax, 0xffffffff
mov dword [rbp - 0x58], eax
mov ecx, dword [rbp - 0x1c]
mov r8d, dword [rbp - 0x20]
mov r12d, dword [rbp - 0x3c]
mov dword [rbp + 8], ecx
mov dword [rbp - 0x28], r8d
mov dword [rbp - 0x50], r12d
mov dword [rbp - 0x18], eax
mov r13, r14
mov qword [rbp - 0x48], r14
test r11b, 4
jne 0x14002283f
mov eax, reloc.WSOCK32.dll_ioctlsocket
mov word [r14], ax
add r14, 2
mov qword [rbp - 0x60], r14
mov rbx, qword [rbp - 0x78]
jmp 0x140021b4c
movabs rcx, 0x2400400000000000
bt rcx, rax
jae 0x140021d67
jmp 0x14005bceb
mov r14, qword [rbp]
mov edx, VariantChangeTypeEx
mov qword [rbp - 0x60], r14
cmp r13d, edx
je 0x140021f8f
mov edx, dword [rbp - 0x1c]
mov r8d, dword [rbp - 0x20]
mov r12d, dword [rbp - 0x3c]
mov dword [rbp + 8], edx
mov edx, dword [rbp - 0x58]
mov dword [rbp - 0x28], r8d
mov dword [rbp - 0x50], r12d
mov dword [rbp + 0x48], r9d
mov dword [rbp - 0x18], edx
cmp r13d, r10d
jl 0x14005eb59
cmp edx, 0xfffffffe
je 0x14005eb33
test ecx, ecx
jns 0x14002281a
test eax, eax
js 0x140021f8f
mov ecx, dword [rbp + 0x5c]
mov r13, qword [rbp - 0x48]
mov r11d, dword [rbp - 0x70]
mov dword [rbp - 0x20], ecx
mov dword [rbp - 0x3c], eax
jmp 0x140021b48
mov r13d, dword [rbp + 0x30]
jmp 0x140022181
lea eax, [rcx - 0x6e]
cmp ax, 6
ja 0x14002267b
test r9d, r9d
je 0x14005cfb3
test r8d, r8d
jne 0x14005cfbf
cmp r9d, 0xffffffff
je 0x1400225a6
cmp r9d, 1
jne 0x14005cfea
mov r15, qword [rbp + 0x190]
add r13w, 0x66
add r14, 2
mov word [r14 - 2], r13w
mov rax, qword [rbp - 0x78]
mov r13, qword [rbp - 0x10]
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x60], r14
jmp 0x140022245
mov edi, dword [rbp + 0x58]
cmp edi, 0xffff
ja 0x14005d457
mov r11d, dword [rbp - 0x70]
mov r9d, dword [rbp - 0x6c]
mov word [rbp + 0x90], di
mov esi, 1
jmp 0x140021a2a
xor esi, esi
lea eax, [rsi + 1]
jmp 0x1400220ee
mov rax, qword [rbp - 0x80]
jmp 0x1400219fe
add r13w, 0x62
add r14, 2
mov word [r14 - 2], r13w
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x80], rax
mov r13, qword [rbp - 0x10]
mov r15, qword [rbp + 0x190]
jmp 0x140022245
add rax, 4
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x80], rax
cmp word [rax], 0x5c
je 0x14005c38c
movzx eax, word [rax]
test ax, ax
je 0x140022864
test r9d, r9d
jne 0x140022601
cmp ax, 0x5d
je 0x140022864
movzx r8d, ax
mov dword [rbp - 0x28], r8d
test esi, esi
je 0x140022624
mov ecx, 0xfc00
mov eax, r8d
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
je 0x14005c3fb
mov rbx, qword [rbp - 0x80]
test r9d, r9d
jne 0x140022641
cmp r8d, 0x5c
je 0x14005c435
cmp r8d, 0x5b
je 0x14005c4b5
mov r14, qword [rbp + 0x158]
cmp r8d, edi
jb 0x14005ebe7
je 0x140021e83
mov r12d, 2
cmp r8d, 0xd
je 0x14005c502
cmp r8d, 0xa
je 0x14005c502
mov dword [rsp + 0x28], r8d
jmp 0x140021e9f
lea eax, [rcx - 0x7d]
cmp ax, 0xa
ja 0x14005cf93
sub r14, rsi
xor r12d, r12d
mov eax, 0x87
sar r14, 1
mov r15d, r12d
cmp cx, ax
je 0x14005c983
mov eax, 0x81
cmp cx, ax
jb 0x14005c99f
lea ecx, [rax - 0x80]
test r8d, r8d
jne 0x14005ca33
mov rcx, qword [rbp - 0x60]
mov r8d, dword [rbp - 0x68]
xor eax, eax
cmp r9d, 1
mov r9, qword [rbp + 0x190]
mov word [rcx], ax
mov rcx, rsi
jg 0x14005c9d4
mov rax, qword [rbp - 0x10]
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.14002458c
lea eax, [r14 + r14]
lea rbx, [rsi + 2]
movsxd r8, eax
mov rdx, rsi
mov rcx, rbx
call fcn.140025100
mov rcx, qword [rbp - 0x60]
mov r9d, dword [rbp - 0x54]
add rcx, 2
mov qword [rbp - 0x60], rcx
test r9d, r9d
je 0x14005c9be
mov eax, reloc.OLEAUT32.dll_VariantChangeTypeEx
mov rdx, rbx
mov qword [rbp - 0x48], rbx
add eax, r13d
mov r12, rsi
xor ebx, ebx
mov word [rsi], ax
mov rax, qword [rbp - 0x78]
mov r8d, dword [rbp - 0x24]
mov r10d, dword [rbp - 0x4c]
mov r11d, dword [rbp - 0x70]
dec r9d
mov qword [rbp - 0x80], rax
mov dword [rbp - 8], r9d
test r9d, r9d
js 0x14005ce02
test rdi, rdi
je 0x140022768
test r9d, r9d
jg 0x14005cbea
lea edi, [r9 - 1]
mov dword [rbp - 0x38], edi
test edi, edi
jns 0x14005cc37
mov r14, qword [rbp - 0x60]
test r15, r15
jne 0x14005cda6
mov r12d, dword [rbp - 0x50]
jmp 0x1400225c0
cmp word [rax + 2], 0x45
lea rcx, [rax + 2]
je 0x140022849
lea rdx, [0x1400ac7cc]
mov r8d, 3
call fcn.140022a04
test eax, eax
jne 0x140021da8
mov rax, qword [rbp - 0x80]
add rax, 6
jmp 0x140021d75
mov rax, qword [rbp + 0x190]
mov rdi, qword [rbp + 0x158]
mov esi, dword [rbp - 0x70]
mov r9d, dword [rax + 0x70]
lea rdx, [rbp + 0x58]
lea rcx, [rbp - 0x78]
mov r8, rdi
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], esi
call fcn.140022ee4
cmp dword [rdi], 0
movsxd rbx, eax
jne 0x1400228c3
test eax, eax
jne 0x14005c02a
mov rcx, qword [rbp - 0x78]
mov edi, dword [rbp + 0x58]
mov esi, dword [rbp - 0x68]
mov qword [rbp - 0x80], rcx
xor ebx, ebx
jmp 0x140021e43
test eax, eax
jns 0x1400224f3
mov eax, dword [rbp + 0x88]
mov dword [rbp + 0x5c], eax
mov eax, ecx
or eax, esi
mov dword [rbp + 0x20], eax
jmp 0x1400224eb
mov dword [rbp - 0x68], esi
jmp 0x140021788
mov eax, reloc.WSOCK32.dll_listen
jmp 0x14002246d
mov rax, rcx
jmp 0x140021d75
mov esi, ecx
mov dword [rbp - 0x4c], ecx
jmp 0x140021d7a
mov rbx, qword [rbp - 0x78]
jmp 0x140021f93
mov qword [rbp - 0x78], rcx
jmp 0x140021e87
mov rax, qword [rbp - 0x80]
jmp 0x140021de5
mov edx, r8d
jmp 0x140021f19
mov eax, reloc.WSOCK32.dll_WSAGetLastError
jmp 0x140021f5b
mov edx, dword [rbp - 0x3c]
jmp 0x140022129
mov dword [rbp - 0x30], esi
jmp 0x14002213a
mov r14, qword [rbp - 0x60]
jmp 0x140022253
mov r13, r15
jmp 0x1400220b2
mov eax, ecx
mov dword [rbp + 0x30], ecx
jmp 0x140021c95
mov dword [rbp + 0x18], edi
jmp 0x140021caa
mov r8d, ecx
jmp 0x140022301
mov rbx, qword [rbp - 0x78]
jmp 0x14005ee14
mov rbx, qword [rbp - 0x78]
jmp 0x14005c53a
mov qword [rbp - 0x78], rcx
movzx ebx, word [rcx]
mov qword [rbp - 0x80], rcx
mov qword [rbp + 0x28], rsi
jmp 0x1400217fb
mov r14, r8
mov qword [rbp - 0x60], r8
jmp 0x140021834
test ebx, ebx
je 0x1400218c7
mov rcx, qword [rbp - 0x80]
cmp ebx, 0x5c
jne 0x14005b9d6
cmp word [rcx + 2], 0x45
lea rax, [rcx + 2]
jne 0x14005b9d6
xor ecx, ecx
mov rbx, rax
mov r9d, ecx
mov dword [rbp - 0x6c], ecx
jmp 0x140021b51
test rdx, rdx
je 0x14005ba03
test rsi, rsi
jne 0x14005b9f7
mov eax, ecx
sub eax, dword [r10 + 0x30]
sar rax, 1
sub ax, word [rdx + 4]
mov word [rdx + 6], ax
mov rax, qword [rbp - 0x78]
jmp 0x14005b9fb
mov rax, qword [rbp - 0x80]
xor edx, edx
mov qword [rbp + 0x50], rdx
jmp 0x14005ba09
mov rax, qword [rbp - 0x80]
xor edx, edx
bt r11d, 0xe
jae 0x1400219fe
mov dword [r14], 0xff0076
sub eax, dword [r10 + 0x30]
mov word [r14 + 6], dx
sar rax, 1
mov qword [rbp + 0x50], r14
add r14, 8
mov word [r14 - 4], ax
mov rax, qword [rbp - 0x78]
jmp 0x1400219fe
mov eax, dword [rbp - 0x68]
mov ecx, 0xfc00
mov edx, 0xff
cmp ebx, edx
ja 0x14005ba77
mov rcx, qword [r10 + 0x18]
mov rdi, qword [rbp - 0x80]
test byte [rbx + rcx], 1
je 0x14005ba6b
add rdi, 2
mov qword [rbp - 0x78], rdi
movzx ebx, word [rdi]
cmp ebx, edx
jbe 0x14005ba56
mov eax, dword [rbp - 0x68]
mov qword [rbp - 0x80], rdi
mov ecx, 0xfc00
cmp ebx, 0x23
jne 0x14005bb6f
mov rbx, qword [rbp - 0x80]
add rbx, 2
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x80], rbx
movzx r8d, word [rbx]
test r8w, r8w
je 0x14005baec
mov edx, dword [r10 + 0xac]
test edx, edx
je 0x14005baf4
mov r8, qword [r10 + 0x38]
cmp rbx, r8
jae 0x14005bb2d
lea r9, [r10 + 0xb0]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140023978
mov r10, qword [rbp + 0x190]
test eax, eax
je 0x14005bb25
movsxd rax, dword [r10 + 0xb0]
mov ecx, 0xfc00
lea rbx, [rbx + rax*2]
mov eax, dword [rbp - 0x68]
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], rbx
mov edx, 0xff
movzx ebx, word [rbx]
jmp 0x14005ba4a
movsxd rdx, dword [r10 + 0xb0]
imul rcx, rdx, 0xfffffffffffffffe
add rcx, qword [r10 + 0x38]
cmp rbx, rcx
ja 0x14005bb25
cmp r8w, word [r10 + 0xb4]
jne 0x14005bb25
cmp edx, 1
je 0x14005bacc
movzx eax, word [r10 + 0xb6]
cmp word [rbx + 2], ax
je 0x14005bacc
mov eax, dword [rbp - 0x68]
mov ecx, 0xfc00
add rbx, 2
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], rbx
test eax, eax
je 0x14005bb5c
movzx eax, word [rbx]
mov edx, 0xdc00
and ax, cx
cmp ax, dx
mov eax, dword [rbp - 0x68]
jne 0x14005bb5c
add rbx, 2
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], rbx
movzx r8d, word [rbx]
test r8w, r8w
jne 0x14005ba9a
jmp 0x14005bae7
mov edi, dword [rbp - 0x30]
mov r11d, dword [rbp - 0x70]
mov r9d, dword [rbp - 0x6c]
mov r8, qword [rbp + 0xa8]
jmp 0x1400218d6
mov rcx, qword [rbp - 0x80]
add rcx, 2
call fcn.1400a7120
test eax, eax
jne 0x140021d08
jmp 0x1400218f4
cmp qword [rbp + 0x28], rax
jne 0x140021905
mov eax, dword [rbp + 0x38]
dec dword [rbp + 0x38]
test eax, eax
jg 0x140021905
test rsi, rsi
jne 0x14005bbd9
mov eax, dword [rbp - 0x80]
sub eax, dword [r10 + 0x30]
sar rax, 1
sub ax, word [rcx + 4]
mov word [rcx + 6], ax
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x80], rax
jmp 0x14005bbdd
mov rax, qword [rbp - 0x80]
xor ecx, ecx
mov qword [rbp + 0x50], rcx
jmp 0x140021909
test edx, edx
jne 0x140021914
cmp qword [rbp + 0x28], 0
jne 0x140021914
mov ecx, 0x76
mov qword [rbp + 0x50], r14
mov word [r14], cx
lea rcx, [r14 + 2]
mov r14d, 0xff
mov word [rcx], r14w
sub eax, dword [r10 + 0x30]
lea r14, [rcx + 6]
sar rax, 1
mov qword [rbp - 0x60], r14
mov word [rcx + 2], ax
xor eax, eax
mov word [rcx + 4], ax
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x80], rax
jmp 0x140021914
xor eax, eax
mov edi, 0x7fffffeb
mov r13d, eax
mov qword [rbp - 0x48], rax
test r11b, 2
je 0x14005bc66
mov eax, dword [rbp - 0x58]
mov ecx, 0xffffffff
cmp eax, 0xfffffffe
cmove eax, ecx
mov dword [rbp - 0x58], eax
lea eax, [rcx + 0x1d]
jmp 0x14005bc6b
mov eax, CreateStdDispatch
mov word [r14], ax
mov rbx, qword [rbp - 0x78]
add r14, 2
mov qword [rbp - 0x60], r14
jmp 0x140021b51
xor eax, eax
test r11b, 2
mov r13d, eax
mov qword [rbp - 0x48], rax
setne al
add eax, 0x19
jmp 0x14002246d
test dword [r10 + 0x90], 0x2000000
je case.0x14002195f.47
mov rax, qword [rbp + 0x158]
mov dword [rax], 0x40
jmp 0x14005ee10
lea rax, [rbx + 0xe]
lea rbx, str._b__w_
sub rbx, 2
mov qword [rbp + 0x28], rax
jmp 0x140021f93
lea rax, [rbx + 0xe]
lea rbx, str._b___w_
sub rbx, 2
mov qword [rbp + 0x28], rax
jmp 0x140021f93
mov rcx, qword [rbp - 0x80]
lea rdx, [rbp + 0x60]
call fcn.1400a6a18
test eax, eax
je 0x140021d67
mov rbx, qword [rbp - 0x80]
mov ecx, reloc.WSOCK32.dll_listen
mov eax, reloc.OLEAUT32.dll_CreateStdDispatch
cmp word [rbx + 2], 0x3a
cmove eax, ecx
mov rcx, qword [rbp + 0x158]
mov dword [rcx], eax
jmp 0x14005ee14
mov rdx, qword [rbp + 0x190]
test dword [rdx + 0x90], 0x2000000
je 0x140021da8
test esi, esi
mov ecx, reloc.WSOCK32.dll_listen
mov eax, 0x9d
cmovne eax, ecx
add r14, 2
mov ecx, 0xffffffff
mov word [r14 - 2], ax
mov eax, dword [rbp - 0x58]
mov qword [rbp - 0x60], r14
cmp eax, 0xfffffffe
cmove eax, ecx
mov ecx, dword [rbp - 0x1c]
mov dword [rbp + 8], ecx
mov dword [rbp - 0x58], eax
mov dword [rbp - 0x18], eax
jmp 0x14002285b
movzx edi, word [rax]
mov eax, edi
and eax, edx
cmp eax, r8d
mov rax, qword [rbp - 0x80]
jne 0x140021e08
add rax, 2
and edi, 0x3ff
mov qword [rbp - 0x80], rax
movzx eax, word [rax]
shl edi, 0xa
and eax, 0x3ff
or edi, eax
mov rax, qword [rbp - 0x80]
mov qword [rbp - 0x78], rax
add edi, 0x10000
jmp 0x140021e08
sub r15, rcx
mov dword [rbp - 0x50], r14d
mov qword [rbp - 0x38], rcx
sar r15, 1
add dword [r9], r15d
mov r15, rcx
jmp 0x140021e23
cmp edi, 0x5c
jne 0x140021e3f
cmp word [rax + 2], 0x45
jne 0x140021e3f
mov edx, ebx
mov dword [rbp - 0x6c], ebx
lea rdi, [rax + 2]
jmp 0x140021ed8
mov rcx, qword [rbp - 0x80]
movzx r8d, word [rcx + 2]
cmp r8w, 0x3d
ja 0x140021e43
movabs rdx, 0x2400400000000000
bt rdx, r8
jae 0x140021e43
lea rdx, [rbp + 0x60]
call fcn.1400a6a18
test eax, eax
je 0x140021e3f
mov rax, qword [rbp + 0x190]
mov esi, ebx
mov rdi, qword [rax + 0x10]
cmp r8w, 0x3a
jne 0x14005ebae
mov rcx, qword [rbp - 0x80]
add rcx, 4
mov qword [rbp - 0x78], rcx
mov qword [rbp - 0x80], rcx
cmp word [rcx], 0x5e
jne 0x14005be6d
add rcx, 2
mov esi, r14d
mov dword [rbp - 0x54], r14d
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x78], rcx
mov r14, qword [rbp + 0x60]
mov rdx, r14
sub rdx, rcx
sar rdx, 1
call fcn.1400a6994
mov edx, eax
test eax, eax
js 0x14005eb9c
mov eax, dword [rbp - 0x70]
test al, 1
je 0x14005be96
cmp edx, 2
cmovle edx, ebx
lea r11, [0x140000000]
bt eax, 0x1d
jae 0x14005bf1d
mov eax, esi
neg eax
sbb rcx, rcx
and ecx, 0xe
lea eax, [rcx + rdx]
movsxd rcx, eax
mov rax, qword [r11 + rcx*8 + 0xcc490]
test rax, rax
je 0x14005bed1
lea rcx, [r14 + 2]
mov qword [rbp + 0x28], rcx
lea rcx, [rax - 2]
jmp 0x140021ec3
mov ecx, edx
sub ecx, 8
je 0x14005beee
dec ecx
je 0x14005bee7
dec ecx
jne 0x14005bf1d
mov ecx, reloc.WSOCK32.dll_listen
jmp 0x14005bef3
mov ecx, reloc.WSOCK32.dll_ioctlsocket
jmp 0x14005bef3
mov ecx, reloc.WSOCK32.dll_inet_ntoa
test esi, esi
mov eax, ebx
setne al
add eax, 3
add r15, 6
mov word [r15 - 6], ax
mov word [r15 - 4], cx
mov word [r15 - 2], bx
mov qword [rbp - 0x38], r15
lea rcx, [r14 + 2]
jmp 0x140021ec3
lea eax, [rdx + rdx*2]
lea rcx, [rbp + 0xc0]
mov r8d, reloc.OLEAUT32.dll_RegisterActiveObject
movsxd rbx, eax
movsxd rdx, dword [r11 + rbx*4 + 0xcc3e0]
add rdx, rdi
call fcn.140025100
lea r11, [0x140000000]
mov r10d, dword [r11 + rbx*4 + 0xcc3e4]
mov r9d, dword [r11 + rbx*4 + 0xcc3e8]
xor ebx, ebx
test r10d, r10d
js 0x14005bfa0
mov r8d, ebx
test r9d, r9d
js 0x14005bf83
lea eax, [r10 + r8]
mov edx, r8d
inc r8d
movzx eax, byte [rax + rdi]
or byte [rbp + rdx + 0xc0], al
cmp r8d, 0x20
jb 0x14005bf66
jmp 0x14005bfa0
lea eax, [r10 + r8]
mov edx, r8d
inc r8d
movzx eax, byte [rax + rdi]
not al
and byte [rbp + rdx + 0xc0], al
cmp r8d, 0x20
jb 0x14005bf83
test r9d, r9d
jns 0x14005bfa8
neg r9d
cmp r9d, 1
jne 0x14005bfb7
and byte [rbp + 0xc1], 0xc3
jmp 0x14005bfc4
cmp r9d, 2
jne 0x14005bfc4
and byte [rbp + 0xcb], 0x7f
mov rcx, rbx
mov edx, reloc.OLEAUT32.dll_RegisterActiveObject
test esi, esi
je 0x14005bfe9
movzx eax, byte [rbp + rcx + 0xc0]
lea rcx, [rcx + 1]
not al
or byte [rbp + rcx + 0x67], al
dec rdx
jne 0x14005bfd0
jmp 0x14005bffe
movzx eax, byte [rbp + rcx + 0xc0]
lea rcx, [rcx + 1]
or byte [rbp + rcx + 0x67], al
dec rdx
jne 0x14005bfe9
mov r9, qword [rbp + 0x198]
mov edx, dword [rbp - 0x6c]
lea rcx, [r14 + 2]
mov r8d, 1
mov qword [rbp - 0x80], rcx
mov rcx, qword [rbp - 0x30]
mov rdi, qword [rbp - 0x80]
mov r13d, r8d
lea r12d, [r8 + 1]
jmp 0x140021ede
cmp ebx, 5
jne 0x14005c044
mov rcx, qword [rbp - 0x78]
mov esi, dword [rbp - 0x68]
lea edi, [rbx + 3]
mov qword [rbp - 0x80], rcx
xor ebx, ebx
jmp 0x140021e43
cmp ebx, 0xc
je 0x14005ebcc
cmp ebx, 0x1a
jne 0x14005c095
mov rcx, qword [rbp - 0x78]
mov qword [rbp - 0x80], rcx
cmp word [rcx + 2], 0x5c
jne 0x14005c075
cmp word [rcx + 4], 0x45
lea rax, [rcx + 4]
jne 0x14005c075
mov qword [rbp - 0x80], rax
jmp 0x14005c116
mov rcx, qword [rbp - 0x30]
mov rdi, qword [rbp - 0x80]
mov r9, qword [rbp + 0x198]
xor ebx, ebx
mov edx, r14d
lea r8d, [rbx + 1]
mov dword [rbp - 0x6c], edx
jmp 0x140021ee1
cmp ebx, 0x19
je 0x14005c19c
mov r10, qword [rbp + 0x190]
lea eax, [rbx - 6]
inc r13d
mov rdx, qword [r10 + 0x10]
add r12d, 2
cmp eax, 0x1c
ja case.0x14005c0d0.12
lea r11, [0x140000000]
cdqe
mov ecx, dword [r11 + rax*4 + 0x5ee26]
add rcx, r11
jmp rcx
mov rcx, qword [r11 + rbx*8 + 0xcc128]
mov rax, qword [rbp - 0x78]
sub rcx, 2
dec r13d
mov qword [rbp + 0x28], rax
jmp 0x14005c112
lea rax, [0x1400ccaa0]
lea rdx, [rbp - 0x38]
lea rcx, [rbp + 0x68]
mov r9, r10
mov r8d, esi
mov qword [rsp + 0x20], rax
call fcn.1400a6670
mov rcx, qword [rbp - 0x78]
mov r15, qword [rbp - 0x38]
mov qword [rbp - 0x80], rcx
xor ebx, ebx
jmp 0x14005c15d
cmp ebx, 0x10
mov eax, r14d
sete al
xor ebx, ebx
cmp eax, dword [rbp + 0xb8]
movzx eax, word [rbp - 0x38]
mov ecx, ebx
sete cl
add r15, 6
add ecx, 3
mov qword [rbp - 0x38], r15
dec r13d
mov word [r15 - 6], cx
mov word [r15 - 4], ax
movzx eax, word [rbp - 0x28]
mov word [r15 - 2], ax
mov rcx, qword [rbp - 0x78]
mov qword [rbp - 0x80], rcx
mov edx, dword [rbp - 0x6c]
mov r9, qword [rbp + 0x198]
mov rdi, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x30]
mov r8d, 1
jmp 0x140021ee1
lea rax, [rbp + 0x68]
lea rcx, [rbp + 0x68]
mov r8d, reloc.OLEAUT32.dll_RegisterActiveObject
sub rdx, rax
movzx eax, byte [rdx + rcx + 0x40]
lea rcx, [rcx + 1]
or byte [rcx - 1], al
dec r8
jne 0x14005c18b
mov rcx, qword [rbp - 0x78]
jmp 0x14005c112
lea rax, [rbp + 0x68]
mov dword [rbp - 0x54], r14d
lea rcx, [rbp + 0x68]
sub rdx, rax
mov r8d, reloc.OLEAUT32.dll_RegisterActiveObject
movzx eax, byte [rcx + rdx + 0x40]
lea rcx, [rcx + 1]
not al
or byte [rcx - 1], al
dec r8
jne 0x14005c1ba
mov rcx, qword [rbp - 0x78]
jmp 0x14005c112
lea rax, [rbp + 0x68]
lea rcx, [rbp + 0x68]
mov r8d, reloc.OLEAUT32.dll_RegisterActiveObject
sub rdx, rax
movzx eax, byte [rdx + rcx + 0xa0]
lea rcx, [rcx + 1]
or byte [rcx - 1], al
dec r8
jne 0x14005c1e7
mov rcx, qword [rbp - 0x78]
jmp 0x14005c112
lea rax, [rbp + 0x68]
mov dword [rbp - 0x54], r14d
lea rcx, [rbp + 0x68]
sub rdx, rax
mov r8d, reloc.OLEAUT32.dll_RegisterActiveObject
movzx eax, byte [rcx + rdx + 0xa0]
lea rcx, [rcx + 1]
not al
or byte [rcx - 1], al
dec r8
jne 0x14005c219
mov rcx, qword [rbp - 0x78]
jmp 0x14005c112
lea rax, [rbp + 0x68]
lea rcx, [rbp + 0x68]
mov r8d, reloc.OLEAUT32.dll_RegisterActiveObject
sub rdx, rax
movzx eax, byte [rcx + rdx]
lea rcx, [rcx + 1]
or byte [rcx - 1], al
dec r8
jne 0x14005c249
mov rcx, qword [rbp - 0x78]
jmp 0x14005c112
lea rax, [rbp + 0x68]
mov dword [rbp - 0x54], r14d
lea rcx, [rbp + 0x68]
sub rdx, rax
mov r8d, reloc.OLEAUT32.dll_RegisterActiveObject
movzx eax, byte [rcx + rdx]
lea rcx, [rcx + 1]
not al
or byte [rcx - 1], al
dec r8
jne 0x14005c277
mov rcx, qword [rbp - 0x78]
jmp 0x14005c112
lea rax, [0x1400ccaa0]
jmp 0x14005c2a2
lea rax, str._n_v_f_r
lea rdx, [rbp - 0x38]
lea rcx, [rbp + 0x68]
mov r9, r10
mov r8d, esi
mov dword [rsp + 0x28], 0xffffffff
mov qword [rsp + 0x20], rax
call fcn.1400a6500
jmp 0x14005c2e3
lea rax, str._n_v_f_r
lea rdx, [rbp - 0x38]
lea rcx, [rbp + 0x68]
mov r9, r10
mov r8d, esi
mov qword [rsp + 0x20], rax
call fcn.1400a6670
mov rcx, qword [rbp - 0x78]
mov r15, qword [rbp - 0x38]
jmp 0x14005c112
xor r14d, r14d
lea r9, [rbp - 0x28]
lea r8, [rbp - 0x38]
lea rdx, [rbp + 0xb8]
lea rcx, [rbp - 0x78]
mov qword [rsp + 0x20], rdi
mov dword [rbp - 0x38], r14d
mov dword [rbp - 0x28], r14d
call fcn.1400a6fc8
test eax, eax
je 0x1400228c3
jmp 0x14005c11a
mov r11d, dword [rbp - 0x70]
test r11b, 0x40
jne 0x14005ebc1
mov rdi, qword [rbp - 0x78]
mov esi, dword [rbp - 0x68]
dec r13d
mov qword [rbp - 0x80], rdi
movzx edi, word [rdi]
sub r12d, 2
mov rcx, qword [rbp - 0x80]
xor ebx, ebx
jmp 0x140021e4e
cmp word [rcx + 4], 0x45
lea rax, [rcx + 4]
jne 0x14005c36f
mov qword [rbp - 0x78], rax
cmp word [rax + 2], 0x5c
mov r9d, ebx
mov rcx, rax
je 0x14005c353
mov dword [rbp - 0x6c], r9d
mov qword [rbp - 0x80], rcx
jmp 0x140021e5d
or dword [r10 + 0x94], 0x800
jmp 0x140021e6f
cmp word [rax + 2], 0x45
jne 0x14005c3aa
add rax, 4
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x80], rax
cmp word [rax], 0x5c
je 0x14005c38c
jmp 0x1400225e6
cmp word [rax], 0x5c
jne 0x1400225e6
cmp word [rax + 2], 0x51
jne 0x1400225e6
add rax, 4
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x80], rax
cmp word [rax], 0x5c
jne 0x14005c3ef
cmp word [rax + 2], 0x45
jne 0x14005c3ef
add rax, 4
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x80], rax
cmp word [rax], 0x5c
je 0x14005c3b4
jmp 0x1400225e6
mov r9d, r14d
mov dword [rbp - 0x6c], r14d
jmp 0x1400225e6
mov rax, qword [rbp - 0x80]
and r8d, 0x3ff
add rax, 2
shl r8d, 0xa
mov qword [rbp - 0x80], rax
movzx eax, word [rax]
mov rbx, qword [rbp - 0x80]
and eax, 0x3ff
or r8d, eax
mov qword [rbp - 0x78], rbx
add r8d, 0x10000
mov dword [rbp - 0x28], r8d
jmp 0x140022628
mov r9d, dword [r10 + 0x70]
mov dword [rsp + 0x28], r14d
mov r14, qword [rbp + 0x158]
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x78]
mov r8, r14
mov dword [rsp + 0x20], r11d
call fcn.140022ee4
cmp dword [r14], 0
jne 0x1400228c3
test eax, eax
je 0x14005c491
mov rbx, qword [rbp - 0x78]
cmp eax, 5
jne 0x14005ebdb
mov r11d, dword [rbp - 0x70]
mov r10, qword [rbp + 0x190]
mov r9d, dword [rbp - 0x6c]
lea r8d, [rax + 3]
mov qword [rbp - 0x80], rbx
jmp 0x140022648
mov r8, qword [rbp - 0x78]
mov r11d, dword [rbp - 0x70]
mov r10, qword [rbp + 0x190]
mov r9d, dword [rbp - 0x6c]
mov qword [rbp - 0x80], r8
mov r8d, dword [rbp - 0x28]
mov rbx, qword [rbp - 0x80]
jmp 0x140022648
movzx eax, word [rbx + 2]
cmp ax, 0x3d
ja 0x140022641
movabs rcx, 0x2400400000000000
bt rcx, rax
jae 0x140022641
mov rcx, qword [rbp - 0x80]
lea rdx, [rbp + 0x60]
call fcn.1400a6a18
mov rbx, qword [rbp - 0x80]
test eax, eax
je 0x140022641
mov rax, qword [rbp + 0x158]
mov dword [rax], 0x53
jmp 0x14005ee14
or dword [r10 + 0x94], 0x800
jmp 0x140022671
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x14005c536
lea rdi, [rax + 2]
mov qword [rbp + 0x28], rbx
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x78], rdi
movzx edi, word [rdi]
test edi, edi
jne 0x140021ef8
mov rbx, qword [rbp - 0x80]
mov rax, qword [rbp + 0x158]
mov dword [rax], 6
jmp 0x14005ee14
mov r8d, dword [rbp - 0x20]
mov r12d, dword [rbp - 0x3c]
add rcx, 2
cmp dword [rbp - 0x4c], 0
mov qword [rbp - 0x78], rcx
mov dword [rbp - 0x28], r8d
mov dword [rbp - 0x50], r12d
je 0x14005c65d
mov eax, dword [rbp - 0x58]
mov ecx, 0xffffffff
cmp eax, 0xfffffffe
cmove eax, ecx
mov ecx, dword [rbp - 0x1c]
mov dword [rbp + 8], ecx
mov dword [rbp - 0x58], eax
mov dword [rbp - 0x18], eax
test esi, esi
je 0x14005c5fb
test r11b, 1
je 0x14005c5ff
lea r8, [0x140000000]
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
mov ecx, eax
and eax, 0x7f
sub eax, edx
sar ecx, 7
movsxd rcx, ecx
cdqe
movzx edx, byte [rcx + r8 + 0xc6290]
shl rdx, 7
add rdx, rax
movzx eax, word [r8 + rdx*2 + 0xb9780]
movzx ecx, byte [r8 + rax*8 + 0xb6663]
test ecx, ecx
je 0x14005c5fb
mov r14, qword [rbp - 0x60]
mov r13, qword [rbp - 0x48]
mov dword [r14], 0x9000f
mov word [r14 + 4], cx
mov rbx, qword [rbp - 0x78]
add r14, 6
mov qword [rbp - 0x60], r14
jmp 0x140021b4c
test r11b, 1
mov r14, qword [rbp - 0x60]
mov eax, 0
setne al
add eax, 0x1f
add r14, 2
mov word [r14 - 2], ax
test esi, esi
je 0x14005c644
cmp edi, 0xffff
jbe 0x14005c644
mov rdx, r14
mov ecx, edi
call fcn.1400a7a90
mov rbx, qword [rbp - 0x78]
mov r13, qword [rbp - 0x48]
mov edx, eax
lea r14, [r14 + rdx*2]
mov qword [rbp - 0x60], r14
jmp 0x140021b4c
mov r13, qword [rbp - 0x48]
mov word [r14], di
mov rbx, qword [rbp - 0x78]
add r14, 2
mov qword [rbp - 0x60], r14
jmp 0x140021b4c
test esi, esi
je 0x14005c689
cmp edi, 0xffff
jbe 0x14005c689
lea rdx, [rbp + 0x90]
mov ecx, edi
call fcn.1400a7a90
movzx edi, word [rbp + 0x90]
mov r14, qword [rbp - 0x60]
mov esi, eax
jmp 0x140021a2a
mov r14, qword [rbp - 0x60]
mov word [rbp + 0x90], di
mov esi, 1
jmp 0x140021a2a
test ebx, ebx
je 0x14005c6ac
bt esi, 0x1d
jae 0x140021f4b
mov r14, qword [rbp - 0x60]
xor eax, eax
add r15, 2
cmp dword [rbp - 0x4c], eax
mov word [r15 - 2], ax
mov ecx, WSACleanup
setne al
mov word [r14], cx
mov word [r14 + 4], ax
test r13d, r13d
jle 0x14005c713
add r14, 6
or ax, 2
mov r8, r15
mov word [r14 - 2], ax
sub r8, r14
lea rcx, [r14 + 0x20]
and r8, 0xfffffffffffffffe
mov rdx, r14
call fcn.140025100
lea rdx, [rbp + 0x68]
mov r8d, reloc.OLEAUT32.dll_RegisterActiveObject
mov rcx, r14
call fcn.140025100
lea r14, [r15 + 0x20]
mov qword [rbp - 0x60], r14
jmp 0x14005c71a
mov r14, r15
mov qword [rbp - 0x60], r15
mov r13, qword [rbp - 0x48]
mov rax, r14
sub rax, r13
sar rax, 1
mov word [r13 + 2], ax
mov rbx, qword [rbp - 0x78]
jmp 0x140021f93
lea rcx, [rbp + 0x68]
mov edx, reloc.OLEAUT32.dll_RegisterActiveObject
not byte [rcx]
lea rcx, [rcx + 1]
dec rdx
jne 0x14005c73e
jmp 0x140021f70
test edx, edx
je case.0x14002195f.47
mov rcx, qword [rbp - 0x80]
mov r9, qword [rbp + 0x158]
lea r8, [rbp - 8]
lea rdx, [rbp - 0x24]
add rcx, 2
call fcn.1400a7190
cmp dword [r9], 0
mov rbx, rax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
jne 0x14005ee14
mov r9d, dword [rbp - 8]
mov r8d, dword [rbp - 0x24]
mov r11d, dword [rbp - 0x70]
mov dword [rbp - 0x54], r9d
xor esi, esi
jmp 0x140022101
mov eax, 1
mov r8d, eax
mov dword [rbp - 0x24], eax
or eax, 0xffffffff
xor esi, esi
jmp 0x1400220f4
mov r8, qword [rbp - 0x80]
lea rbx, [r8 + 2]
mov ecx, 0xfc00
mov edx, 0xff
movzx eax, word [rbx]
cmp ax, dx
ja 0x14005c7ec
mov rcx, qword [r15 + 0x18]
movzx eax, ax
test byte [rax + rcx], 1
je 0x14005c7e7
movzx eax, word [rbx + 2]
add rbx, 2
cmp ax, dx
jbe 0x14005c7d1
mov ecx, 0xfc00
cmp word [rbx], 0x23
jne 0x14005c8ae
movzx r8d, word [rbx + 2]
add rbx, 2
test r8w, r8w
je 0x14005c7c5
mov eax, dword [rbp - 0x68]
mov edx, dword [r15 + 0xac]
test edx, edx
je 0x14005c843
mov r8, qword [r15 + 0x38]
cmp rbx, r8
jae 0x14005c87c
lea r9, [r15 + 0xb0]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140023978
test eax, eax
je 0x14005c874
movsxd rax, dword [r15 + 0xb0]
lea rbx, [rbx + rax*2]
jmp 0x14005c7bb
movsxd rdx, dword [r15 + 0xb0]
imul rcx, rdx, 0xfffffffffffffffe
add rcx, qword [r15 + 0x38]
cmp rbx, rcx
ja 0x14005c874
cmp r8w, word [r15 + 0xb4]
jne 0x14005c874
cmp edx, 1
je 0x14005c833
movzx eax, word [r15 + 0xb6]
cmp word [rbx + 2], ax
je 0x14005c833
mov eax, dword [rbp - 0x68]
mov ecx, 0xfc00
add rbx, 2
test eax, eax
je 0x14005c89b
movzx eax, word [rbx]
mov edx, 0xdc00
and ax, cx
cmp ax, dx
mov eax, dword [rbp - 0x68]
jne 0x14005c89b
add rbx, 2
movzx r8d, word [rbx]
test r8w, r8w
jne 0x14005c808
jmp 0x14005c7c0
mov r9d, dword [rbp - 0x54]
mov r11d, dword [rbp - 0x70]
mov edx, dword [rbp - 0x3c]
lea r8, [rbx - 2]
mov r10d, esi
mov qword [rbp - 0x80], r8
mov qword [rbp - 0x78], r8
mov r8d, dword [rbp - 0x24]
mov rbx, qword [rbp - 0x80]
jmp 0x140022153
mov r10d, 1
mov r13d, esi
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x78], rcx
mov rbx, rcx
mov dword [rbp - 0x4c], r10d
jmp 0x140022181
mov ebx, 4
lea rcx, [rsi + 4]
mov rdx, rsi
mov r8d, ebx
call fcn.140025100
mov rdi, qword [rbp + 0x198]
add r14, 8
mov dword [rsi], 0x40081
mov dword [rsi + 8], 0x40078
mov qword [rbp - 0x60], r14
mov dword [rbp + 0x1c], 6
test rdi, rdi
jne 0x14005c960
mov rax, qword [r15 + 0x20]
mov r8, qword [r15 + 0x40]
add rax, 2
cmp r8, rax
jb 0x14005c960
movzx edx, word [r8 - 2]
mov rcx, rsi
sub rcx, qword [r15 + 0x28]
add rcx, 2
sar rcx, 1
cmp rdx, rcx
jne 0x14005c960
add dx, 2
mov word [r8 - 2], dx
mov rax, qword [rbp - 0x78]
mov r8d, dword [rbp - 0x24]
mov r9d, dword [rbp - 0x54]
mov r10d, dword [rbp - 0x4c]
mov r11d, dword [rbp - 0x70]
mov edx, dword [rbp - 0x3c]
mov qword [rbp - 0x80], rax
mov rbx, rax
jmp 0x140022196
mov eax, VariantChangeTypeEx
cmp word [rsi + 4], ax
jne 0x1400226a2
mov r14, qword [rbp - 0x60]
mov r12d, dword [rbp - 0x50]
jmp 0x140022253
test r8d, r8d
jg 0x14005c992
cmp r9d, 1
mov ecx, 1
cmova r9d, ecx
mov dword [rbp - 0x54], r9d
mov dword [rbp - 8], r9d
jmp 0x1400226b3
mov r11d, dword [rbp - 0x70]
mov eax, QueryPathOfRegTypeLib
mov word [rsi], ax
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x80], rax
jmp 0x14005c992
mov rbx, qword [rbp - 0x10]
mov edx, 3
mov qword [rsp + 0x20], rbx
call fcn.14002458c
lea eax, [r14 + r14]
lea rcx, [rsi + 6]
movsxd r8, eax
mov rdx, rsi
call fcn.140025100
mov rcx, qword [rbp - 0x60]
mov r9d, dword [rbp - 0x54]
add rcx, 6
mov eax, reloc.OLEAUT32.dll_VariantChangeTypeEx
lea r15, [rsi + 4]
add eax, r13d
xor ebx, ebx
add rsi, 6
mov word [rsi - 6], ax
mov dword [rsi - 4], 0x83
mov qword [rbp - 0x48], rsi
mov rdx, rsi
mov qword [rbp - 0x60], rcx
jmp 0x140022736
cmp r8d, 1
jle 0x14005cbcf
test rdi, rdi
je 0x14005ca8b
mov eax, dword [rbp + 0x1c]
lea ecx, [r8 - 1]
mov edx, ecx
movd xmm1, ecx
movd xmm0, eax
imul edx, eax
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
comisd xmm1, xmmword [0x1400ce0b8]
ja 0x14005ebf3
mov ecx, dword [rdi]
mov eax, 0x7fffffeb
sub eax, ecx
cmp eax, edx
jl 0x14005ebf3
lea eax, [rdx + rcx]
mov dword [rdi], eax
jmp 0x14005cbcf
cmp dword [rbp + 0x48], r12d
je 0x14005caa1
test edx, edx
jns 0x14005caa1
mov eax, dword [rbp - 0x1c]
mov dword [rbp - 0x20], eax
mov eax, dword [rbp - 0x58]
mov dword [rbp - 0x3c], eax
mov edi, ecx
cmp r8d, 1
jle 0x14005cbc8
mov rcx, qword [rbp - 0x60]
lea eax, [r14 + r14]
movsxd rsi, eax
mov rax, qword [rbp + 0x190]
mov rdx, qword [rbp - 0x48]
mov r8, rsi
mov rbx, qword [rax + 0x40]
call fcn.140025100
mov r8, qword [rbp + 0x190]
mov r9, qword [rbp - 0x10]
mov rdx, qword [r8 + 0x20]
movsxd rcx, dword [r8 + 0x6c]
add rcx, 0xffffffffffffff9c
mov rax, rbx
sub rax, r9
sar rax, 1
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
lea rcx, [rax + rcx*2]
cmp qword [r8 + 0x40], rcx
jbe 0x14005cb67
sub r9, rdx
sub rbx, rdx
mov rcx, r8
sar r9, 1
sar rbx, 1
mov qword [rbp - 0x10], r9
call fcn.1400a6b2c
mov rcx, qword [rbp + 0x158]
mov dword [rcx], eax
test eax, eax
jne 0x1400228c3
mov r8, qword [rbp + 0x190]
mov rax, qword [rbp - 0x10]
mov rdx, qword [r8 + 0x20]
movsxd rcx, dword [r8 + 0x6c]
cdqe
lea r9, [rdx + rax*2]
movsxd rax, ebx
add rcx, 0xffffffffffffff9c
lea rbx, [rdx + rax*2]
mov rax, rbx
sub rax, r9
sar rax, 1
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
lea rcx, [rax + rcx*2]
cmp qword [r8 + 0x40], rcx
ja 0x14005cb00
cmp r9, rbx
jae 0x14005cb89
movzx ecx, word [r9]
mov rax, qword [r8 + 0x40]
add r9, 2
add cx, r14w
mov word [rax], cx
add qword [r8 + 0x40], 2
cmp r9, rbx
jb 0x14005cb6c
mov rcx, qword [rbp - 0x60]
mov r8d, dword [rbp - 0x24]
movsxd rax, r14d
lea rcx, [rcx + rax*2]
inc edi
mov qword [rbp - 0x10], rbx
mov qword [rbp - 0x60], rcx
cmp edi, r8d
jl 0x14005cab8
mov rax, qword [rbp - 0x78]
mov r9d, dword [rbp - 0x54]
mov r10d, dword [rbp - 0x4c]
mov r11d, dword [rbp - 0x70]
mov rdi, qword [rbp + 0x198]
mov qword [rbp - 0x80], rax
jmp 0x14005cbd3
mov rdi, qword [rbp + 0x198]
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x48]
test r9d, r9d
jle 0x14005cbe3
sub r9d, r8d
mov dword [rbp - 8], r9d
xor ebx, ebx
jmp 0x140022751
mov eax, dword [rbp + 0x1c]
movd xmm0, r9d
add eax, 5
mov ecx, eax
movd xmm1, eax
imul ecx, r9d
cvtdq2pd xmm0, xmm0
sub ecx, 4
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
comisd xmm1, xmmword [0x1400ce0b8]
ja 0x14005eb8a
mov edx, dword [rdi]
mov eax, 0x7fffffeb
sub eax, edx
cmp eax, ecx
jl 0x14005eb8a
lea eax, [rcx + rdx]
mov dword [rdi], eax
jmp 0x140022777
mov r12, qword [rbp + 0x190]
mov eax, reloc.OLEAUT32.dll_VariantChangeTypeEx
add r13w, ax
lea eax, [r14 + r14]
movsxd rsi, eax
mov qword [rbp - 0x80], rsi
mov rbx, qword [r12 + 0x40]
mov word [rcx], r13w
add rcx, 2
mov qword [rbp - 0x60], rcx
test edi, edi
je 0x14005cc92
mov eax, 0x83
mov word [rcx], ax
test r15, r15
jne 0x14005cc78
xor eax, eax
jmp 0x14005cc82
lea rax, [rcx + 2]
sub rax, r15
sar rax, 1
lea r15, [rcx + 2]
mov word [rcx + 2], ax
add rcx, 4
mov qword [rbp - 0x60], rcx
mov r8, rsi
call fcn.140025100
mov r8, qword [rbp - 0x10]
mov rdx, qword [r12 + 0x20]
movsxd rcx, dword [r12 + 0x6c]
mov rax, rbx
sub rax, r8
add rcx, 0xffffffffffffff9c
sar rax, 1
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
lea rcx, [rax + rcx*2]
cmp qword [r12 + 0x40], rcx
jbe 0x14005cd2a
sub r8, rdx
sub rbx, rdx
mov rcx, r12
sar r8, 1
sar rbx, 1
mov qword [rbp - 0x10], r8
call fcn.1400a6b2c
mov rcx, qword [rbp + 0x158]
mov dword [rcx], eax
test eax, eax
jne 0x1400228c3
mov rdx, qword [r12 + 0x20]
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [r12 + 0x6c]
cdqe
add rcx, 0xffffffffffffff9c
lea r8, [rdx + rax*2]
movsxd rax, ebx
lea rbx, [rdx + rax*2]
mov rax, rbx
sub rax, r8
sar rax, 1
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
lea rcx, [rax + rcx*2]
cmp qword [r12 + 0x40], rcx
ja 0x14005ccc7
cmp r8, rbx
jae 0x14005cd6d
movsxd rdx, edi
mov esi, 1
mov edi, 3
movzx ecx, word [r8]
mov eax, esi
test rdx, rdx
cmovne eax, edi
add cx, r14w
add r8, 2
add cx, ax
mov rax, qword [r12 + 0x40]
mov word [rax], cx
add qword [r12 + 0x40], 2
cmp r8, rbx
jb 0x14005cd3c
mov edi, dword [rbp - 0x38]
mov rsi, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x48]
movsxd rax, r14d
lea rcx, [rcx + rax*2]
dec edi
mov qword [rbp - 0x10], rbx
mov qword [rbp - 0x60], rcx
mov dword [rbp - 0x38], edi
jns 0x14005cc52
mov rax, qword [rbp - 0x78]
mov r10d, dword [rbp - 0x4c]
mov r11d, dword [rbp - 0x70]
mov qword [rbp - 0x80], rax
xor ebx, ebx
jmp 0x140022777
mov r11d, 0x78
mov rcx, r14
mov rdx, r14
sub rcx, r15
sar rcx, 1
inc ecx
movsxd rax, ecx
add rax, rax
sub rdx, rax
movzx eax, word [rdx + 2]
test eax, eax
jne 0x14005cdd0
mov r15, rbx
jmp 0x14005cdd7
neg rax
lea r15, [r15 + rax*2]
mov word [r14], r11w
mov word [r14 + 2], cx
add r14, 4
mov word [rdx + 2], cx
test r15, r15
jne 0x14005cdac
mov rax, qword [rbp - 0x78]
mov r11d, dword [rbp - 0x70]
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x80], rax
jmp 0x140022784
mov r14, qword [rbp - 0x60]
mov edx, 0x81
movzx eax, word [r14 - 2]
lea rdi, [r14 - 4]
add rax, rax
sub rdi, rax
movzx ecx, word [rdi]
movzx eax, cx
sub ax, dx
cmp ax, 1
ja 0x14005ce79
test r10d, r10d
je 0x14005ce79
mov eax, 0x83
mov word [rdi], ax
cmp qword [rbp + 0x198], 0
mov r15, qword [rbp + 0x190]
jne 0x14005cea9
mov rbx, rdi
mov r8d, dword [rbp - 0x68]
xor eax, eax
lea rdx, [r14 - 4]
mov r9, r15
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140022a30
test eax, eax
jne 0x14005ce99
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x77
lea rbx, [rbx + rax*2]
je 0x14005ce4a
jmp 0x14005ce9d
sub cx, dx
cmp cx, 1
ja 0x14005ce36
add r13w, 0x79
mov word [r14 - 4], r13w
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x80], rax
jmp 0x140022784
add word [rdi], 5
mov r11d, dword [rbp - 0x70]
mov r10d, dword [rbp - 0x4c]
mov r8d, dword [rbp - 0x24]
test r10d, r10d
je 0x14005cf7c
movzx eax, word [rdi]
mov ecx, 0x87
cmp ax, cx
je 0x14005cee2
mov ecx, 0x8c
cmp ax, cx
je 0x14005cee2
mov esi, dword [rbp - 0x68]
mov r13, qword [rbp - 0x10]
inc ax
mov word [rdi], ax
mov eax, 0x7b
mov word [r14 - 4], ax
jmp 0x14005cf52
mov esi, dword [rbp - 0x68]
mov r13, qword [rbp - 0x10]
xor eax, eax
mov rbx, r14
lea edx, [rax + 2]
mov r9, r15
sub rbx, rdi
mov r8d, esi
mov rcx, rdi
mov word [r14], ax
mov qword [rsp + 0x20], r13
sar rbx, 1
call fcn.14002458c
lea eax, [rbx + rbx]
lea rcx, [rdi + 4]
movsxd r8, eax
mov rdx, rdi
call fcn.140025100
mov r8d, dword [rbp - 0x24]
mov r10d, dword [rbp - 0x4c]
mov r11d, dword [rbp - 0x70]
add ebx, 2
mov eax, 0x84
mov word [rdi], ax
mov eax, 0x7b
add r14, 8
mov word [r14 - 4], ax
mov word [r14 - 2], bx
mov qword [rbp - 0x60], r14
mov word [rdi + 2], bx
test r12, r12
je 0x14005cf61
mov eax, __WSAFDIsSet
mov word [r12], ax
mov rax, qword [rbp - 0x78]
mov r12d, dword [rbp - 0x50]
mov qword [rbp - 0x80], rax
cmp r8d, 2
jge 0x140022248
jmp 0x140022253
add r13w, 0x79
mov word [r14 - 4], r13w
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x80], rax
jmp 0x14005c996
mov eax, 0x9d
cmp cx, ax
je 0x140022253
mov rax, qword [rbp + 0x158]
mov dword [rax], reloc.WSOCK32.dll_inet_ntoa
jmp 0x14005ee14
mov r14, rsi
mov qword [rbp - 0x60], rsi
jmp 0x140022253
cmp r8d, 1
jne 0x14005cfea
cmp r9d, 0xffffffff
jne 0x14005cfea
add r13w, 0x64
add r14, 2
mov word [r14 - 2], r13w
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x80], rax
jmp 0x1400225c0
mov r15, qword [rbp + 0x190]
mov esi, dword [rbp - 0x68]
add r13w, 0x68
mov word [r14], r13w
mov r13, qword [rbp - 0x10]
mov word [r14 + 2], r8w
cmp r9d, 0xffffffff
mov ebx, 0
cmove r9d, ebx
add r14, 6
mov word [r14 - 2], r9w
mov rax, qword [rbp - 0x78]
mov dword [rbp - 8], r9d
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x60], r14
jmp 0x14002224a
movzx edx, cx
sub edx, 0x1e
je 0x14005d055
dec edx
je 0x14005d04e
dec edx
je 0x14005d047
xor eax, eax
mov ebx, eax
jmp 0x14005d05a
mov ebx, reloc.OLEAUT32.dll_SafeArrayRedim
jmp 0x14005d05a
mov ebx, 0x1a
jmp 0x14005d05a
mov ebx, reloc.WSOCK32.dll_listen
cmp dword [rbp - 0x68], 0
je 0x14005d0c8
movzx eax, word [r14 - 2]
lea rdx, [r14 - 2]
mov edi, 0xfc00
and ax, di
cmp ax, word [rbp + 0xb4]
jne 0x14005d0c8
movzx eax, word [rdx]
mov ecx, 0xdc00
and ax, di
cmp ax, cx
jne 0x14005d08e
sub rdx, 2
mov rdi, r14
lea rcx, [rbp + 0xe0]
sub rdi, rdx
sar rdi, 1
lea r8d, [rdi + rdi]
call fcn.140025100
mov rax, qword [rbp - 0x78]
mov r8d, dword [rbp - 0x24]
mov r9d, dword [rbp - 0x54]
mov r10d, dword [rbp - 0x4c]
mov r11d, dword [rbp - 0x70]
mov qword [rbp - 0x80], rax
bts edi, 0x1c
jmp 0x1400221b8
movzx edi, word [r14 - 2]
cmp cx, 0x1e
ja 0x1400221b8
cmp r8d, 1
jle 0x1400221b8
mov eax, dword [r15 + 0x98]
mov dword [rbp - 0x20], edi
or eax, dword [rbp + 0x18]
mov dword [rbp - 0x3c], eax
jmp 0x1400221b8
movzx esi, word [rsi + 2]
movzx r14d, word [rdx + 4]
jmp 0x1400221d5
mov r15d, dword [rbp - 0x68]
lea rbx, [rdx + 2]
cmp r9d, 1
jne 0x14005d120
add r13w, 0x25
mov word [rdx], r13w
jmp 0x14002220d
add r13w, 0x27
add rbx, 2
mov word [rdx], r13w
mov word [rbx - 2], r9w
jmp 0x14002220d
cmp r8d, 1
jne 0x14005d179
cmp r9d, 0xffffffff
jne 0x14005d14d
add r13w, 0x23
jmp 0x140022201
mov qword [rbp - 0x60], rcx
cmp r9d, 1
je 0x140022898
lea rbx, [rcx + 2]
add r13w, 0x27
dec r9w
mov word [rcx], r13w
mov word [rbx], r9w
add rbx, 2
jmp 0x140022209
add bx, 0x29
mov word [rdx], bx
lea rbx, [rdx + 2]
mov word [rbx], r8w
add rbx, 2
test r9d, r9d
jns 0x14005d1f5
mov r15d, dword [rbp - 0x68]
test r15d, r15d
je 0x14005d1cb
bt edi, 0x1c
jae 0x14005d1cb
mov eax, edi
lea rdx, [rbp + 0xe0]
mov rcx, rbx
and eax, 7
lea r8d, [rax + rax]
call fcn.140025100
mov r10d, dword [rbp - 0x4c]
mov r11d, dword [rbp - 0x70]
mov eax, edi
and eax, 7
lea rbx, [rbx + rax*2]
jmp 0x14005d1e2
mov word [rbx], di
add rbx, 2
test esi, esi
js 0x14005d1e2
mov word [rbx], si
mov word [rbx + 2], r14w
add rbx, 4
add r13w, 0x21
add rbx, 2
mov word [rbx - 2], r13w
jmp 0x14002220d
cmp r9d, r8d
je 0x140022209
mov r15d, dword [rbp - 0x68]
test r15d, r15d
je 0x14005d240
bt edi, 0x1c
jae 0x14005d240
mov eax, edi
lea rdx, [rbp + 0xe0]
mov rcx, rbx
and eax, 7
lea r8d, [rax + rax]
call fcn.140025100
mov r8d, dword [rbp - 0x24]
mov r9d, dword [rbp - 0x54]
mov r10d, dword [rbp - 0x4c]
mov r11d, dword [rbp - 0x70]
mov eax, edi
and eax, 7
lea rbx, [rbx + rax*2]
jmp 0x14005d247
mov word [rbx], di
add rbx, 2
test esi, esi
js 0x14005d257
mov word [rbx], si
mov word [rbx + 2], r14w
add rbx, 4
sub r9d, r8d
mov dword [rbp - 8], r9d
cmp r9d, 1
jne 0x14005d277
add r13w, 0x25
add rbx, 2
mov word [rbx - 2], r13w
jmp 0x14002220d
add r13w, 0x27
add rbx, 4
mov word [rbx - 4], r13w
mov word [rbx - 2], r9w
jmp 0x14002220d
mov eax, edi
lea rdx, [rbp + 0xe0]
mov rcx, rbx
and eax, 7
lea r8d, [rax + rax]
call fcn.140025100
mov r10d, dword [rbp - 0x4c]
mov r11d, dword [rbp - 0x70]
mov eax, edi
and eax, 7
lea rbx, [rbx + rax*2]
jmp 0x140022223
mov word [rbx], si
add rbx, 2
mov word [rbx], r14w
mov rax, qword [rbp - 0x78]
mov r14, rbx
add r14, 2
mov qword [rbp - 0x60], rbx
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x60], r14
jmp 0x140022245
mov rax, qword [rbp]
lea r8, [0x140000000]
movzx edx, word [rax]
lea eax, [rdx - 0x1d]
cmp eax, 0x53
ja case.0x14005d314.33
cdqe
movzx eax, byte [r8 + rax + 0x5eeae]
mov ecx, dword [r8 + rax*4 + 0x5ee9a]
add rcx, r8
jmp rcx
mov rcx, qword [rbp]
mov r10d, 2
movzx eax, word [rcx + 4]
mov ecx, r10d
sub ax, 0xf
cmp ax, 1
movzx eax, byte [rdx + r8 + 0xb9690]
cmova ecx, ebx
add eax, ecx
movsxd rcx, eax
mov rax, qword [rbp]
lea rcx, [rax + rcx*2]
mov qword [rbp], rcx
jmp 0x14005d3ab
mov rcx, qword [rbp]
movzx eax, byte [rdx + r8 + 0xb9690]
lea rcx, [rcx + rax*2]
mov qword [rbp], rcx
test esi, esi
je case.0x14005d314.33
movzx eax, word [rcx - 2]
mov ecx, 0xfc00
mov r10d, 2
and ax, cx
mov ecx, 0xd800
cmp ax, cx
jne 0x14005d3ab
add qword [rbp], 2
jmp 0x14005d3ab
add qword [rbp], 0x22
jmp case.0x14005d314.33
mov rcx, qword [rbp]
mov rax, qword [rbp]
movzx ecx, word [rcx + 2]
lea rcx, [rax + rcx*2]
mov qword [rbp], rcx
mov r10d, 2
mov rcx, qword [rbp]
mov rbx, r14
sub rbx, rcx
sar rbx, 1
test ebx, ebx
jle 0x140022253
movzx eax, word [rcx]
cmp eax, 0x76
jae 0x14005d3e8
movzx edx, byte [rax + r8 + 0xcc580]
test dl, dl
je 0x14005d3e8
movzx eax, dl
mov word [rcx], ax
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x80], rax
jmp 0x140022253
xor eax, eax
mov r9, r15
mov r8d, esi
mov word [r14], ax
mov rcx, qword [rbp]
mov edx, r10d
mov qword [rsp + 0x20], r13
call fcn.14002458c
mov rdx, qword [rbp]
lea eax, [rbx + rbx]
lea rcx, [rdx + 4]
movsxd r8, eax
call fcn.140025100
mov rax, qword [rbp]
mov r11d, dword [rbp - 0x70]
add ebx, 2
mov ecx, 0x81
add r14, 8
mov word [rax], cx
mov eax, 0x78
mov qword [rbp - 0x60], r14
mov word [r14 - 4], ax
mov word [r14 - 2], bx
mov rax, qword [rbp]
mov word [rax + 2], bx
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x80], rax
jmp 0x140022253
cmp dword [rbp - 0x68], r15d
je 0x14002257a
lea rdx, [rbp + 0x90]
mov ecx, edi
call fcn.1400a7a90
movzx edi, word [rbp + 0x90]
mov r11d, dword [rbp - 0x70]
mov r9d, dword [rbp - 0x6c]
mov esi, eax
jmp 0x140021a2a
mov rbx, qword [rbp - 0x78]
cmp word [rbx + 2], 0x5c
jne 0x14005d4a0
cmp word [rbx + 4], 0x45
jne 0x14005d4a0
add rbx, 4
jmp 0x140021f93
mov r11d, dword [rbp - 0x70]
mov eax, 1
mov r9d, eax
mov dword [rbp - 0x6c], eax
jmp 0x140021b4c
mov r15, qword [rbp + 0x190]
mov r9d, reloc.OLEAUT32.dll_SafeArrayRedim
mov ecx, 0x3e
mov rax, qword [r15 + 0x40]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x78]
add rax, 2
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x80], rax
cmp word [rax], 0x3c
lea rdx, [rax + 2]
movzx eax, word [rax + 2]
cmove r9d, ecx
xor r8d, r8d
mov dword [rbp - 0x4c], r8d
mov r10d, r8d
cmp eax, 0x39
ja 0x14005e40b
movabs rcx, 0x3ff280000000000
bt rcx, rax
jae 0x14005e40b
mov rax, qword [rbp - 0x80]
lea rcx, [rax + 4]
movzx eax, word [rax + 4]
cmp ax, 0x30
jb 0x14005d53b
cmp ax, 0x39
ja 0x14005d53b
movzx eax, word [rcx + 2]
add rcx, 2
cmp ax, 0x30
jae 0x14005d527
mov r11d, dword [rbp - 0x70]
cmp word [rcx], r9w
je 0x14005d554
mov rbx, qword [rbp - 0x80]
mov dword [rdi], reloc.WSOCK32.dll_gethostname
jmp 0x140021b48
mov r8, rdx
mov qword [rbp - 0x80], rdx
mov qword [rbp - 0x78], rdx
jmp 0x14005e7a4
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x80], rax
lea rcx, [rax + 2]
movzx eax, word [rax + 2]
cmp ax, 0x3c
je 0x14005d595
cmp ax, 0x27
je 0x14005d595
cmp ax, 0x7b
je 0x14005d595
mov rbx, qword [rbp - 0x80]
mov dword [rdi], 0x45
jmp 0x140021f93
mov rax, rcx
mov qword [rbp - 0x78], rcx
movzx eax, word [rcx]
mov r13d, 0x3e
mov esi, r15d
mov dword [rbp - 0x54], r15d
mov qword [rbp - 0x80], rcx
lea ebx, [r13 - 0x3d]
cmp ax, 0x3c
jne 0x14005d5c5
mov r9d, r13d
xor r8d, r8d
jmp 0x14005e41e
cmp ax, 0x27
mov r9d, 0x7d
mov eax, reloc.OLEAUT32.dll_SafeArrayRedim
cmove r9d, eax
xor r8d, r8d
jmp 0x14005e41e
mov r15d, ebx
neg r15d
mov dword [rbp - 0x40], r15d
jmp 0x14005e6e8
mov rax, qword [rbp + 0x190]
cmp dword [rax + 0x78], r15d
jne 0x140022097
mov ecx, 1
mov dword [rax + 0x78], ecx
jmp 0x140022097
mov rax, qword [rbp - 0x78]
add rax, 2
mov qword [rbp + 0x28], rax
mov rax, rbx
lea rbx, [0x140000000]
mov rbx, qword [rbx + rax*8 + 0xcc128]
sub rbx, 2
jmp 0x140021f93
cmp ebx, 0xe
jne 0x1400220c0
mov ebx, reloc.WSOCK32.dll_listen
jmp 0x1400220c0
lea r9, [rbp - 0x38]
lea r8, [rbp - 0x30]
lea rdx, [rbp + 0xb0]
lea rcx, [rbp - 0x78]
mov dword [rbp - 0x30], r15d
mov dword [rbp - 0x38], r15d
mov qword [rsp + 0x20], rdi
call fcn.1400a6fc8
test eax, eax
je 0x1400228c3
cmp ebx, 0x10
mov eax, r15d
mov ecx, r15d
sete al
mov r13, r14
mov qword [rbp - 0x48], r14
cmp eax, dword [rbp + 0xb0]
movzx eax, word [rbp - 0x30]
setne cl
add ecx, 0xf
add r14, 6
mov word [r14 - 6], cx
mov word [r14 - 4], ax
movzx eax, word [rbp - 0x38]
mov word [r14 - 2], ax
mov rbx, qword [rbp - 0x78]
mov qword [rbp - 0x60], r14
jmp 0x140021f93
lea rcx, [rax + 2]
movzx eax, word [rax + 2]
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x140021a2a
mov qword [rbp - 0x78], rcx
movzx eax, word [rcx]
mov esi, 2
mov word [rbp + 0x92], ax
jmp 0x140021a2a
movzx eax, word [rbp + 0x92]
and edx, 0x3ff
mov ecx, edx
and eax, 0x3ff
shl ecx, 0xa
mov edx, eax
or edx, ecx
add edx, 0x10000
jmp 0x140021a5a
or eax, 0xffffffff
mov dword [rbp - 0x18], eax
mov dword [rbp - 0x58], eax
jmp 0x140022479
mov r10, qword [rbp + 0x190]
or dword [r10 + 0x94], 0x800
jmp 0x140021aff
cmp dword [rbp + 0x18], 0
je 0x140021fbb
mov rbx, qword [rbp - 0x78]
mov dword [rbp - 0x3c], eax
mov dword [rbp - 0x58], eax
jmp 0x140021b48
movzx eax, word [r14 - 2]
mov rbx, qword [rbp - 0x78]
mov dword [rbp - 0x20], eax
mov eax, dword [r10 + 0x98]
mov dword [rbp - 0x3c], eax
jmp 0x140021b48
cmp dword [rbp + 0x18], 0
jne 0x140021cf5
jmp 0x140021b2f
movzx eax, word [r8 + 2]
lea r12, [r8 + 2]
cmp ax, 0x3a
je 0x14005d7af
mov r15, qword [rbp + 0x190]
mov ecx, 0xff
cmp ax, cx
ja 0x14005da26
movzx ecx, ax
mov rax, qword [r15 + 0x18]
test byte [rcx + rax], 2
je 0x14005da26
mov qword [rbp - 0x78], r12
movzx eax, word [r12]
mov r8d, 0xff
mov esi, edi
lea r15, [0x1400cb410]
mov r13, rdi
mov qword [rbp - 0x48], rdi
mov r14, r12
mov qword [rbp - 0x80], r12
cmp ax, r8w
ja 0x14005d805
mov rdx, qword [rbp + 0x190]
mov rcx, qword [rdx + 0x18]
movzx eax, ax
test byte [rax + rcx], 2
je 0x14005d801
add r14, 2
mov qword [rbp - 0x78], r14
movzx eax, word [r14]
cmp ax, r8w
jbe 0x14005d7e6
mov qword [rbp - 0x80], r14
mov rbx, qword [rbp - 0x80]
sub r14, r12
sar r14, 1
cmp word [rbx], 0x3a
jne 0x14005d86d
mov rsi, rbx
add rsi, 2
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x80], rsi
mov r13, rsi
movzx eax, word [rsi]
test ax, ax
je 0x14005d849
cmp ax, 0x29
je 0x14005d845
add rsi, 2
mov qword [rbp - 0x78], rsi
movzx eax, word [rsi]
test ax, ax
jne 0x14005d82f
mov qword [rbp - 0x80], rsi
mov rbx, qword [rbp - 0x80]
sub rsi, r13
sar rsi, 1
cmp esi, 0xffff
jbe 0x14005d86d
mov rax, qword [rbp + 0x158]
mov dword [rax], VarR8FromUI1
jmp 0x14005ee14
cmp word [rbx], 0x29
jne 0x14005ec51
mov dword [rbp - 0x38], edi
lea rbx, [0x1400cb340]
mov r11d, dword [rbx]
cmp r14d, r11d
jne 0x14005d942
mov r8d, r14d
mov rdx, r15
mov rcx, r12
call fcn.140022a04
test eax, eax
jne 0x14005d942
lea rax, [rdi + rdi*2]
lea rdx, [0x1400cb340]
mov ecx, dword [rdx + rax*4 + 4]
cmp ecx, 0x9e
jne 0x14005d973
test esi, esi
jne 0x14005ec2d
mov rdx, qword [rbp + 0x190]
mov r14, qword [rbp - 0x60]
mov r8d, 1
mov rcx, qword [rdx + 0x48]
mov dword [rdx + 0x9c], r8d
test rcx, rcx
je 0x14005d90c
mov edx, QueryPathOfRegTypeLib
mov word [r14], dx
movzx eax, word [rcx + 8]
add r14, 4
mov word [r14 - 2], ax
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14005d8ec
mov rdx, qword [rbp + 0x190]
xor eax, eax
cmp dword [rdx + 0x8c], eax
setg al
add r14, 2
add eax, 0x9e
cmp dword [rbp - 0x58], 0xfffffffe
mov qword [rbp - 0x60], r14
mov word [r14 - 2], ax
movzx ebx, ax
jne 0x14005d9e0
mov dword [rbp - 0x58], 0xffffffff
jmp 0x14005d9e0
inc dword [rbp - 0x38]
lea eax, [r11 + 1]
add rbx, 0xc
movsxd rcx, eax
lea rax, [0x1400cb3ac]
inc rdi
add r15, rcx
cmp rbx, rax
jl 0x14005d881
mov rbx, qword [rbp - 0x80]
mov r14, qword [rbp - 0x60]
jmp 0x14005da13
test esi, esi
jne 0x14005d98a
test ecx, ecx
js 0x14005ec3f
mov r14, qword [rbp - 0x60]
movzx eax, cx
mov ebx, eax
jmp 0x14005d9c7
cmp dword [rdx + rax*4 + 8], 0
jl 0x14005ec2d
movzx eax, word [rdx + rax*4 + 8]
mov r14, qword [rbp - 0x60]
mov rdx, r13
mov word [r14], ax
mov ebx, eax
lea eax, [rsi + rsi]
mov word [r14 + 2], si
add r14, 4
movsxd r8, eax
mov rcx, r14
call fcn.140025100
movsxd rax, esi
lea r14, [r14 + rax*2]
xor eax, eax
mov rdx, qword [rbp + 0x190]
mov word [r14], ax
add r14, 2
mov qword [rbp - 0x60], r14
mov r8d, 1
cmp ebx, 0x96
jl 0x14005da02
cmp ebx, 0x99
jle 0x14005da08
cmp ebx, 0x9b
jg 0x14005da02
or dword [rdx + 0x94], 0x1000
mov rbx, qword [rbp - 0x78]
jmp 0x14005da13
mov rbx, qword [rbp - 0x78]
mov dword [rdx + 0xa0], r8d
cmp dword [rbp - 0x38], 9
jge 0x14005ec51
mov r12d, dword [rbp - 0x50]
jmp 0x140021f8f
mov r12d, dword [rbp - 0x50]
jmp 0x140021bda
sub eax, 0x21
cmp eax, 0x5b
ja case.0x14005da56.47
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x5ef3e]
mov ecx, dword [rdx + rax*4 + 0x5ef02]
add rcx, rdx
jmp rcx
mov rax, qword [rbp - 0x80]
add rax, 2
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
movzx eax, word [rax]
test ax, ax
je 0x14005da8e
cmp ax, 0x29
je 0x14005daa4
mov rax, qword [rbp - 0x80]
add rax, 2
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
movzx eax, word [rax]
test ax, ax
jne 0x14005da70
mov rbx, qword [rbp - 0x80]
mov rax, qword [rbp + 0x158]
mov dword [rax], reloc.WSOCK32.dll_select
jmp 0x14005ee14
mov rbx, qword [rbp - 0x80]
cmp word [rbx], di
je 0x14005da92
mov r13, qword [rbp - 0x48]
jmp 0x140021b48
mov r10d, 1
mov r13d, 0x83
jmp 0x14005daca
mov r13d, 0x81
mov rcx, qword [rbp - 0x80]
jmp 0x14005dad6
mov r13d, 0x83
add rcx, 2
jmp 0x14005daf1
mov rcx, qword [rbp - 0x80]
inc dword [r15 + 0x8c]
mov r13d, 0x80
add rcx, 4
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x78], rcx
jmp 0x14005dee8
mov eax, 0x87
mov r13d, eax
mov dword [rbp - 0x48], eax
mov rax, qword [rbp - 0x80]
cmp word [rax + 2], 0x3f
mov r8, rax
mov qword [rbp + 0x60], rax
jne 0x14005db6d
cmp word [rax + 4], 0x43
jne 0x14005db6d
movzx eax, word [rax + 6]
mov ecx, 3
mov edx, ecx
cmp ax, 0x30
jb 0x14005db50
mov r10, r8
cmp ax, 0x39
ja 0x14005db4d
movzx eax, word [r10 + rcx*2 + 2]
inc rcx
inc edx
cmp ax, 0x30
jae 0x14005db36
mov r10d, edi
mov rax, qword [rbp - 0x80]
cmp word [rax + rcx*2], 0x29
jne 0x14005db6d
lea eax, [rdx + 1]
movsxd rcx, eax
mov rax, qword [rbp - 0x80]
lea r8, [rax + rcx*2]
mov qword [rbp + 0x60], r8
cmp word [r8 + 2], 0x3f
jne 0x14005db98
movzx eax, word [r8 + 4]
cmp ax, 0x21
je 0x14005dee8
sub ax, 0x3c
cmp ax, 1
ja 0x14005db98
mov ecx, 1
jmp 0x14002229f
mov eax, 0x8d
or edx, 0xffffffff
mov word [r14 + 4], ax
mov eax, 2
mov r8d, edx
mov r9d, eax
mov dword [rbp - 0x4c], eax
mov rax, qword [rbp - 0x78]
add rax, r9
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x80], rax
movzx ecx, word [rax]
cmp cx, 0x52
jne 0x14005dbf6
cmp word [rax + 2], 0x26
jne 0x14005dbf6
add rax, 4
mov edi, edx
mov dword [rbp - 0x38], edx
mov qword [rbp - 0x78], rax
mov eax, VariantChangeTypeEx
mov word [r14 + 4], ax
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x80], rax
jmp 0x14005dd12
cmp cx, 0x3c
jne 0x14005dc1d
mov ecx, 0x3e
jmp 0x14005dc08
mov ecx, reloc.OLEAUT32.dll_SafeArrayRedim
add rax, r9
mov edi, ecx
mov dword [rbp - 0x38], ecx
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
jmp 0x14005dd12
cmp cx, 0x27
je 0x14005dc03
lea eax, [rcx - 0x2b]
mov edx, 0xfffd
mov dword [rbp - 0x38], edi
test dx, ax
je 0x14005dc52
cmp cx, 0x30
jb 0x14005dd22
cmp cx, 0x39
ja 0x14005dd0e
xor eax, eax
mov r8d, eax
mov rax, qword [rbp - 0x80]
jmp 0x14005dc6e
mov rax, qword [rbp - 0x80]
movzx r8d, cx
add rax, r9
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
test r8d, r8d
js 0x14005dd12
movzx edx, word [rax]
xor ecx, ecx
mov r11d, ecx
mov dword [rbp - 0x40], ecx
cmp dx, 0x30
jb 0x14005dcb0
cmp dx, 0x39
ja 0x14005dcb0
movzx eax, dx
lea r11d, [r11 + r11*4]
lea r11d, [r11 - 0x18]
lea r11d, [rax + r11*2]
mov rax, qword [rbp - 0x80]
add rax, r9
mov dword [rbp - 0x40], r11d
mov qword [rbp - 0x78], rax
movzx edx, word [rax]
mov qword [rbp - 0x80], rax
cmp dx, 0x30
jae 0x14005dc7f
mov rdx, qword [rbp + 0x10]
mov rcx, qword [rbp - 0x80]
movzx eax, word [rax]
add rcx, r9
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x78], rcx
cmp ax, 0x29
jne 0x14005ec87
test rsi, rsi
jne 0x14005dee8
test r8d, r8d
js 0x14005ddf8
test r11d, r11d
jle 0x14005ec75
test r8d, r8d
je 0x14005ddd3
cmp r8d, 0x2d
jne 0x14005ddcb
mov eax, dword [r15 + 0x70]
sub eax, r11d
lea r11d, [rax + 1]
jmp 0x14005ddcf
mov rax, qword [rbp - 0x80]
movzx ecx, word [rax]
lea eax, [rcx - 0x30]
cmp ax, 9
jbe 0x14005ecb2
mov eax, 0xff
cmp cx, ax
ja 0x14005eca0
mov rax, qword [r15 + 0x18]
movzx ecx, cx
test byte [rcx + rax], 0x10
je 0x14005eca0
mov rdx, qword [rbp - 0x80]
mov ecx, 0xff
mov r11, rdx
mov qword [rbp + 0x40], rdx
add rdx, r9
mov qword [rbp - 0x78], rdx
movzx eax, word [rdx]
mov qword [rbp - 0x80], rdx
cmp ax, cx
ja 0x14005dd88
mov rcx, qword [r15 + 0x18]
movzx eax, ax
test byte [rax + rcx], 0x10
je 0x14005dd84
add rdx, r9
mov qword [rbp - 0x78], rdx
movzx eax, word [rdx]
cmp ax, word [rbp + 0xbc]
jbe 0x14005dd68
mov qword [rbp - 0x80], rdx
mov rax, qword [rbp - 0x80]
mov rdx, rax
sub rdx, r11
sar rdx, 1
mov qword [rbp + 0x10], rdx
test rsi, rsi
je 0x14005dda0
inc dword [rsi]
test edi, edi
jle 0x14005ddc2
mov rcx, qword [rbp - 0x80]
movzx eax, word [rax]
add rcx, r9
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x78], rcx
cmp ax, di
jne 0x14005ec87
mov rax, rcx
mov r11d, dword [rbp - 0x40]
jmp 0x14005dcb4
add r11d, dword [r15 + 0x70]
mov dword [rbp - 0x40], r11d
test r11d, r11d
jle 0x14005ec63
cmp r11d, dword [r15 + 0x74]
jg 0x14005ec63
mov word [r14 + 6], r11w
mov rcx, qword [rbp - 0x78]
mov qword [rbp - 0x80], rcx
jmp 0x14005dee8
mov r14, qword [r15 + 0x58]
mov r15d, dword [r15 + 0x60]
xor eax, eax
mov r11d, eax
test r15d, r15d
jle 0x14005de50
mov r12, qword [rbp + 0x190]
mov rsi, qword [rbp + 0x10]
mov rdi, qword [rbp + 0x40]
lea rdx, [r14 + 2]
mov r8d, esi
mov rcx, rdi
call fcn.1400a7520
test eax, eax
je 0x14005de3d
movsxd rax, dword [r12 + 0x64]
inc r11d
lea r14, [r14 + rax*2]
cmp r11d, r15d
jl 0x14005de19
mov edi, dword [rbp - 0x38]
mov r9d, dword [rbp - 0x4c]
mov r10d, dword [rbp - 0x54]
mov r12d, dword [rbp - 0x50]
mov rdx, qword [rbp + 0x10]
cmp r11d, r15d
jge 0x14005df13
movzx eax, word [r14]
mov dword [rbp - 0x30], r11d
inc r11d
mov edi, 1
mov dword [rbp - 0x40], eax
cmp r11d, r15d
jge 0x14005df00
mov rax, qword [rbp + 0x190]
mov r12, qword [rbp + 0x10]
mov r13, qword [rbp + 0x40]
movsxd rsi, dword [rax + 0x64]
add rsi, rsi
add r14, rsi
mov r8d, r12d
mov rcx, r13
lea rdx, [r14 + 2]
call fcn.1400a7520
test eax, eax
jne 0x14005deab
inc r11d
inc edi
cmp r11d, r15d
jl 0x14005de8b
mov r12d, dword [rbp - 0x30]
mov r13d, dword [rbp - 0x48]
cmp edi, 1
jle 0x14005def5
mov r14, qword [rbp - 0x60]
mov r9d, 3
inc word [r14 + 4]
mov word [r14 + 6], r12w
mov word [r14 + 8], di
mov r10, qword [rbp - 0x78]
mov qword [rbp - 0x80], r10
mov r10d, dword [rbp - 0x54]
mov r12d, dword [rbp - 0x50]
mov r15, qword [rbp + 0x190]
xor r11d, r11d
mov ecx, 1
jmp 0x1400222a2
mov r9d, dword [rbp - 0x4c]
mov r10d, dword [rbp - 0x54]
mov eax, dword [rbp - 0x40]
mov r14, qword [rbp - 0x60]
mov word [r14 + 6], ax
mov rcx, qword [rbp - 0x78]
mov qword [rbp - 0x80], rcx
jmp 0x14005dedd
test edi, edi
jne 0x14005ec63
mov rax, qword [rbp + 0x40]
cmp word [rax], 0x52
jne 0x14005dfa0
xor r11d, r11d
mov r9d, 1
mov ecx, r11d
cmp edx, r9d
jle 0x14005df6d
lea rdx, [rax + 2]
movzx r8d, word [rdx]
lea eax, [r8 - 0x30]
cmp ax, 9
ja 0x14005ec63
lea ecx, [rcx + rcx*4]
movzx eax, r8w
inc r9d
lea ecx, [rcx - 0x18]
add rdx, 2
lea ecx, [rax + rcx*2]
mov dword [rbp - 0x40], ecx
cmp r9d, dword [rbp + 0x10]
jl 0x14005df3a
test ecx, ecx
jne 0x14005df75
mov ecx, 0xffff
mov dword [rbp - 0x40], ecx
mov r14, qword [rbp - 0x60]
mov r15, qword [rbp + 0x190]
mov eax, VariantChangeTypeEx
mov word [r14 + 4], ax
mov word [r14 + 6], cx
mov r9, qword [rbp - 0x78]
mov qword [rbp - 0x80], r9
mov r9d, dword [rbp - 0x4c]
jmp 0x14005deeb
cmp edx, 6
jne 0x14005ec63
mov r8d, edx
lea rdx, str.DEFINE
mov rcx, rax
call fcn.140022a04
test eax, eax
jne 0x14005ec63
mov r14, qword [rbp - 0x60]
mov r15, qword [rbp + 0x190]
mov eax, VariantChangeTypeEx
mov word [r14 + 4], ax
mov r10, qword [rbp - 0x78]
mov ecx, 1
mov qword [rbp - 0x80], r10
mov r10d, dword [rbp - 0x54]
mov r9d, ecx
xor r11d, r11d
jmp 0x1400222a2
inc dword [r15 + 0x8c]
mov r13d, 0x7d
jmp 0x14005daca
mov r13, qword [rbp - 0x80]
add r13, 2
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x80], r13
cmp word [r13], 0x29
jne 0x14005e067
movzx ecx, word [r13 + 2]
lea eax, [rcx - 0x2a]
cmp ax, 1
jbe 0x14005e067
cmp cx, 0x3f
je 0x14005e067
cmp cx, 0x7b
jne 0x14005e045
lea rcx, [r13 + 4]
call fcn.1400a7120
test eax, eax
jne 0x14005e067
mov eax, 0x9d
add r14, 2
mov r13, rdi
mov word [r14 - 2], ax
mov rbx, qword [rbp - 0x78]
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x48], rdi
jmp 0x140021b48
inc dword [r15 + 0x8c]
mov r13d, 0x7e
jmp 0x14005dee8
mov rax, qword [rbp - 0x80]
movzx eax, word [rax + 2]
cmp eax, 0x21
je 0x14005dadc
cmp eax, 0x3d
je 0x14005e0c5
mov r11d, 0xff
cmp ax, r11w
ja 0x14005e0ab
mov ecx, eax
mov rax, qword [r15 + 0x18]
test byte [rcx + rax], 0x10
jne 0x14005e2a2
mov rax, qword [rbp + 0x158]
mov rbx, qword [rbp - 0x80]
mov dword [rax], reloc.OLEAUT32.dll_SafeArrayGetElement
add rbx, 2
jmp 0x14005ee14
mov rcx, qword [rbp - 0x80]
inc dword [r15 + 0x8c]
mov r13d, 0x7f
add rcx, 4
jmp 0x14005daf1
mov eax, 0x76
mov qword [rbp + 0x50], r14
mov dword [rbp + 0x38], 1
mov word [r14], ax
mov rdx, qword [rbp - 0x78]
mov eax, edi
add rdx, 2
mov qword [rbp - 0x80], rdx
mov qword [rbp - 0x78], rdx
movzx edx, word [rdx]
mov rbx, qword [rbp - 0x80]
cmp dx, 0x30
jb 0x14005e135
cmp dx, 0x39
ja 0x14005e135
lea ecx, [rax + rax*4]
add rbx, 2
movzx eax, dx
mov qword [rbp - 0x78], rbx
movzx edx, word [rbx]
lea eax, [rax + rcx*2]
add eax, 0xffffffd0
cmp dx, 0x30
jae 0x14005e112
cmp word [rbx], 0x29
jne 0x14005ecd6
mov ecx, 0xff
cmp eax, ecx
jg 0x14005ecc4
mov word [r14 + 2], ax
mov eax, dword [rbp - 0x78]
mov r13, rdi
sub eax, dword [r15 + 0x30]
mov word [r14 + 6], di
mov qword [rbp - 0x48], rdi
sar rax, 1
inc ax
add r14, 8
mov word [r14 - 4], ax
mov rbx, qword [rbp - 0x78]
mov qword [rbp - 0x60], r14
jmp 0x140021b48
mov rax, qword [rbp - 0x80]
add rax, 2
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
movzx eax, word [rax]
cmp ax, 0x3d
je 0x14005e27d
cmp ax, 0x3e
je 0x14005e271
cmp ax, 0x3c
jne 0x14005ece9
mov r11d, 0xff
mov r8d, 0x3e
mov rax, qword [rbp - 0x80]
add rax, 2
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x80], rax
mov r9, rax
movzx ecx, word [rax]
mov qword [rbp + 0x40], rax
lea eax, [rcx - 0x30]
cmp ax, 9
jbe 0x14005ecb2
mov r14, r9
cmp cx, r11w
ja 0x14005e210
mov rdx, qword [r15 + 0x18]
movzx eax, cx
test byte [rax + rdx], 0x10
je 0x14005e20c
add r14, 2
mov qword [rbp - 0x78], r14
movzx ecx, word [r14]
cmp cx, r11w
jbe 0x14005e1f1
mov qword [rbp - 0x80], r14
mov rax, r14
sub rax, r9
sar rax, 1
mov edx, eax
mov qword [rbp + 0x10], rdx
test rsi, rsi
je 0x14005e3ea
mov r14d, dword [r15 + 0x70]
mov rcx, qword [rbp - 0x80]
inc r14d
cmp word [rcx], r8w
jne 0x14005ed35
mov esi, dword [r15 + 0x60]
cmp esi, 0x2710
jge 0x14005ed23
add eax, 2
cmp eax, dword [r15 + 0x64]
jle 0x14005e2b7
mov dword [r15 + 0x64], eax
cmp edx, 0x20
jle 0x14005e2b7
mov rax, qword [rbp + 0x158]
mov dword [rax], gethostbyname
jmp 0x14005ee10
mov ebx, 1
mov esi, ebx
mov dword [rbp - 0x54], ebx
jmp 0x14005e287
mov esi, edi
mov dword [rbp - 0x54], edi
mov ebx, 1
mov rdi, qword [rbp + 0x158]
mov r9d, reloc.OLEAUT32.dll_SafeArrayCreateEx
xor r8d, r8d
jmp 0x14005e415
mov r11d, 0xff
cmp r8d, 0x3c
je 0x14005e1b7
mov r8d, reloc.OLEAUT32.dll_SafeArrayRedim
jmp 0x14005e1bd
mov r11, qword [r15 + 0x50]
test esi, esi
jle 0x14005e349
mov r15d, dword [rbp - 0x70]
cmp edx, dword [r11 + 8]
jne 0x14005e31e
mov r8d, edx
mov rdx, qword [r11]
mov rcx, r9
call fcn.1400a7520
test eax, eax
jne 0x14005e316
cmp dword [r11 + 0xc], r14d
je 0x14005e336
bt r15d, 0x13
jae 0x14005ecfb
mov rax, qword [rbp + 0x190]
mov rdx, qword [rbp + 0x10]
mov r9, qword [rbp + 0x40]
mov ecx, 1
mov dword [rax + 0xa8], ecx
inc edi
add r11, 0x10
cmp edi, esi
jl 0x14005e2c7
jmp 0x14005e33e
mov rdx, qword [rbp + 0x10]
mov r9, qword [rbp + 0x40]
cmp dword [r11 + 0xc], r14d
jne 0x14005e30a
mov rax, qword [rbp + 0x158]
mov dword [rax], 0x41
jmp 0x14005ee10
mov rdx, qword [rbp + 0x10]
mov r9, qword [rbp + 0x40]
mov r15, qword [rbp + 0x190]
mov r10d, dword [rbp - 0x54]
cmp edi, esi
jl 0x14005e3e6
mov eax, dword [r15 + 0x68]
cmp esi, eax
jl 0x14005e3ae
lea esi, [rax + rax]
movsxd rcx, esi
shl rcx, 4
call qword [case.0x140061493.1]
mov rdi, rax
test rax, rax
je 0x14005ed0d
movsxd r8, dword [r15 + 0x68]
mov rdx, qword [r15 + 0x50]
mov rcx, rax
shl r8, 4
call fcn.140025100
cmp dword [r15 + 0x68], 0x14
jle 0x14005e39a
mov rcx, qword [r15 + 0x50]
call qword [fcn.140023700]
mov r10d, dword [rbp - 0x54]
mov rdx, qword [rbp + 0x10]
mov r9, qword [rbp + 0x40]
mov qword [r15 + 0x50], rdi
mov dword [r15 + 0x68], esi
movsxd rcx, dword [r15 + 0x60]
mov rax, qword [r15 + 0x50]
add rcx, rcx
mov qword [rax + rcx*8], r9
movsxd rcx, dword [r15 + 0x60]
mov rax, qword [r15 + 0x50]
add rcx, rcx
mov dword [rax + rcx*8 + 8], edx
movsxd rcx, dword [r15 + 0x60]
mov rax, qword [r15 + 0x50]
add rcx, rcx
mov dword [rax + rcx*8 + 0xc], r14d
inc dword [r15 + 0x60]
mov r14, qword [rbp - 0x78]
jmp 0x14005e3ea
mov r14, qword [rbp - 0x80]
add r14, 2
mov qword [rbp - 0x78], r14
mov r14, qword [rbp - 0x60]
jmp 0x140022280
mov rdi, qword [rbp + 0x158]
mov r9d, reloc.OLEAUT32.dll_SafeArrayCreateEx
xor r8d, r8d
mov ebx, 1
mov dword [rbp - 0x54], ebx
mov esi, ebx
mov edx, dword [rbp - 0x58]
mov r13d, 0x3e
mov rax, qword [rbp - 0x80]
add rax, 2
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x80], rax
mov r15, rax
movzx ecx, word [rax]
mov qword [rbp + 0x40], rax
lea eax, [rcx - 0x30]
cmp ax, 9
jbe 0x14005ed65
mov r10, qword [rbp + 0x190]
mov r11d, 0xff
cmp cx, r11w
ja 0x14005e483
mov rdx, qword [r10 + 0x18]
mov rsi, r15
movzx eax, cx
test byte [rax + rdx], 0x10
je 0x14005e479
add rsi, 2
mov qword [rbp - 0x78], rsi
movzx ecx, word [rsi]
cmp cx, r11w
jbe 0x14005e45f
mov edx, dword [rbp - 0x58]
mov qword [rbp - 0x80], rsi
mov esi, dword [rbp - 0x54]
mov rax, qword [rbp - 0x80]
sub rax, r15
sar rax, 1
cmp qword [rbp + 0x198], 0
mov qword [rbp + 0x10], rax
je 0x14005e52c
mov rbx, qword [rbp - 0x80]
test eax, eax
je 0x14005ed5d
cmp word [rbx], r9w
jne 0x14005ed52
cmp eax, 0x20
jg 0x14005ed47
mov edi, dword [r10 + 0x60]
mov r11, qword [r10 + 0x50]
mov ebx, r8d
test edi, edi
jle 0x14005e503
mov r12, rax
cmp r12d, dword [r11 + 8]
jne 0x14005e4e8
mov rdx, qword [r11]
mov r8d, r12d
mov rcx, r15
call fcn.1400a7520
test eax, eax
je 0x14005e4f2
inc ebx
add r11, 0x10
cmp ebx, edi
jl 0x14005e4d0
mov r12d, dword [rbp - 0x50]
mov r10, qword [rbp + 0x190]
mov edx, dword [rbp - 0x58]
xor r8d, r8d
cmp ebx, edi
jge 0x14005e511
mov r15d, dword [r11 + 0xc]
mov dword [rbp - 0x40], r15d
jmp 0x14005e518
mov r15d, r8d
mov dword [rbp - 0x40], r8d
test esi, esi
jne 0x14005e8aa
inc dword [r10 + 0x84]
jmp 0x14005e6f2
mov edi, dword [r10 + 0x60]
mov r14, qword [r10 + 0x58]
mov r11d, r8d
test edi, edi
jle 0x14005e58b
mov r12, qword [rbp + 0x10]
movsxd rbx, r12d
lea rdx, [r14 + 2]
mov r8d, r12d
mov rcx, r15
call fcn.1400a7520
test eax, eax
jne 0x14005e566
cmp word [r14 + rbx*2 + 2], ax
jne 0x14005e566
mov r10, qword [rbp + 0x190]
jmp 0x14005e57d
mov r10, qword [rbp + 0x190]
inc r11d
movsxd rax, dword [r10 + 0x64]
lea r14, [r14 + rax*2]
cmp r11d, edi
jl 0x14005e542
mov r12d, dword [rbp - 0x50]
mov edx, dword [rbp - 0x58]
xor r8d, r8d
lea ebx, [r8 + 1]
cmp r11d, edi
jge 0x14005ec63
movzx r15d, word [r14]
mov dword [rbp - 0x40], r15d
test esi, esi
jne 0x14005e8a6
cmp dword [r10 + 0xa8], esi
je 0x14005e6d7
mov rax, qword [rbp + 0x190]
mov esi, r11d
inc r11d
movsxd rax, dword [rax + 0x64]
mov r10d, ebx
lea r15, [r14 + rax*2]
cmp r11d, edi
jge 0x14005e6c6
mov r12, qword [rbp + 0x190]
lea rdx, [r15 + 2]
lea rcx, [r14 + 2]
call fcn.1400a74f0
test eax, eax
jne 0x14005e5fe
movsxd rax, dword [r12 + 0x64]
inc r11d
inc r10d
lea r15, [r15 + rax*2]
cmp r11d, edi
jl 0x14005e5d9
mov r12d, dword [rbp - 0x50]
cmp r10d, 1
jle 0x14005e6dd
mov eax, dword [rbp - 0x58]
mov r11d, dword [rbp - 0x70]
mov ecx, 0xffffffff
cmp eax, 0xfffffffe
cmove eax, ecx
mov rcx, qword [rbp - 0x60]
test r11b, 1
mov dword [rbp - 0x58], eax
mov eax, 0
setne al
add eax, 0x73
mov r13, rcx
mov qword [rbp - 0x48], rcx
mov word [rcx], ax
mov word [rcx + 2], si
add rcx, 6
mov word [rcx - 2], r10w
mov qword [rbp - 0x60], rcx
cmp r14, r15
jae 0x14005e9fc
mov rdx, qword [rbp + 0x190]
mov r9d, 1
movzx r8d, word [r14]
mov eax, r9d
mov dword [rbp - 0x40], r8d
cmp r8d, 0x20
jge 0x14005e67b
mov ecx, r8d
shl eax, cl
or dword [rdx + 0x80], eax
cmp r8d, dword [rdx + 0x7c]
jle 0x14005e68b
mov dword [rdx + 0x7c], r8d
mov rcx, qword [rdx + 0x48]
test rcx, rcx
je 0x14005e6ac
movzx eax, word [rcx + 8]
cmp eax, r8d
je 0x14005e6a7
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14005e694
jmp 0x14005e6ac
mov word [rcx + 0xa], r9w
movsxd rax, dword [rdx + 0x64]
lea r14, [r14 + rax*2]
cmp r14, r15
jb 0x14005e665
mov rbx, qword [rbp - 0x78]
mov r14, qword [rbp - 0x60]
jmp 0x140021b48
mov r14, qword [rbp - 0x60]
mov r10, qword [rbp + 0x190]
mov r15d, dword [rbp - 0x40]
jmp 0x14005e6f7
mov r14, qword [rbp - 0x60]
jmp 0x14005e6f7
mov r14, qword [rbp - 0x60]
mov edx, dword [rbp - 0x58]
mov r15d, dword [rbp - 0x40]
mov r10, qword [rbp + 0x190]
xor r8d, r8d
mov ebx, 1
mov r11d, dword [rbp - 0x70]
cmp edx, 0xfffffffe
mov eax, 0xffffffff
cmove edx, eax
test r11b, 1
mov eax, r8d
setne al
mov r13, r14
mov qword [rbp - 0x48], r14
add eax, 0x71
add r14, 4
mov dword [rbp - 0x58], edx
mov word [r14 - 4], ax
mov word [r14 - 2], r15w
mov qword [rbp - 0x60], r14
mov eax, ebx
cmp r15d, 0x20
jge 0x14005e73c
mov ecx, r15d
shl eax, cl
or dword [r10 + 0x80], eax
cmp r15d, dword [r10 + 0x7c]
jle 0x14005e74d
mov dword [r10 + 0x7c], r15d
mov rcx, qword [r10 + 0x48]
test rcx, rcx
je 0x140021cf5
movzx eax, word [rcx + 8]
cmp eax, r15d
je 0x14005e774
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14005e75a
mov rbx, qword [rbp - 0x78]
jmp 0x140021b48
mov word [rcx + 0xa], bx
mov rbx, qword [rbp - 0x78]
jmp 0x140021b48
mov r8, qword [rbp - 0x80]
add r8, 2
mov qword [rbp - 0x80], r8
mov qword [rbp - 0x78], r8
jmp 0x14005e797
mov r8, qword [rbp - 0x80]
mov rdi, qword [rbp + 0x158]
mov r9d, reloc.OLEAUT32.dll_SafeArrayCreateEx
movzx r8d, word [r8]
cmp r8d, 0x2b
jne 0x14005e7d6
mov rax, qword [rbp - 0x80]
add rax, 2
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
movzx eax, word [rax]
sub ax, 0x30
cmp ax, 9
jbe 0x14005e803
mov dword [rdi], 0x3f
jmp 0x14005ee10
cmp r8d, 0x2d
jne 0x14005e803
mov rcx, qword [rbp - 0x80]
movzx eax, word [rcx + 2]
add rcx, 2
sub ax, 0x30
cmp ax, 9
ja 0x14005ea05
mov rdx, rcx
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x78], rcx
jmp 0x14005e807
mov rdx, qword [rbp - 0x80]
movzx edx, word [rdx]
mov rbx, qword [rbp - 0x80]
xor eax, eax
mov r15d, eax
mov dword [rbp - 0x40], eax
cmp dx, 0x30
jb 0x14005e846
cmp dx, 0x39
ja 0x14005e842
add rbx, 2
lea r15d, [r15 + r15*4]
movzx eax, dx
mov qword [rbp - 0x78], rbx
movzx edx, word [rbx]
lea r15d, [r15 - 0x18]
lea r15d, [rax + r15*2]
cmp dx, 0x30
jae 0x14005e81c
mov dword [rbp - 0x40], r15d
cmp word [rbx], r9w
jne 0x14005eda4
cmp r8d, 0x2d
jne 0x14005e886
test r15d, r15d
je 0x14005ed70
mov r10, qword [rbp + 0x190]
mov eax, dword [r10 + 0x70]
sub eax, r15d
lea r15d, [rax + 1]
mov dword [rbp - 0x40], r15d
test r15d, r15d
jg 0x14005e8be
mov eax, reloc.WSOCK32.dll_ntohs
mov dword [rdi], eax
jmp 0x14005ee14
cmp r8d, 0x2b
jne 0x14005e8b7
test r15d, r15d
je 0x14005ed70
mov r10, qword [rbp + 0x190]
add r15d, dword [r10 + 0x70]
mov dword [rbp - 0x40], r15d
jmp 0x14005e8be
mov r14, qword [rbp - 0x60]
mov r11d, dword [rbp - 0x70]
mov rsi, qword [rbp + 0x198]
jmp 0x14005e8c4
mov r10, qword [rbp + 0x190]
mov edx, dword [rbp - 0x58]
xor r8d, r8d
mov rbx, qword [r10 + 0x28]
mov r13, r14
mov qword [rbp - 0x48], r14
test rsi, rsi
jne 0x14005e9bf
mov edi, dword [rbp - 0x68]
mov word [r14], r8w
test r15d, r15d
je 0x14005e906
mov rcx, qword [r10 + 0x28]
mov r8d, r15d
mov edx, edi
call fcn.1400a63b0
mov r11d, dword [rbp - 0x70]
mov r10, qword [rbp + 0x190]
mov edx, dword [rbp - 0x58]
mov rbx, rax
xor r8d, r8d
test rbx, rbx
jne 0x14005e97c
cmp r15d, dword [r10 + 0x74]
jg 0x14005ed7b
mov rax, qword [r10 + 0x28]
movsxd rcx, r15d
lea rbx, [rax + rcx*2]
movsxd rcx, dword [r10 + 0x6c]
mov rax, qword [r10 + 0x20]
add rcx, 0xffffffffffffff9c
lea rcx, [rax + rcx*2]
cmp qword [r10 + 0x40], rcx
jb 0x14005e960
mov rcx, r10
call fcn.1400a6b2c
mov rcx, qword [rbp + 0x158]
mov dword [rcx], eax
test eax, eax
jne 0x1400228c3
mov r11d, dword [rbp - 0x70]
mov r10, qword [rbp + 0x190]
mov edx, dword [rbp - 0x58]
xor r8d, r8d
mov rax, qword [r10 + 0x40]
mov ecx, r14d
sub ecx, dword [r10 + 0x28]
add rcx, 2
sar rcx, 1
mov word [rax], cx
add qword [r10 + 0x40], 2
jmp 0x14005e9bf
cmp word [rbx + 2], 0
jne 0x14005e9bf
cmp dword [rbp + 0x188], 0
jg 0x14005e9bf
mov r8, qword [rbp + 0x180]
mov r9d, edi
mov rdx, r14
mov rcx, rbx
mov qword [rsp + 0x20], r10
call fcn.1400a6abc
test eax, eax
jne 0x14005ed91
mov r11d, dword [rbp - 0x70]
mov r10, qword [rbp + 0x190]
mov edx, dword [rbp - 0x58]
xor r8d, r8d
mov eax, 0x75
add r14, 4
mov dword [rbp + 0x48], r8d
mov word [r14 - 4], ax
mov eax, ebx
mov qword [rbp - 0x60], r14
sub eax, dword [r10 + 0x28]
sar rax, 1
mov word [r14 - 2], ax
cmp edx, 0xfffffffe
jne 0x140021cf5
mov rbx, qword [rbp - 0x78]
mov dword [rbp - 0x58], 0xffffffff
jmp 0x140021b48
mov r14, qword [rbp - 0x60]
jmp 0x140021cf5
mov r9d, dword [rbp - 0x4c]
xor edi, edi
jmp case.0x14005da56.47
sub eax, 0x2d
cmp eax, 0x4b
ja case.0x14005ea39.52
lea r8, [0x140000000]
cdqe
movzx eax, byte [r8 + rax + 0x5efba]
mov ecx, dword [r8 + rax*4 + 0x5ef9a]
add rcx, r8
jmp rcx
lea rdx, [rbp - 0x38]
jmp 0x140021c46
or dword [rdx], 0x80000
or dword [r15 + 0x94], 0x400
jmp 0x140021c46
or dword [rdx], 2
jmp 0x140021c46
or dword [rdx], 4
jmp 0x140021c46
or dword [rdx], 8
jmp 0x140021c46
or dword [rdx], 0x200
jmp 0x140021c46
or dword [rdx], 0x40
jmp 0x140021c46
test rsi, rsi
je 0x14005ea93
cmp dword [rsi], 4
jne 0x140021c81
mov dword [r15 + 0x90], ebx
jmp 0x140021caa
mov r13d, 0x83
jmp 0x14005dee8
xor r9d, r9d
cmp dword [rcx + 0x70], edi
ja 0x1400223bb
mov eax, 0x82
mov word [r14], ax
jmp 0x1400223bb
dec dword [rcx + 0x8c]
jmp 0x1400223aa
test r15, r15
jne 0x1400223bb
mov rcx, r14
mov edx, r9d
movzx eax, word [rcx + 2]
inc edx
cmp word [rcx + rax*2], 0x78
lea rcx, [rcx + rax*2]
jne 0x14005eade
mov eax, VariantChangeTypeEx
cmp word [r14 + 4], ax
jne 0x14005eb0c
cmp edx, 1
jg 0x14005edbf
mov r13d, eax
jmp 0x1400223bb
cmp edx, 2
jg 0x14005edd2
cmp edx, 1
jne 0x1400223bb
or r11d, 0xffffffff
mov eax, r11d
mov ecx, r11d
mov dword [rbp + 0x20], eax
mov dword [rbp + 0x34], ecx
jmp 0x1400223c5
test ecx, ecx
js 0x14005eb4c
mov edx, dword [rbp + 0x88]
mov dword [rbp - 0x58], ecx
mov dword [rbp + 0x48], 1
mov dword [rbp - 0x1c], edx
jmp 0x14005eb50
mov dword [rbp - 0x58], r11d
mov dword [rbp - 0x18], r11d
jmp 0x1400224eb
cmp r13d, 0x7d
jne 0x140021f8f
mov r11d, dword [rbp - 0x70]
mov r13, qword [rbp - 0x48]
mov r9d, dword [rbp - 0x6c]
mov edi, 0x7fffffeb
test eax, eax
js 0x140021b51
mov ecx, dword [rbp + 0x5c]
mov dword [rbp - 0x3c], eax
mov dword [rbp - 0x20], ecx
jmp 0x140021b51
mov rax, qword [rbp + 0x158]
mov dword [rax], reloc.WSOCK32.dll_sendto
jmp 0x14005ee10
mov rax, qword [rbp + 0x158]
mov dword [rax], CreateStdDispatch
jmp 0x14005ee10
mov rcx, qword [rbp + 0x158]
mov eax, reloc.OLEAUT32.dll_CreateStdDispatch
mov dword [rcx], eax
jmp 0x14005ee10
mov dword [rdi], 7
jmp 0x1400228c3
mov rbx, qword [rbp - 0x78]
mov dword [rdi], 0x47
jmp 0x14005ee14
mov dword [r14], 0x53
jmp 0x14005ee14
mov dword [r14], 8
jmp 0x14005ee14
mov rax, qword [rbp + 0x158]
mov dword [rax], reloc.WSOCK32.dll_sendto
jmp 0x14005ee14
mov rax, qword [rbp + 0x158]
mov dword [rax], 9
jmp 0x14005ee14
mov rax, qword [rbp + 0x158]
mov rbx, qword [rbp - 0x80]
mov dword [rax], reloc.WSOCK32.dll_sendto
jmp 0x14005ee1b
mov rax, qword [rbp + 0x158]
mov dword [rax], 0x3b
jmp 0x14005ee10
mov rax, qword [rbp + 0x158]
mov dword [rax], 0x42
jmp 0x14005ee10
mov rax, qword [rbp + 0x158]
mov dword [rax], 0x3c
jmp 0x14005ee14
mov rax, qword [rbp + 0x158]
mov dword [rax], reloc.WSOCK32.dll_ntohs
jmp 0x14005ee10
mov rax, qword [rbp + 0x158]
mov dword [rax], SafeArrayDestroyData
jmp 0x14005ee10
mov rax, qword [rbp + 0x158]
mov rbx, qword [rbp - 0x80]
mov dword [rax], CreateStdDispatch
sub rbx, r9
jmp 0x14005ee14
mov rax, qword [rbp + 0x158]
mov dword [rax], CreateStdDispatch
jmp 0x14005ee10
mov rax, qword [rbp + 0x158]
mov dword [rax], 0x54
jmp 0x14005ee10
mov rax, qword [rbp + 0x158]
mov dword [rax], reloc.OLEAUT32.dll_SafeArrayDestroyData
jmp 0x14005ee14
mov rax, qword [rbp + 0x158]
mov ecx, reloc.OLEAUT32.dll_SafeArrayRedim
mov dword [rax], ecx
jmp 0x14005ee14
mov rax, qword [rbp + 0x158]
mov dword [rax], reloc.OLEAUT32.dll_SafeArrayCreateEx
jmp 0x14005ee10
mov rax, qword [rbp + 0x158]
mov dword [rax], 0x2b
jmp 0x14005ee10
mov rax, qword [rbp + 0x158]
mov rbx, qword [rbp - 0x78]
mov dword [rax], reloc.WSOCK32.dll_setsockopt
jmp 0x14005ee14
mov rax, qword [rbp + 0x158]
mov dword [rax], gethostbyname
jmp 0x14005ee10
mov rax, qword [rbp + 0x158]
mov dword [rax], 0x2a
jmp 0x14005ee10
mov dword [rdi], gethostbyname
jmp 0x14005ee14
mov dword [rdi], 0x2a
jmp 0x14005ee14
mov dword [rdi], r13d
jmp 0x14005ee14
mov dword [rdi], 0x54
jmp 0x14005ee10
mov dword [rdi], 0x3a
jmp 0x14005ee14
mov rax, qword [rbp + 0x158]
mov rbx, qword [rbp - 0x78]
mov dword [rax], reloc.WSOCK32.dll_ntohs
jmp 0x14005ee14
mov rax, qword [rbp + 0x158]
mov rbx, qword [rbp - 0x78]
mov dword [rax], SafeArrayCreateEx
jmp 0x14005ee14
mov dword [rdi], CreateStdDispatch
jmp 0x14005ee14
mov rax, qword [rbp + 0x158]
sub rbx, 2
mov dword [rax], reloc.WSOCK32.dll_ioctlsocket
jmp 0x14005ee14
mov rax, qword [rbp + 0x158]
mov rbx, qword [rbp - 0x78]
mov dword [rax], gethostname
jmp 0x14005ee14
mov rax, qword [rbp + 0x158]
mov rbx, qword [rbp - 0x78]
mov dword [rax], CreateStdDispatch
jmp 0x14005ee14
mov rax, qword [rbp + 0x158]
mov dword [rax], send
jmp 0x14005ee14
mov rax, qword [rbp + 0x158]
mov dword [rax], 0x52
jmp 0x14005ee10
mov rax, qword [rbp + 0x158]
mov dword [rax], reloc.WSOCK32.dll_gethostbyname
mov rbx, qword [rbp - 0x80]
mov rdx, qword [rbp + 0x150]
mov qword [rdx], rbx
xor eax, eax
jmp 0x1400219d2