Function at 0x140018260
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 - 0xd8]
sub rsp, 0x1d8
mov r14, qword [rdx]
mov r11d, dword [rcx]
mov r15, qword [r8]
xor r10d, r10d
mov dword [rbp - 0x70], r11d
mov qword [rbp - 0x60], r14
mov ecx, r10d
mov edx, r10d
mov rdi, r14
mov dword [rbp - 0x34], r10d
mov dword [rbp], r10d
mov dword [rbp + 0x50], r10d
mov dword [rbp + 0xc], r10d
mov qword [rbp + 0x88], r14
mov qword [rbp + 0x98], r14
mov r8d, r10d
mov dword [rbp - 0x6c], r10d
mov dword [rbp + 0x1c], r10d
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], r15
mov qword [rbp + 0x58], rcx
mov esi, r10d
mov qword [rbp - 0x40], r10
mov qword [rbp + 0x20], rdx
mov qword [rbp - 8], r10
lea eax, [r10 + 1]
bt r11d, 0xb
jae 0x140019378
mov dword [rbp - 0x58], eax
bt r11d, 9
jb 0x14001830c
mov eax, r10d
mov r12d, 0xfffffffe
mov dword [rbp + 0x18], eax
xor eax, 1
mov dword [rbp + 0x60], eax
movsx eax, r11b
mov r13d, r10d
and eax, 1
mov dword [rbp - 0x24], r10d
mov dword [rbp + 4], r10d
mov dword [rbp - 0x20], r10d
mov dword [rbp - 0x1c], r10d
mov dword [rbp - 0x48], r12d
mov dword [rbp + 8], eax
mov dword [rbp - 0x10], r12d
mov dword [rbp - 0x28], r12d
mov dword [rbp - 0x68], r12d
nop dword [rax + rax]
movzx ebx, word [r15]
test ebx, ebx
je 0x1400186f2
mov r10, qword [rbp + 0x170]
mov r9, qword [rbp + 0x178]
movsxd rcx, dword [r10 + 0x60]
mov rax, qword [r10 + 0x20]
add rcx, 0xffffffffffffff9c
lea rcx, [rax + rcx*2]
test r9, r9
je 0x140018551
cmp r14, rcx
ja 0x140099b06
cmp r14, rdi
jb 0x140096421
mov edx, dword [r9]
mov eax, 0x7fffffeb
mov rcx, r14
sub eax, edx
sub rcx, rdi
cdqe
sar rcx, 1
cmp rax, rcx
jl 0x14009966a
lea eax, [rdx + rcx]
mov dword [r9], eax
test rsi, rsi
je 0x1400186e6
mov rdi, qword [rbp + 0x98]
cmp rsi, rdi
jbe 0x14001841c
mov r8, r14
mov rdx, rsi
mov rcx, rdi
sub r8, rsi
and r8, 0xfffffffffffffffe
call fcn.140025630
mov rax, qword [rbp - 0x78]
mov r11d, dword [rbp - 0x70]
mov r9, qword [rbp + 0x178]
mov r10, qword [rbp + 0x170]
mov r8d, dword [rbp - 0x6c]
sub rsi, rdi
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x80], rax
sar rsi, 1
mov r15, rax
neg rsi
lea r14, [r14 + rsi*2]
mov rsi, rdi
mov qword [rbp - 0x60], r14
mov rdx, qword [rbp + 0x20]
mov qword [rbp + 0x88], r14
test r8d, r8d
jne 0x14009642d
lea eax, [rbx - 0x2a]
cmp eax, 1
jbe 0x14001887c
cmp ebx, 0x3f
je 0x14001887c
cmp ebx, 0x7b
je 0x1400964ca
xor ecx, ecx
mov edi, ecx
test rdx, rdx
jne 0x1400964ec
mov rdx, qword [rbp + 0x170]
mov r10d, r11d
and r10d, 8
mov dword [rbp - 0x54], r10d
jne 0x140096528
bt r11d, 0xe
jb 0x14009666a
cmp ebx, 0x5f
jae 0x140018560
cmp ebx, 0x2f
jae 0x1400186d8
test ebx, ebx
je case.0x1400184c4.37
cmp ebx, 0x28
je 0x140018700
lea eax, [rbx - 0x24]
cmp eax, 0x58
ja case.0x1400184c4.47
lea r10, [0x140000000]
movzx eax, byte [r10 + rax + 0x19448]
mov ecx, dword [r10 + rax*4 + 0x19418]
add rcx, r10
jmp rcx
mov rax, qword [rbp + 0x140]
mov ecx, dword [rbp - 0x1c]
mov rdx, qword [rbp + 0x130]
mov dword [rax], ecx
mov rax, qword [rbp + 0x148]
mov ecx, dword [rbp - 0x68]
mov dword [rax], ecx
mov rax, qword [rbp + 0x150]
mov ecx, dword [rbp - 0x20]
mov dword [rax], ecx
mov rax, qword [rbp + 0x158]
mov ecx, dword [rbp - 0x28]
mov dword [rax], ecx
mov rax, qword [rbp + 0x128]
mov qword [rax], r14
mov rax, qword [rbp - 0x80]
mov qword [rdx], rax
test r9, r9
je 0x140018538
sub r14, qword [rbp + 0x88]
mov ecx, dword [r9]
mov eax, 0x7fffffeb
sub eax, ecx
sar r14, 1
cdqe
cmp rax, r14
jl 0x140099aeb
add ecx, r14d
mov dword [r9], ecx
mov eax, 1
add rsp, 0x1d8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp qword [r10 + 0x48], rcx
jbe 0x140018427
jmp 0x140099b06
cmp ebx, 0x7b
jae 0x140018487
mov r10, qword [rbp - 0x80]
cmp dword [rbp - 0x58], 0
mov esi, 1
movzx edi, bx
mov word [rbp + 0x78], bx
je 0x140018593
mov edx, 0xfc00
mov eax, 0xd800
and ebx, edx
cmp ebx, eax
je 0x1400983a0
cmp dword [rbp - 0x58], 0
mov qword [rbp - 0x40], r14
je 0x140018608
test r11b, 1
je 0x140018872
mov ecx, 0xfc00
movzx edx, di
mov eax, edx
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
je 0x1400983cf
mov eax, edx
lea r9, [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 + r9 + 0xbf440]
shl rdx, 7
add rdx, rax
movzx eax, word [r9 + rdx*2 + 0xb15a0]
movzx ecx, byte [r9 + rax*8 + 0xbe0a3]
test ecx, ecx
jne 0x140018847
test r11b, 1
je 0x140018872
mov eax, RegisterActiveObject
mov word [r14], ax
add r14, 2
mov qword [rbp - 0x60], r14
test esi, esi
je 0x140018647
mov r8d, esi
lea rdx, [rbp + 0x78]
mov rcx, r14
add r8, r8
mov ebx, esi
call fcn.140025630
mov r11d, dword [rbp - 0x70]
lea r14, [r14 + rbx*2]
mov qword [rbp - 0x60], r14
cmp di, 0xd
je 0x1400983f2
cmp di, 0xa
je 0x1400983f2
mov r10, qword [rbp + 0x170]
mov ecx, dword [rbp - 0x68]
mov r12d, dword [rbp - 0x28]
mov dword [rbp - 0x48], r12d
cmp ecx, 0xfffffffe
je 0x140018bcf
mov edx, dword [rbp - 0x1c]
mov r13d, dword [rbp - 0x20]
mov dword [rbp - 0x10], ecx
mov dword [rbp + 4], edx
mov dword [rbp - 0x24], r13d
cmp esi, 1
jne 0x14009843d
movzx eax, word [r14 - 2]
mov r15, qword [rbp - 0x78]
mov dword [rbp - 0x20], eax
mov eax, dword [r10 + 0x84]
or eax, dword [rbp + 8]
mov dword [rbp - 0x28], eax
mov rsi, qword [rbp - 0x40]
mov r8d, dword [rbp - 0x6c]
mov r13d, dword [rbp - 0x24]
mov rdi, qword [rbp + 0x88]
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x58]
add r15, 2
xor r10d, r10d
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], r15
jmp 0x140018350
cmp ebx, 0x3f
jb case.0x1400184c4.47
jmp 0x140018490
mov r14, qword [rbp + 0x98]
jmp 0x140018418
test rcx, rcx
je 0x14001835c
jmp 0x14009640a
mov rdi, qword [rbp - 0x80]
mov rax, qword [rbp + 0x170]
xor edx, edx
mov r15, qword [rax + 0x48]
add rdi, 2
mov dword [rbp - 0x38], edx
mov qword [rbp - 0x78], rdi
mov r9d, edx
mov dword [rbp - 0x44], edx
movzx edx, word [rdi]
mov ebx, r11d
mov dword [rbp - 0x50], 0x7f
mov qword [rbp - 8], r15
mov qword [rbp - 0x80], rdi
cmp dx, 0x2a
je 0x140098450
mov rdi, rax
mov r15d, 0xff
cmp dx, 0x3f
jne 0x140018de0
mov rdx, qword [rbp - 0x80]
add rdx, 2
mov qword [rbp - 0x78], rdx
mov qword [rbp - 0x80], rdx
movzx r8d, word [rdx]
mov eax, r8d
cmp r8d, 0x53
jl 0x1400986f4
cmp eax, 0x7c
jge 0x1400986f4
lea r13, [0x140000000]
xor esi, esi
lea rdx, [rbp - 0x30]
mov eax, esi
mov ebx, esi
mov dword [rbp - 0x44], eax
mov dword [rbp - 0x30], ebx
cmp r8w, 0x29
je 0x1400187d8
cmp r8w, 0x3a
je 0x1400187d2
mov r15, qword [rbp - 0x80]
movzx eax, r8w
add r15, 2
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], r15
cmp eax, 0x69
jne 0x1400994ba
or dword [rdx], 1
mov rax, qword [rbp - 0x80]
movzx r8d, word [rax]
cmp r8w, 0x29
jne 0x14001879c
mov ebx, dword [rbp - 0x30]
mov eax, dword [rbp - 0x44]
or ebx, r11d
not eax
and ebx, eax
mov rax, qword [rbp - 0x80]
cmp word [rax], 0x29
jne 0x140099545
mov r10, qword [rbp + 0x170]
mov rax, qword [r10 + 0x28]
add rax, 4
cmp r14, rax
je 0x140099527
mov ecx, 1
bt ebx, 9
jb 0x1400193e2
mov eax, esi
mov dword [rbp + 0x18], eax
xor eax, 1
mov dword [rbp + 0x60], eax
test bl, 1
je 0x1400193ec
mov dword [rbp + 8], ecx
mov rax, qword [rbp + 0x120]
mov r15, qword [rbp - 0x80]
mov r11d, ebx
mov dword [rbp - 0x70], ebx
mov qword [rbp - 0x40], rsi
mov dword [rax], ebx
jmp 0x1400186ad
mov rsi, qword [rbp - 0x40]
mov dword [r14], 0x90010
mov word [r14 + 4], cx
add r14, 6
cmp dword [rbp - 0x68], 0xfffffffe
mov qword [rbp - 0x60], r14
je 0x140096724
mov r15, qword [rbp - 0x78]
jmp 0x1400186ad
mov eax, RegisterActiveObject
jmp 0x140018617
mov edi, 1
jmp 0x14001845b
mov rcx, qword [rbp - 0x80]
mov qword [rbp - 0x40], r14
movzx eax, word [rcx + 2]
cmp ax, 0x3d
jbe 0x140018fc1
xor ebx, ebx
mov esi, ebx
mov dword [rbp - 0x54], ebx
mov eax, 1
add rcx, 2
mov qword [rbp - 0x78], rcx
mov qword [rbp - 0x80], rcx
movzx edi, word [rcx]
cmp edi, 0x5c
je 0x1400192d2
test esi, esi
jne 0x1400188cd
cmp edi, 0x5e
je 0x14001938b
cmp edi, 0x5d
je 0x14009677b
xor edx, edx
lea rcx, [rbp + 0x30]
mov dword [rbp - 0x44], ebx
lea r8d, [rdx + 0x20]
mov r13d, ebx
mov r12d, ebx
call fcn.140025d50
lea r15, [r14 + 6]
mov dword [rbp - 0x38], ebx
mov rcx, r15
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x50], rcx
test edi, edi
je 0x14001940e
mov rdx, qword [rbp - 0x78]
mov r14d, dword [rbp - 0x6c]
mov qword [rbp - 0x80], rdx
mov esi, dword [rbp - 0x58]
test esi, esi
je 0x140018935
mov eax, edi
mov r8d, 0xfc00
mov r9d, 0xd800
and eax, r8d
cmp eax, r9d
je 0x1400967ce
mov r9, qword [rbp + 0x178]
mov r10d, 1
test r9, r9
je 0x140018950
cmp r15, rcx
ja 0x14009681f
test r14d, r14d
jne 0x140096838
cmp edi, 0x5b
je 0x14009685e
cmp edi, 0x5c
je 0x140019307
mov r10, qword [rbp + 0x170]
mov r11d, dword [rbp - 0x70]
cmp word [rdx + 2], 0x5c
je 0x140096e6c
mov rbx, rdx
cmp edi, 0xd
je 0x140096e95
cmp edi, 0xa
je 0x140096e95
test r14d, r14d
jne 0x1400189a6
cmp word [rdx + 2], 0x2d
je 0x14001911b
mov rbx, qword [rbp - 0x80]
cmp r12d, 2
jl 0x140018ab9
cmp r12d, 1
je 0x140018c04
mov dword [rsp + 0x28], edi
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x30]
mov r9, r10
mov r8d, r11d
mov dword [rsp + 0x20], edi
call fcn.1400194a4
mov r15, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x78]
add r13d, eax
xor ebx, ebx
mov r9, qword [rbp + 0x178]
mov qword [rbp - 0x80], rcx
mov rcx, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x80]
mov eax, 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 0x140096fd2
mov rdx, qword [rbp - 0x80]
cmp edi, 0x5d
jne 0x140018914
test r14d, r14d
jne 0x14001939e
cmp r15, rcx
ja 0x1400193a7
mov edx, dword [rbp - 0x38]
mov eax, dword [rbp - 0x68]
cmp eax, 0xfffffffe
jne 0x140018a48
or eax, 0xffffffff
mov dword [rbp - 0x68], eax
mov ecx, dword [rbp - 0x1c]
mov r8d, dword [rbp - 0x20]
mov r12d, dword [rbp - 0x28]
mov ebx, dword [rbp - 0x44]
mov dword [rbp + 4], ecx
mov dword [rbp - 0x24], r8d
mov dword [rbp - 0x48], r12d
mov dword [rbp - 0x10], eax
test edx, edx
jne 0x14009714a
mov esi, dword [rbp - 0x54]
cmp esi, ebx
jne 0x1400193b7
mov eax, 0x6a
mov r14, qword [rbp - 0x60]
mov word [r14], ax
test r9, r9
jne 0x140018aa4
test esi, esi
jne 0x1400971e5
lea rdx, [rbp + 0x30]
lea rcx, [r14 + 2]
mov r8d, reloc.OLEAUT32.dll_RegisterActiveObject
call fcn.140025630
mov r15, qword [rbp - 0x78]
add r14, 0x22
mov qword [rbp - 0x60], r14
mov r11d, dword [rbp - 0x70]
jmp 0x1400186a9
inc r12d
jmp 0x1400189b4
mov rax, qword [rbp - 0x80]
mov r13, qword [rbp + 0x138]
xor r15d, r15d
mov qword [rbp + 0x68], rax
mov rax, qword [rbp + 0x170]
lea rdx, [rbp + 0x28]
mov r9d, dword [rax + 0x64]
lea rcx, [rbp - 0x78]
mov r8, r13
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r11d
call fcn.140019668
movsxd rdi, eax
cmp dword [r13], r15d
jne 0x140019405
test eax, eax
je 0x1400190ae
cmp edi, 0x1a
je 0x14009804c
cmp edi, 0x19
je 0x1400193ae
mov ecx, dword [rbp - 0x68]
or r9d, 0xffffffff
cmp ecx, 0xfffffffe
jne 0x140018b39
lea eax, [rdi - 6]
cmp eax, 0x10
ja 0x140018b39
mov ecx, r9d
mov dword [rbp - 0x68], ecx
mov eax, dword [rbp - 0x1c]
mov r8d, dword [rbp - 0x20]
mov r12d, dword [rbp - 0x28]
mov dword [rbp + 4], eax
mov dword [rbp - 0x24], r8d
mov dword [rbp - 0x48], r12d
mov dword [rbp - 0x10], ecx
cmp edi, 0x1b
je 0x140098081
cmp edi, 0x1c
je 0x1400981c1
test edi, edi
js 0x140098247
lea eax, [rdi - 0xf]
cmp eax, 1
jbe 0x140098328
cmp edi, 1
je 0x1400982ce
lea eax, [rdi - 4]
cmp eax, 1
jbe 0x1400982ce
lea eax, [rdi - 0x1d]
cmp eax, 5
jbe 0x1400982ed
lea eax, [rdi - 6]
cmp eax, 0x10
ja 0x1400193da
mov rsi, r14
mov qword [rbp - 0x40], rsi
cmp dword [rbp - 0x58], r15d
je 0x140098315
mov r11d, dword [rbp - 0x70]
mov word [r14], di
mov r15, qword [rbp - 0x78]
add r14, 2
mov qword [rbp - 0x60], r14
jmp 0x1400186ad
mov r8d, dword [rbp - 0x20]
or eax, 0xffffffff
mov dword [rbp - 0x24], r8d
mov dword [rbp - 0x10], eax
cmp esi, 1
jne 0x140098409
movzx eax, di
cmp esi, 1
mov rsi, qword [rbp - 0x40]
mov dword [rbp - 0x1c], eax
mov eax, dword [rbp + 8]
mov dword [rbp - 0x68], eax
je 0x140018869
jmp 0x140098422
cmp word [rbx + 2], 0x5d
jne 0x1400189be
jmp 0x140097004
xor edx, edx
or eax, 0xffffffff
mov r10d, eax
mov dword [rbp - 0x54], eax
mov dword [rbp], eax
lea edi, [rdx + 1]
mov dword [rbp - 0x34], edx
mov r9d, edx
test rsi, rsi
je 0x140099787
test r9d, r9d
jne 0x1400193c1
mov eax, dword [rbp + 4]
mov ebx, r12d
mov dword [rbp - 0x20], r13d
mov dword [rbp - 0x1c], eax
mov eax, dword [rbp - 0x10]
mov dword [rbp - 0x28], ebx
mov dword [rbp - 0x68], eax
cmp r9d, r10d
je 0x1400193c9
mov eax, 2
mov dword [rbp - 0x44], eax
lea rcx, [r15 + 2]
mov qword [rbp - 0x18], rsi
mov r11d, edx
movzx eax, word [rcx]
mov dword [rbp - 0x50], edx
mov r8, rsi
cmp ax, 0x2b
je 0x14009726b
cmp ax, 0x3f
jne 0x140019044
mov r13d, dword [rbp + 0x60]
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x78], rcx
mov r15, rcx
cmp word [rsi], 0x6f
je 0x140097284
mov rdi, qword [rbp + 0x178]
mov rdx, qword [rbp + 0x170]
movzx ecx, word [rsi]
lea eax, [rcx - 0x1d]
cmp ax, 3
jbe 0x140097a2b
cmp cx, 0x17
jae 0x14001904d
mov r15d, dword [rbp - 0x58]
mov ebx, reloc.WSOCK32.dll_gethostbyname
movzx edi, cx
test r11d, r11d
jne 0x140018d1b
test r10d, r10d
jns 0x140018d1b
mov r8, qword [rbp - 0x80]
mov r9d, dword [rbp - 0x70]
mov qword [rsp + 0x20], rdx
add r8, 2
mov edx, r15d
mov rcx, rsi
call fcn.1400198f0
test eax, eax
jne 0x140097343
mov rax, qword [rbp - 0x78]
mov r11d, dword [rbp - 0x50]
mov qword [rbp - 0x80], rax
mov r9d, dword [rbp - 0x34]
mov r10d, dword [rbp - 0x54]
movzx eax, word [rsi]
mov rdx, qword [rbp - 0x40]
sub ax, 0xf
cmp ax, 1
jbe 0x140097b48
or eax, 0xffffffff
mov r14d, eax
mov esi, eax
mov rcx, qword [rbp - 0x60]
mov qword [rbp - 0x60], rdx
test r10d, r10d
je 0x1400193d1
add r13d, ebx
test r9d, r9d
jne 0x140097b81
lea rbx, [rdx + 2]
cmp r10d, 0xffffffff
jne 0x140097b56
add r13w, 0x21
mov word [rdx], r13w
test r15d, r15d
je 0x140018d7b
bt edi, 0x1c
jb 0x140097ce2
mov word [rbx], di
add rbx, 2
mov r15, qword [rbp + 0x170]
mov r13, qword [rbp - 8]
mov qword [rbp - 0x60], rbx
mov edi, WSAStartup
test esi, esi
jns 0x140097d0c
mov rax, qword [rbp - 0x78]
mov r8, qword [rbp - 0x18]
mov r14, rbx
mov qword [rbp - 0x80], rax
mov esi, dword [rbp - 0x58]
xor ebx, ebx
test r11d, r11d
jne 0x140097d37
mov rcx, qword [rbp + 0x170]
mov r15, qword [rbp - 0x80]
mov r11d, dword [rbp - 0x70]
xor eax, eax
mov esi, eax
mov qword [rbp - 0x40], rax
mov eax, dword [rbp - 0x44]
or dword [rcx + 0x84], eax
jmp 0x1400186ad
bt r11d, 0xc
jb 0x140099565
inc dword [rdi + 0x64]
movzx eax, word [rdi + 0x64]
mov edx, 1
mov word [r14 + 4], ax
mov r11d, edx
mov eax, dword [rbp - 0x50]
mov r13, qword [rbp + 0x178]
xor ecx, ecx
mov word [r14], ax
mov esi, dword [rdi + 0x84]
mov edi, dword [rdi + 0x64]
test r13, r13
mov dword [rbp + 0xc], ecx
lea rcx, [rbp + 0xc]
mov r13d, 0
mov r8d, 0x81
cmove rcx, r13
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x18], r14
cmp eax, r8d
je 0x1400193f4
add eax, 0xffffff87
mov r8d, r13d
cmp eax, 1
jbe 0x140018e51
mov edx, r13d
mov eax, dword [rbp + 0x168]
mov r15, qword [rbp + 0x170]
mov r13, qword [rbp + 0x138]
mov qword [rsp + 0x70], rcx
mov rcx, qword [rbp + 0x160]
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x60], rcx
add eax, r8d
lea rcx, [rbp + 0x10]
mov qword [rsp + 0x58], rcx
lea rcx, [rbp + 0x2c]
lea r8, [rbp - 0x78]
mov qword [rsp + 0x50], rcx
lea rcx, [rbp + 0x14]
mov qword [rsp + 0x48], rcx
lea rcx, [rbp + 0x70]
mov qword [rsp + 0x40], rcx
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], r9d
mov dword [rsp + 0x20], edx
lea rdx, [rbp - 0x18]
mov r9, r13
mov ecx, ebx
call fcn.140017ed4
test eax, eax
je 0x140019405
mov edx, dword [rbp - 0x50]
cmp edx, 0x7b
je 0x140099585
lea eax, [rdx - 0x77]
cmp eax, 3
jbe 0x1400193fc
mov r9, qword [rbp + 0x178]
mov eax, 0x81
xor r10d, r10d
cmp edx, eax
je 0x1400995ad
mov r8d, 0x8b
mov eax, dword [rbp + 0x10]
mov ecx, dword [rbp + 0x14]
or r11d, 0xffffffff
mov r15, qword [rbp - 0x78]
cmp word [r15], 0x29
jne 0x140099ad2
test r9, r9
je 0x140018fda
mov r8d, dword [rbp + 0xc]
mov edx, dword [r9]
mov ecx, 0x7fffffeb
lea eax, [r8 - 4]
sub ecx, edx
cmp ecx, eax
jl 0x140099ab9
mov r11d, dword [rbp - 0x70]
lea eax, [r8 - 4]
add eax, edx
add r14, 8
mov dword [r9], eax
mov dword [r14 - 6], 0x720002
mov eax, 2
mov word [r14 - 2], ax
mov r15, qword [rbp - 0x78]
mov qword [rbp - 0x60], r14
jmp 0x1400186a9
mov eax, dword [rbp - 0x68]
cmp eax, 0xfffffffe
jne 0x140018f7d
or eax, 0xffffffff
mov dword [rbp - 0x68], eax
mov ecx, dword [rbp - 0x1c]
mov r8d, dword [rbp - 0x20]
mov r12d, dword [rbp - 0x28]
mov dword [rbp + 4], ecx
mov dword [rbp - 0x24], r8d
mov dword [rbp - 0x48], r12d
mov dword [rbp - 0x10], eax
mov rsi, r14
mov qword [rbp - 0x40], r14
test r11b, 4
jne 0x140019381
mov eax, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov word [r14], ax
mov r15, qword [rbp - 0x78]
add r14, 2
mov qword [rbp - 0x60], r14
jmp 0x1400186ad
movabs rdx, 0x2400400000000000
bt rdx, rax
jae 0x14001889c
jmp 0x140096761
mov r14, qword [rbp - 0x18]
mov qword [rbp - 0x60], r14
cmp edx, r8d
je 0x140018ab0
mov r8d, dword [rbp - 0x20]
mov r12d, dword [rbp - 0x28]
mov dword [rbp + 0x1c], r10d
mov dword [rbp - 0x24], r8d
mov r8d, dword [rbp - 0x1c]
mov dword [rbp - 0x48], r12d
mov dword [rbp + 4], r8d
mov r8d, dword [rbp - 0x68]
mov dword [rbp - 0x10], r8d
cmp edx, 0x7b
jl 0x14009963f
cmp r8d, 0xfffffffe
je 0x140099615
test ecx, ecx
jns 0x14001935e
test eax, eax
js 0x140018ab0
mov ecx, dword [rbp + 0x2c]
mov r11d, dword [rbp - 0x70]
mov dword [rbp - 0x28], eax
mov dword [rbp - 0x20], ecx
jmp 0x1400186a9
mov r13d, dword [rbp + 0x18]
jmp 0x140018c9b
lea eax, [rcx - 0x6a]
cmp ax, 4
ja 0x1400191b6
test r10d, r10d
je 0x14009799e
test r9d, r9d
jne 0x1400979aa
cmp r10d, 0xffffffff
je 0x1400190e8
cmp r10d, 1
jne 0x1400979dd
mov r15, qword [rbp + 0x170]
add r13w, 0x66
add r14, 2
mov word [r14 - 2], r13w
mov rax, qword [rbp - 0x78]
mov r8, qword [rbp - 0x18]
mov r13, qword [rbp - 8]
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x60], r14
lea edi, [r9 + 0x72]
jmp 0x140018dad
mov edi, dword [rbp + 0x28]
cmp edi, 0xffff
ja 0x140098024
mov r11d, dword [rbp - 0x70]
mov r8d, dword [rbp - 0x6c]
mov word [rbp + 0x78], di
mov esi, 1
jmp 0x140018593
mov edi, 1
xor edx, edx
mov r10d, edi
mov dword [rbp - 0x54], edi
mov dword [rbp], edi
jmp 0x140018c25
add r13w, 0x62
add r14, 2
mov edi, WSAStartup
mov word [r14 - 2], r13w
mov rax, qword [rbp - 0x78]
mov r8, qword [rbp - 0x18]
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x60], r14
mov r13, qword [rbp - 8]
mov r15, qword [rbp + 0x170]
jmp 0x140018dad
add rdx, 4
mov qword [rbp - 0x78], rdx
mov qword [rbp - 0x80], rdx
cmp word [rdx], 0x5c
je 0x140096ea5
mov ecx, 1
movzx eax, word [rdx]
test ax, ax
je 0x140019395
test r14d, r14d
jne 0x140019151
cmp ax, 0x5d
je 0x140019395
movzx edx, ax
mov dword [rbp - 0x24], edx
test esi, esi
je 0x140019175
mov r8d, 0xfc00
mov eax, edx
and eax, r8d
mov r8d, 0xd800
cmp eax, r8d
je 0x140096f18
mov r15, qword [rbp - 0x80]
test r14d, r14d
jne 0x140019187
cmp edx, 0x5c
je 0x140096f58
cmp edx, edi
jb 0x140099725
je 0x1400189a6
mov r12d, 2
cmp edx, 0xd
je 0x140096fc2
cmp edx, 0xa
je 0x140096fc2
mov dword [rsp + 0x28], edx
jmp 0x1400189c2
lea eax, [rcx - 0x77]
cmp ax, 0xa
ja 0x140097972
sub r14, rsi
xor r12d, r12d
mov eax, 0x81
sar r14, 1
mov r15d, r12d
cmp cx, ax
je 0x140097360
cmp cx, 0x7b
jb 0x14009737c
mov ecx, 1
test r9d, r9d
jne 0x140097417
mov rcx, qword [rbp - 0x60]
mov r8d, dword [rbp - 0x58]
xor eax, eax
mov word [rcx], ax
mov r9, rdx
mov rcx, rsi
cmp r10d, 1
jg 0x1400973b8
mov rax, qword [rbp - 8]
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.14001999c
lea eax, [r14 + r14]
lea rbx, [rsi + 2]
movsxd r8, eax
mov rdx, rsi
mov rcx, rbx
call fcn.140025630
mov rcx, qword [rbp - 0x60]
mov r10d, dword [rbp - 0x54]
add rcx, 2
mov qword [rbp - 0x60], rcx
test r10d, r10d
je 0x14009739b
mov eax, 0x8c
mov rdx, rbx
mov qword [rbp - 0x40], rbx
add eax, r13d
mov r12, rsi
xor ebx, ebx
mov word [rsi], ax
mov rax, qword [rbp - 0x78]
mov r8, qword [rbp - 0x18]
mov r9d, dword [rbp - 0x34]
mov r11d, dword [rbp - 0x50]
dec r10d
mov qword [rbp - 0x80], rax
mov dword [rbp], r10d
test r10d, r10d
js 0x1400977e1
test rdi, rdi
je 0x14001929d
test r10d, r10d
jg 0x1400975cf
lea edi, [r10 - 1]
mov dword [rbp - 0x30], edi
test edi, edi
jns 0x14009761c
mov r14, qword [rbp - 0x60]
mov edi, WSAStartup
test r15, r15
jne 0x14009778b
mov r12d, dword [rbp - 0x48]
mov r13, qword [rbp - 8]
mov r15, qword [rbp + 0x170]
jmp 0x140018dad
add rcx, 2
cmp word [rcx], 0x45
je 0x1400188a8
lea rdx, [0x1400c5aec]
mov r8d, 3
call fcn.140019ac0
test eax, eax
jne 0x1400188d6
mov rcx, qword [rbp - 0x80]
add rcx, 6
jmp 0x1400188a3
mov rax, qword [rbp + 0x170]
mov rdi, qword [rbp + 0x138]
mov esi, dword [rbp - 0x70]
mov r9d, dword [rax + 0x64]
mov dword [rsp + 0x28], r10d
lea rdx, [rbp + 0x28]
lea rcx, [rbp - 0x78]
mov r8, rdi
mov dword [rsp + 0x20], esi
call fcn.140019668
cmp dword [rdi], 0
movsxd rbx, eax
jne 0x140019405
test eax, eax
jne 0x140096a51
mov rdx, qword [rbp - 0x78]
mov edi, dword [rbp + 0x28]
mov esi, dword [rbp - 0x58]
mov qword [rbp - 0x80], rdx
xor ebx, ebx
jmp 0x14001896b
test eax, eax
jns 0x140019032
mov eax, dword [rbp + 0x70]
mov dword [rbp + 0x2c], eax
mov eax, ecx
or eax, esi
mov dword [rbp + 0x10], eax
jmp 0x14001902a
mov dword [rbp - 0x58], r10d
jmp 0x140018302
mov eax, reloc.WSOCK32.dll_listen
jmp 0x140018fac
mov esi, eax
mov dword [rbp - 0x54], eax
jmp 0x1400188a8
mov qword [rbp - 0x78], rbx
jmp 0x1400189aa
mov rdx, qword [rbp - 0x80]
jmp 0x140018914
mov edx, eax
jmp 0x140018a3a
mov r15, qword [rbp - 0x78]
jmp 0x1400971dc
mov eax, WSAGetLastError
jmp 0x140018a7c
mov ebx, dword [rbp - 0x28]
jmp 0x140018c53
mov dword [rbp - 0x44], edx
jmp 0x140018c64
mov r14, qword [rbp - 0x60]
jmp 0x140018dbb
mov rsi, r15
jmp 0x140018ba8
mov eax, ecx
mov dword [rbp + 0x18], ecx
jmp 0x140018819
mov dword [rbp + 8], esi
jmp 0x14001882b
mov r8d, edx
jmp 0x140018e4e
dec dword [r15 + 0x78]
jmp 0x140018ee6
mov r15, qword [rbp - 0x78]
jmp 0x140099b13
mov r15, qword [rbp - 0x78]
jmp 0x140099747
mov qword [rbp - 0x78], rcx
movzx ebx, word [rcx]
mov qword [rbp - 0x80], rcx
mov qword [rbp + 0x58], r10
mov r15, rcx
jmp 0x14001835c
mov r14, rdi
mov qword [rbp - 0x60], rdi
jmp 0x140018395
test ebx, ebx
je 0x140018430
mov rcx, qword [rbp - 0x80]
cmp ebx, 0x5c
jne 0x140096459
cmp word [rcx + 2], 0x45
lea rax, [rcx + 2]
jne 0x140096459
xor ecx, ecx
mov r15, rax
mov r8d, ecx
mov dword [rbp - 0x6c], ecx
jmp 0x1400186b1
test rdx, rdx
je 0x140096490
test r9, r9
jne 0x140096484
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]
xor edx, edx
mov qword [rbp - 0x80], rax
mov qword [rbp + 0x20], rdx
jmp 0x140096496
mov rax, qword [rbp - 0x80]
xor edx, edx
mov qword [rbp + 0x20], rdx
jmp 0x140096496
mov rax, qword [rbp - 0x80]
xor edx, edx
bt r11d, 0xe
jae case.0x1400184c4.47
mov dword [r14], 0xff0070
sub eax, dword [r10 + 0x30]
mov word [r14 + 6], dx
sar rax, 1
mov qword [rbp + 0x20], r14
add r14, 8
mov word [r14 - 4], ax
mov r10, qword [rbp - 0x78]
jmp 0x14001856d
mov rcx, qword [rbp - 0x80]
add rcx, 2
call fcn.140084200
mov r15, qword [rbp - 0x80]
test eax, eax
jne 0x14001887c
mov rdx, qword [rbp + 0x20]
jmp 0x14001844e
mov ecx, dword [rbp + 0x50]
mov eax, ecx
dec ecx
mov dword [rbp + 0x50], ecx
test eax, eax
jg 0x14001845b
test r9, r9
jne 0x14009651d
mov eax, dword [rbp - 0x80]
sub eax, dword [r10 + 0x30]
sar rax, 1
sub ax, word [rdx + 4]
mov word [rdx + 6], ax
mov r15, qword [rbp - 0x78]
mov qword [rbp - 0x80], r15
xor eax, eax
mov qword [rbp + 0x20], rax
jmp 0x14001845b
mov eax, 0xff
cmp word [r15], ax
ja 0x140096541
mov rax, qword [rdx + 0x18]
test byte [rbx + rax], 1
jne 0x1400186b1
cmp ebx, 0x23
jne 0x140018473
add r15, 2
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x80], r15
movzx r8d, word [r15]
test r8w, r8w
je 0x1400965dd
mov r10, qword [rbp + 0x170]
mov eax, dword [rbp - 0x58]
mov ecx, 0xfc00
mov edx, dword [r10 + 0x94]
test edx, edx
je 0x1400965ea
mov r8, qword [r10 + 0x38]
cmp r15, r8
jae 0x140096627
lea r9, [r10 + 0x98]
mov rcx, r15
mov dword [rsp + 0x20], eax
call fcn.140023700
mov r10, qword [rbp + 0x170]
test eax, eax
je 0x14009661f
mov eax, dword [r10 + 0x98]
dec eax
cdqe
lea r15, [r15 + rax*2]
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x80], r15
cmp word [r15], 0
jne 0x1400971dc
mov rdx, qword [rbp + 0x170]
mov r9, qword [rbp + 0x178]
mov r11d, dword [rbp - 0x70]
mov r10d, dword [rbp - 0x54]
mov r8d, dword [rbp - 0x6c]
xor eax, eax
mov ebx, eax
jmp 0x140018473
movsxd rcx, dword [r10 + 0x98]
mov rax, rcx
imul rax, rax, 0xfffffffffffffffe
add rax, qword [r10 + 0x38]
cmp r15, rax
ja 0x14009661f
cmp r8w, word [r10 + 0x9c]
jne 0x14009661f
cmp ecx, 1
je 0x1400965a5
movzx eax, word [r10 + 0x9e]
cmp word [r15 + 2], ax
je 0x1400965a5
mov eax, dword [rbp - 0x58]
mov ecx, 0xfc00
add r15, 2
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], r15
test eax, eax
je 0x140096657
movzx eax, word [r15]
mov edx, 0xdc00
and ax, cx
cmp ax, dx
mov eax, dword [rbp - 0x58]
jne 0x140096657
add r15, 2
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], r15
movzx r8d, word [r15]
test r8w, r8w
jne 0x14009656f
jmp 0x1400965c7
test edi, edi
jne 0x14001847e
mov dword [r14], 0xff0070
mov eax, r15d
mov qword [rbp + 0x20], r14
sub eax, dword [rdx + 0x30]
sar rax, 1
mov word [r14 + 4], ax
xor eax, eax
add r14, 8
mov word [r14 - 2], ax
mov r15, qword [rbp - 0x78]
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x80], r15
jmp 0x14001847e
xor eax, eax
mov esi, eax
mov qword [rbp - 0x40], rax
test r11b, 2
je 0x1400966e1
mov eax, dword [rbp - 0x68]
mov ecx, 0xffffffff
cmp eax, 0xfffffffe
cmove eax, ecx
add r14, 2
mov dword [rbp - 0x68], eax
mov eax, 0x1a
mov qword [rbp - 0x60], r14
mov word [r14 - 2], ax
mov r15, qword [rbp - 0x78]
jmp 0x1400186b1
mov eax, 0x19
add r14, 2
mov word [r14 - 2], ax
mov r15, qword [rbp - 0x78]
mov qword [rbp - 0x60], r14
jmp 0x1400186b1
xor eax, eax
test r11b, 2
mov esi, eax
mov qword [rbp - 0x40], rax
setne al
add eax, 0x1b
add r14, 2
mov word [r14 - 2], ax
mov r15, qword [rbp - 0x78]
mov qword [rbp - 0x60], r14
jmp 0x1400186b1
mov r15, qword [rbp - 0x78]
or eax, 0xffffffff
mov dword [rbp - 0x10], eax
mov dword [rbp - 0x68], eax
jmp 0x1400186b1
test dword [rdx + 0x7c], 0x2000000
je case.0x1400184c4.47
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov dword [rax], 0x40
xor eax, eax
mov qword [rdx], r15
jmp 0x14001853d
lea rdx, [rbp + 0x68]
call fcn.1400831bc
test eax, eax
jne 0x140099688
mov rcx, qword [rbp - 0x80]
jmp 0x14001889c
mov rax, qword [rbp + 0x170]
test dword [rax + 0x7c], 0x2000000
je 0x1400188d6
test esi, esi
mov ecx, reloc.WSOCK32.dll_listen
mov eax, reloc.WSOCK32.dll___WSAFDIsSet
cmovne eax, ecx
add r14, 2
mov ecx, 0xffffffff
mov word [r14 - 2], ax
mov eax, dword [rbp - 0x68]
mov r15, qword [rbp - 0x78]
cmp eax, 0xfffffffe
mov qword [rbp - 0x60], r14
cmove eax, ecx
mov ecx, dword [rbp - 0x1c]
mov dword [rbp + 4], ecx
mov dword [rbp - 0x68], eax
mov dword [rbp - 0x10], eax
jmp 0x1400186a9
mov rax, qword [rbp - 0x80]
movzx edi, word [rax]
mov eax, edi
and eax, r8d
cmp eax, r9d
jne 0x140096816
mov rax, qword [rbp - 0x80]
and edi, 0x3ff
movzx ecx, word [rax + 2]
add rax, 2
and ecx, 0x3ff
mov qword [rbp - 0x80], rax
mov eax, edi
mov edi, ecx
mov rcx, qword [rbp - 0x80]
shl eax, 0xa
or edi, eax
mov qword [rbp - 0x78], rcx
mov rcx, qword [rbp - 0x50]
add edi, 0x10000
mov rdx, qword [rbp - 0x80]
jmp 0x140018935
sub r15, rcx
mov dword [rbp - 0x38], r10d
mov qword [rbp - 0x30], rcx
sar r15, 1
add dword [r9], r15d
mov r15, rcx
jmp 0x140018950
cmp edi, 0x5c
jne 0x14001896b
cmp word [rdx + 2], 0x45
lea rax, [rdx + 2]
jne 0x14001896b
mov r14d, ebx
mov dword [rbp - 0x6c], ebx
mov rdi, rax
jmp 0x1400189f9
movzx r8d, word [rdx + 2]
cmp r8w, 0x3d
ja 0x14001896b
movzx eax, r8w
movabs rcx, 0x2400400000000000
bt rcx, rax
jae 0x14001896b
mov rcx, qword [rbp - 0x80]
lea rdx, [rbp + 0x68]
call fcn.1400831bc
test eax, eax
je 0x140096e63
mov rax, qword [rbp + 0x170]
mov esi, ebx
mov rdi, qword [rax + 0x10]
cmp r8w, 0x3a
jne 0x1400996db
mov rcx, qword [rbp - 0x80]
add rcx, 4
mov qword [rbp - 0x78], rcx
mov qword [rbp - 0x80], rcx
cmp word [rcx], 0x5e
jne 0x1400968dc
add rcx, 2
mov esi, r10d
mov dword [rbp - 0x44], r10d
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x78], rcx
mov r14, qword [rbp + 0x68]
mov rdx, r14
sub rdx, rcx
sar rdx, 1
call fcn.140083138
mov edx, eax
test eax, eax
js 0x1400996b9
mov eax, dword [rbp - 0x70]
test al, 1
je 0x140096905
cmp edx, 2
cmovle edx, ebx
bt eax, 0x1d
jae 0x140096944
mov eax, esi
neg eax
sbb rcx, rcx
and ecx, 0xe
lea eax, [rcx + rdx]
movsxd rcx, eax
lea rax, [0x140000000]
mov rax, qword [rax + rcx*8 + 0xd96d0]
test rax, rax
je 0x140096944
lea rcx, [r14 + 2]
mov r14d, dword [rbp - 0x6c]
mov qword [rbp + 0x58], rcx
lea rcx, [rax - 2]
jmp 0x1400189e6
lea eax, [rdx + rdx*2]
lea r12, [0x140000000]
lea rcx, [rbp + 0xa0]
movsxd rbx, eax
mov r8d, reloc.OLEAUT32.dll_RegisterActiveObject
movsxd rdx, dword [r12 + rbx*4 + 0xc9680]
add rdx, rdi
call fcn.140025630
mov r10d, dword [r12 + rbx*4 + 0xc9684]
mov r9d, dword [r12 + rbx*4 + 0xc9688]
xor ebx, ebx
test r10d, r10d
js 0x1400969c7
mov r8d, ebx
test r9d, r9d
js 0x1400969aa
lea eax, [r10 + r8]
mov edx, r8d
inc r8d
movzx eax, byte [rax + rdi]
or byte [rbp + rdx + 0xa0], al
cmp r8d, 0x20
jb 0x14009698d
jmp 0x1400969c7
lea eax, [r10 + r8]
mov edx, r8d
inc r8d
movzx eax, byte [rax + rdi]
not al
and byte [rbp + rdx + 0xa0], al
cmp r8d, 0x20
jb 0x1400969aa
test r9d, r9d
jns 0x1400969cf
neg r9d
cmp r9d, 1
jne 0x1400969de
and byte [rbp + 0xa1], 0xc3
jmp 0x1400969eb
cmp r9d, 2
jne 0x1400969eb
and byte [rbp + 0xab], 0x7f
mov rcx, rbx
mov edx, reloc.OLEAUT32.dll_RegisterActiveObject
test esi, esi
je 0x140096a10
movzx eax, byte [rbp + rcx + 0xa0]
lea rcx, [rcx + 1]
not al
or byte [rbp + rcx + 0x2f], al
dec rdx
jne 0x1400969f7
jmp 0x140096a25
movzx eax, byte [rbp + rcx + 0xa0]
lea rcx, [rcx + 1]
or byte [rbp + rcx + 0x2f], al
dec rdx
jne 0x140096a10
mov r9, qword [rbp + 0x178]
lea rcx, [r14 + 2]
mov r14d, dword [rbp - 0x6c]
mov eax, 1
mov qword [rbp - 0x80], rcx
mov rcx, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x80]
mov r13d, eax
lea r12d, [rax + 1]
jmp 0x1400189fe
cmp ebx, 5
jne 0x140096a6b
mov rdx, qword [rbp - 0x78]
mov esi, dword [rbp - 0x58]
lea edi, [rbx + 3]
mov qword [rbp - 0x80], rdx
xor ebx, ebx
jmp 0x14001896b
cmp ebx, 0xc
je 0x140099709
cmp ebx, 0x1a
jne 0x140096abf
mov rcx, qword [rbp - 0x78]
mov qword [rbp - 0x80], rcx
cmp word [rcx + 2], 0x5c
jne 0x140096a9e
cmp word [rcx + 4], 0x45
lea rax, [rcx + 4]
jne 0x140096a9e
mov qword [rbp - 0x80], rax
xor ebx, ebx
jmp 0x140096da6
mov rcx, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x80]
mov r9, qword [rbp + 0x178]
mov eax, 1
xor ebx, ebx
mov r14d, eax
mov dword [rbp - 0x6c], eax
jmp 0x140018a01
cmp ebx, 0x19
je 0x140096b52
mov r10, qword [rbp + 0x170]
lea eax, [rbx - 6]
inc r13d
mov rdx, qword [r10 + 0x10]
add r12d, 2
cmp eax, 0x1c
ja case.0x140096afa.12
lea r8, [0x140000000]
cdqe
mov ecx, dword [r8 + rax*4 + 0x99b26]
add rcx, r8
jmp rcx
mov rcx, qword [rbp - 0x78]
mov r9, qword [rbp + 0x178]
dec r13d
mov qword [rbp + 0x58], rcx
mov rcx, qword [r8 + rbx*8 + 0xd95b8]
sub rcx, 2
xor ebx, ebx
mov qword [rbp - 0x80], rcx
mov rcx, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x80]
lea eax, [rbx + 1]
jmp 0x140018a01
lea rax, [rbp + 0x30]
lea rcx, [rbp + 0x30]
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 0x140096b41
mov rcx, qword [rbp - 0x78]
mov r9, qword [rbp + 0x178]
xor ebx, ebx
mov qword [rbp - 0x80], rcx
mov rcx, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x80]
lea eax, [rbx + 1]
jmp 0x140018a01
lea rax, [rbp + 0x30]
mov dword [rbp - 0x44], 1
lea rcx, [rbp + 0x30]
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 0x140096b8b
mov rcx, qword [rbp - 0x78]
mov r9, qword [rbp + 0x178]
xor ebx, ebx
mov qword [rbp - 0x80], rcx
mov rcx, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x80]
lea eax, [rbx + 1]
jmp 0x140018a01
lea rax, [rbp + 0x30]
lea rcx, [rbp + 0x30]
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 0x140096bd0
mov rcx, qword [rbp - 0x78]
mov r9, qword [rbp + 0x178]
xor ebx, ebx
mov qword [rbp - 0x80], rcx
mov rcx, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x80]
lea eax, [rbx + 1]
jmp 0x140018a01
lea rax, [rbp + 0x30]
mov dword [rbp - 0x44], 1
lea rcx, [rbp + 0x30]
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 0x140096c1d
mov rcx, qword [rbp - 0x78]
mov r9, qword [rbp + 0x178]
xor ebx, ebx
mov qword [rbp - 0x80], rcx
mov rcx, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x80]
lea eax, [rbx + 1]
jmp 0x140018a01
movzx eax, byte [rdx]
lea rcx, [rbp + 0x32]
mov r8d, RegisterActiveObject
or byte [rbp + 0x30], al
movzx eax, byte [rdx + 1]
and al, 0xf7
or byte [rbp + 0x31], al
lea rax, [rbp + 0x32]
sub rdx, rax
movzx eax, byte [rdx + rcx + 2]
lea rcx, [rcx + 1]
or byte [rcx - 1], al
dec r8
jne 0x140096c74
mov rcx, qword [rbp - 0x78]
mov r9, qword [rbp + 0x178]
xor ebx, ebx
mov qword [rbp - 0x80], rcx
mov rcx, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x80]
lea eax, [rbx + 1]
jmp 0x140018a01
lea rax, [rbp + 0x30]
mov dword [rbp - 0x44], 1
lea rcx, [rbp + 0x30]
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 0x140096cbe
mov rcx, qword [rbp - 0x78]
or byte [rbp + 0x31], 8
mov r9, qword [rbp + 0x178]
mov qword [rbp - 0x80], rcx
mov rcx, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x80]
xor ebx, ebx
lea eax, [rbx + 1]
jmp 0x140018a01
lea rax, [0x1400c9c00]
jmp 0x140096d05
lea rax, str._n_v_f_r
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x30]
mov r9, r10
mov r8d, esi
mov dword [rsp + 0x28], 0xffffffff
mov qword [rsp + 0x20], rax
call fcn.140082de0
mov rcx, qword [rbp - 0x78]
mov r15, qword [rbp - 0x30]
mov qword [rbp - 0x80], rcx
xor ebx, ebx
jmp 0x140096da6
lea rax, str._n_v_f_r
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x30]
mov r9, r10
mov r8d, esi
mov qword [rsp + 0x20], rax
call fcn.140082e84
mov rcx, qword [rbp - 0x78]
mov r15, qword [rbp - 0x30]
mov qword [rbp - 0x80], rcx
xor ebx, ebx
jmp 0x140096da6
xor eax, eax
cmp ebx, 0x10
sete al
xor ebx, ebx
cmp eax, dword [rbp + 0x94]
movzx eax, word [rbp - 0x30]
mov ecx, ebx
sete cl
add r15, 6
add ecx, 3
mov qword [rbp - 0x30], r15
dec r13d
mov word [r15 - 6], cx
mov word [r15 - 4], ax
movzx eax, word [rbp - 0x24]
mov word [r15 - 2], ax
mov rcx, qword [rbp - 0x78]
mov qword [rbp - 0x80], rcx
mov r9, qword [rbp + 0x178]
mov rdi, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x50]
mov eax, 1
jmp 0x140018a01
lea rax, [0x1400c9c00]
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x30]
mov r9, r10
mov r8d, esi
mov qword [rsp + 0x20], rax
call fcn.140082e84
mov rcx, qword [rbp - 0x78]
mov r15, qword [rbp - 0x30]
mov r9, qword [rbp + 0x178]
mov qword [rbp - 0x80], rcx
mov rcx, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x80]
xor ebx, ebx
lea eax, [rbx + 1]
jmp 0x140018a01
xor eax, eax
lea r9, [rbp - 0x24]
lea r8, [rbp - 0x30]
lea rdx, [rbp + 0x94]
lea rcx, [rbp - 0x78]
mov qword [rsp + 0x20], rdi
mov dword [rbp - 0x30], eax
mov dword [rbp - 0x24], eax
call fcn.1400840c0
test eax, eax
je 0x140019405
jmp 0x140096d64
mov r11d, dword [rbp - 0x70]
test r11b, 0x40
jne 0x1400996fe
mov rdi, qword [rbp - 0x78]
mov esi, dword [rbp - 0x58]
dec r13d
mov qword [rbp - 0x80], rdi
movzx edi, word [rdi]
mov rdx, qword [rbp - 0x80]
sub r12d, 2
xor ebx, ebx
jmp 0x140018976
mov rdx, qword [rbp - 0x80]
jmp 0x14001896b
cmp word [rdx + 4], 0x45
lea rax, [rdx + 4]
jne 0x140096e88
mov qword [rbp - 0x78], rax
cmp word [rax + 2], 0x5c
mov r14d, ebx
mov rdx, rax
je 0x140096e6c
mov dword [rbp - 0x6c], r14d
mov qword [rbp - 0x80], rdx
jmp 0x140018981
or dword [r10 + 0x80], 0x800
jmp 0x140018996
cmp word [rdx + 2], 0x45
jne 0x140096ec3
add rdx, 4
mov qword [rbp - 0x78], rdx
mov qword [rbp - 0x80], rdx
cmp word [rdx], 0x5c
je 0x140096ea5
jmp 0x140019131
cmp word [rdx], 0x5c
jne 0x140019131
cmp word [rdx + 2], 0x51
jne 0x140019131
add rdx, 4
mov qword [rbp - 0x78], rdx
mov qword [rbp - 0x80], rdx
cmp word [rdx], 0x5c
jne 0x140096f08
cmp word [rdx + 2], 0x45
jne 0x140096f08
add rdx, 4
mov qword [rbp - 0x78], rdx
mov qword [rbp - 0x80], rdx
cmp word [rdx], 0x5c
je 0x140096ecd
jmp 0x140019131
mov ecx, 1
mov r14d, ecx
mov dword [rbp - 0x6c], ecx
jmp 0x140019136
mov rax, qword [rbp - 0x80]
and edx, 0x3ff
movzx ecx, word [rax + 2]
add rax, 2
mov qword [rbp - 0x80], rax
mov r15, qword [rbp - 0x80]
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov qword [rbp - 0x78], r15
mov edx, ecx
mov ecx, 1
or edx, eax
add edx, 0x10000
mov dword [rbp - 0x24], edx
jmp 0x140019179
mov r15, qword [rbp + 0x138]
mov r9d, dword [r10 + 0x64]
mov dword [rsp + 0x28], ecx
lea rdx, [rbp - 0x24]
lea rcx, [rbp - 0x78]
mov r8, r15
mov dword [rsp + 0x20], r11d
call fcn.140019668
cmp dword [r15], 0
jne 0x140019405
mov r11d, dword [rbp - 0x70]
mov r10, qword [rbp + 0x170]
test eax, eax
je 0x140096fae
cmp eax, 5
jne 0x140019395
mov r15, qword [rbp - 0x78]
lea edx, [rax + 3]
mov qword [rbp - 0x80], r15
jmp 0x140019187
mov rdx, qword [rbp - 0x78]
mov qword [rbp - 0x80], rdx
mov edx, dword [rbp - 0x24]
mov r15, qword [rbp - 0x80]
jmp 0x140019187
or dword [r10 + 0x80], 0x800
jmp 0x1400191ad
mov rax, qword [rbp + 0x58]
test rax, rax
je 0x140099743
lea rdi, [rax + 2]
mov qword [rbp + 0x58], rbx
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x78], rdi
movzx edi, word [rdi]
test edi, edi
je 0x140099743
mov eax, 1
jmp 0x140018a18
mov r8d, dword [rbp - 0x20]
mov r12d, dword [rbp - 0x28]
add rbx, 2
cmp dword [rbp - 0x54], 0
mov qword [rbp - 0x78], rbx
mov dword [rbp - 0x24], r8d
mov dword [rbp - 0x48], r12d
je 0x14009710a
mov eax, dword [rbp - 0x68]
mov ecx, 0xffffffff
cmp eax, 0xfffffffe
cmove eax, ecx
mov ecx, dword [rbp - 0x1c]
mov dword [rbp + 4], ecx
mov dword [rbp - 0x68], eax
mov dword [rbp - 0x10], eax
test esi, esi
je 0x1400970b0
test r11b, 1
je 0x1400970b4
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 + 0xbf440]
shl rdx, 7
add rdx, rax
movzx eax, word [r8 + rdx*2 + 0xb15a0]
movzx ecx, byte [r8 + rax*8 + 0xbe0a3]
test ecx, ecx
je 0x1400970b0
mov r14, qword [rbp - 0x60]
add r14, 6
mov dword [r14 - 6], 0x9000f
mov word [r14 - 2], cx
mov r15, qword [rbp - 0x78]
mov qword [rbp - 0x60], r14
jmp 0x1400186a9
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 0x1400970f5
cmp edi, 0xffff
jbe 0x1400970f5
mov rdx, r14
mov ecx, edi
call fcn.140084738
mov r15, qword [rbp - 0x78]
mov edx, eax
lea r14, [r14 + rdx*2]
mov qword [rbp - 0x60], r14
jmp 0x1400186a9
mov word [r14], di
mov r15, qword [rbp - 0x78]
add r14, 2
mov qword [rbp - 0x60], r14
jmp 0x1400186a9
test esi, esi
je 0x140097134
cmp edi, 0xffff
jbe 0x140097134
lea rdx, [rbp + 0x78]
mov ecx, edi
call fcn.140084738
movzx edi, word [rbp + 0x78]
mov r14, qword [rbp - 0x60]
mov r8d, dword [rbp - 0x6c]
mov esi, eax
jmp 0x140018593
mov r14, qword [rbp - 0x60]
mov r8d, dword [rbp - 0x6c]
mov word [rbp + 0x78], di
mov esi, 1
jmp 0x140018593
test ebx, ebx
je 0x140097158
bt esi, 0x1d
jae 0x140018a6c
mov r14, qword [rbp - 0x60]
xor eax, eax
add r15, 2
cmp dword [rbp - 0x54], eax
mov word [r15 - 2], ax
mov ecx, WSAGetLastError
setne al
mov word [r14], cx
mov word [r14 + 4], ax
test r13d, r13d
jle 0x1400971bf
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.140025630
lea rdx, [rbp + 0x30]
mov r8d, reloc.OLEAUT32.dll_RegisterActiveObject
mov rcx, r14
call fcn.140025630
lea r14, [r15 + 0x20]
mov qword [rbp - 0x60], r14
jmp 0x1400971c6
mov r14, r15
mov qword [rbp - 0x60], r15
mov rsi, qword [rbp - 0x40]
mov rax, r14
sub rax, rsi
sar rax, 1
mov word [rsi + 2], ax
jmp 0x1400193ae
mov r11d, dword [rbp - 0x70]
jmp 0x1400186ad
lea rcx, [rbp + 0x30]
mov edx, reloc.OLEAUT32.dll_RegisterActiveObject
not byte [rcx]
lea rcx, [rcx + 1]
dec rdx
jne 0x1400971ee
jmp 0x140018a91
test edi, edi
je case.0x1400184c4.47
mov rcx, qword [rbp - 0x80]
mov r9, qword [rbp + 0x138]
lea r8, [rbp]
lea rdx, [rbp - 0x34]
add rcx, 2
call fcn.140084270
cmp dword [r9], 0
mov r15, rax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
jne 0x140099b13
mov r10d, dword [rbp]
mov r9d, dword [rbp - 0x34]
xor edx, edx
mov dword [rbp - 0x54], r10d
lea edi, [rdx + 1]
jmp 0x140018c2b
or eax, 0xffffffff
mov edi, 1
xor edx, edx
mov r9d, edi
mov dword [rbp - 0x34], edi
mov r10d, eax
mov dword [rbp - 0x54], eax
mov dword [rbp], eax
jmp 0x140018c2b
mov r13d, edx
mov r11d, edi
mov dword [rbp - 0x50], edi
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x78], rcx
mov r15, rcx
jmp 0x140018c9b
mov edi, 4
lea rcx, [rsi + 4]
mov rdx, rsi
mov r8d, edi
call fcn.140025630
mov rdi, qword [rbp + 0x178]
mov rdx, qword [rbp + 0x170]
add r14, 8
mov dword [rsi], 0x4007b
mov dword [rsi + 8], 0x40072
mov dword [rbp + 0xc], 6
mov qword [rbp - 0x60], r14
test rdi, rdi
jne 0x140097323
mov rax, qword [rdx + 0x20]
mov r8, qword [rdx + 0x48]
add rax, 2
cmp r8, rax
jb 0x140097323
mov rax, qword [rbp + 0x170]
movzx edx, word [r8 - 2]
mov rcx, rsi
sub rcx, qword [rax + 0x28]
add rcx, 2
sar rcx, 1
cmp rdx, rcx
jne 0x140097320
mov r9d, dword [rbp - 0x34]
mov r10d, dword [rbp - 0x54]
mov r11d, dword [rbp - 0x50]
add dx, 2
mov word [r8 - 2], dx
mov rax, qword [rbp - 0x78]
mov r8, qword [rbp - 0x18]
mov qword [rbp - 0x80], rax
mov r15, rax
jmp 0x140018cac
mov rdx, rax
mov rax, qword [rbp - 0x78]
mov r8, qword [rbp - 0x18]
mov r9d, dword [rbp - 0x34]
mov r10d, dword [rbp - 0x54]
mov r11d, dword [rbp - 0x50]
mov qword [rbp - 0x80], rax
mov r15, rax
jmp 0x140018cb3
mov rcx, qword [rbp - 0x78]
xor eax, eax
mov r13d, eax
mov eax, 1
mov qword [rbp - 0x80], rcx
mov r11d, eax
mov dword [rbp - 0x50], eax
jmp 0x140018d13
mov eax, 0x8b
cmp word [rsi + 4], ax
jne 0x1400191dd
mov r14, qword [rbp - 0x60]
mov r12d, dword [rbp - 0x48]
jmp 0x140018dbb
test r9d, r9d
jg 0x14009736f
cmp r10d, 1
mov ecx, 1
cmova r10d, ecx
mov dword [rbp - 0x54], r10d
mov dword [rbp], r10d
jmp 0x1400191ec
mov r14, qword [rbp - 0x60]
mov r12d, dword [rbp - 0x48]
mov eax, 0x9b
mov word [rsi], ax
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x80], rax
jmp 0x140018dbb
mov rbx, qword [rbp - 8]
mov edx, 3
mov qword [rsp + 0x20], rbx
call fcn.14001999c
lea eax, [r14 + r14]
lea rcx, [rsi + 6]
movsxd r8, eax
mov rdx, rsi
call fcn.140025630
mov rcx, qword [rbp - 0x60]
mov r10d, dword [rbp - 0x54]
add rcx, 6
mov eax, 0x8c
lea r15, [rsi + 4]
add eax, r13d
xor ebx, ebx
add rsi, 6
mov word [rsi - 6], ax
mov dword [rsi - 4], 0x7d
mov qword [rbp - 0x40], rsi
mov rdx, rsi
mov qword [rbp - 0x60], rcx
jmp 0x14001926b
cmp r9d, 1
jle 0x1400975b4
test rdi, rdi
je 0x14009746f
mov eax, dword [rbp + 0xc]
lea ecx, [r9 - 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 [0x1400c9fe8]
ja 0x140099765
mov ecx, dword [rdi]
mov eax, 0x7fffffeb
sub eax, ecx
cmp eax, edx
jl 0x140099765
lea eax, [rcx + rdx]
mov dword [rdi], eax
jmp 0x1400975b4
cmp dword [rbp + 0x1c], r12d
je 0x140097485
test ebx, ebx
jns 0x140097485
mov eax, dword [rbp - 0x1c]
mov dword [rbp - 0x20], eax
mov eax, dword [rbp - 0x68]
mov dword [rbp - 0x28], eax
mov edi, ecx
cmp r9d, 1
jle 0x1400975ad
mov rcx, qword [rbp - 0x60]
mov r8, qword [rbp + 0x170]
lea eax, [r14 + r14]
movsxd rsi, eax
mov rbx, qword [r8 + 0x48]
mov rdx, qword [rbp - 0x40]
mov r8, rsi
call fcn.140025630
mov r8, qword [rbp + 0x170]
mov r9, qword [rbp - 8]
mov rdx, qword [r8 + 0x20]
movsxd rcx, dword [r8 + 0x60]
mov rax, rbx
sub rax, r9
add rcx, 0xffffffffffffff9c
sar rax, 1
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
lea rcx, [rax + rcx*2]
cmp qword [r8 + 0x48], rcx
jbe 0x14009754b
sub r9, rdx
sub rbx, rdx
mov rcx, r8
sar r9, 1
sar rbx, 1
mov qword [rbp - 8], r9
call fcn.1400836b0
mov rcx, qword [rbp + 0x138]
mov dword [rcx], eax
test eax, eax
jne 0x140019405
mov r8, qword [rbp + 0x170]
mov rax, qword [rbp - 8]
mov rdx, qword [r8 + 0x20]
movsxd rcx, dword [r8 + 0x60]
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 + 0x48], rcx
ja 0x1400974e4
cmp r9, rbx
jae 0x14009756e
mov rax, qword [r8 + 0x48]
movzx ecx, r14w
add r9, 2
add cx, word [r9 - 2]
mov word [rax], cx
add qword [r8 + 0x48], 2
cmp r9, rbx
jb 0x140097550
mov rcx, qword [rbp - 0x60]
mov r9d, dword [rbp - 0x34]
movsxd rax, r14d
lea rcx, [rcx + rax*2]
inc edi
mov qword [rbp - 8], rbx
mov qword [rbp - 0x60], rcx
cmp edi, r9d
jl 0x1400974a3
mov rax, qword [rbp - 0x78]
mov r8, qword [rbp - 0x18]
mov r10d, dword [rbp - 0x54]
mov r11d, dword [rbp - 0x50]
mov rdi, qword [rbp + 0x178]
mov qword [rbp - 0x80], rax
jmp 0x1400975b8
mov rdi, qword [rbp + 0x178]
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x40]
test r10d, r10d
jle 0x1400975c8
sub r10d, r9d
mov dword [rbp], r10d
xor ebx, ebx
jmp 0x140019286
mov eax, dword [rbp + 0xc]
movd xmm0, r10d
add eax, 5
mov ecx, eax
movd xmm1, eax
imul ecx, r10d
cvtdq2pd xmm0, xmm0
sub ecx, 4
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
comisd xmm1, xmmword [0x1400c9fe8]
ja 0x140099765
mov edx, dword [rdi]
mov eax, 0x7fffffeb
sub eax, edx
cmp eax, ecx
jl 0x140099765
lea eax, [rcx + rdx]
mov dword [rdi], eax
jmp 0x1400192ac
mov r12, qword [rbp + 0x170]
mov eax, 0x8c
add r13w, ax
lea eax, [r14 + r14]
movsxd rsi, eax
mov qword [rbp - 0x80], rsi
mov rbx, qword [r12 + 0x48]
mov word [rcx], r13w
add rcx, 2
mov qword [rbp - 0x60], rcx
test edi, edi
je 0x140097677
mov eax, 0x7d
mov word [rcx], ax
test r15, r15
jne 0x14009765d
xor eax, eax
jmp 0x140097667
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.140025630
mov r8, qword [rbp - 8]
mov rdx, qword [r12 + 0x20]
movsxd rcx, dword [r12 + 0x60]
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 + 0x48], rcx
jbe 0x14009770f
sub r8, rdx
sub rbx, rdx
mov rcx, r12
sar r8, 1
sar rbx, 1
mov qword [rbp - 8], r8
call fcn.1400836b0
mov rcx, qword [rbp + 0x138]
mov dword [rcx], eax
test eax, eax
jne 0x140019405
mov rdx, qword [r12 + 0x20]
mov rax, qword [rbp - 8]
movsxd rcx, dword [r12 + 0x60]
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 + 0x48], rcx
ja 0x1400976ac
movsxd rdx, edi
cmp r8, rbx
jae 0x140097752
mov esi, 1
mov edi, 3
mov eax, esi
test rdx, rdx
movzx ecx, r14w
cmovne eax, edi
add cx, word [r8]
add r8, 2
add cx, ax
mov rax, qword [r12 + 0x48]
mov word [rax], cx
add qword [r12 + 0x48], 2
cmp r8, rbx
jb 0x140097721
mov edi, dword [rbp - 0x30]
mov rsi, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x40]
movsxd rax, r14d
lea rcx, [rcx + rax*2]
dec edi
mov qword [rbp - 8], rbx
mov qword [rbp - 0x60], rcx
mov dword [rbp - 0x30], edi
jns 0x140097637
mov rax, qword [rbp - 0x78]
mov r8, qword [rbp - 0x18]
mov r11d, dword [rbp - 0x50]
mov qword [rbp - 0x80], rax
xor ebx, ebx
jmp 0x1400192ac
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 0x1400977af
mov r15, rbx
jmp 0x1400977b6
neg rax
lea r15, [r15 + rax*2]
mov word [r14], di
mov word [r14 + 2], cx
add r14, 4
mov word [rdx + 2], cx
test r15, r15
jne 0x14009778b
mov rax, qword [rbp - 0x78]
mov r8, qword [rbp - 0x18]
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x80], rax
jmp 0x1400192be
mov r14, qword [rbp - 0x60]
movzx eax, word [r14 - 2]
lea rdi, [r14 - 4]
add rax, rax
sub rdi, rax
movzx ecx, word [rdi]
lea eax, [rcx - 0x7b]
cmp ax, 1
ja 0x140097849
test r11d, r11d
je 0x140097849
mov eax, 0x7d
mov word [rdi], ax
cmp qword [rbp + 0x178], 0
mov r15, qword [rbp + 0x170]
jne 0x14009787f
mov rbx, rdi
mov r8d, dword [rbp - 0x58]
lea rdx, [r14 - 4]
mov r9, r15
mov rcx, rbx
call fcn.1400832c8
test eax, eax
jne 0x140097873
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x71
lea rbx, [rbx + rax*2]
je 0x140097821
jmp 0x140097877
sub cx, 0x7b
cmp cx, 1
ja 0x14009780d
add r13w, 0x73
mov edi, WSAStartup
mov word [r14 - 4], r13w
mov rax, qword [rbp - 0x78]
mov r8, qword [rbp - 0x18]
mov qword [rbp - 0x80], rax
jmp 0x1400192be
add word [rdi], 5
mov r11d, dword [rbp - 0x50]
mov r9d, dword [rbp - 0x34]
test r11d, r11d
je 0x140097957
movzx eax, word [rdi]
mov ecx, 0x81
cmp ax, cx
je 0x1400978b8
mov ecx, 0x86
cmp ax, cx
je 0x1400978b8
mov esi, dword [rbp - 0x58]
mov r13, qword [rbp - 8]
inc ax
mov word [rdi], ax
mov eax, 0x75
mov word [r14 - 4], ax
jmp 0x140097924
mov esi, dword [rbp - 0x58]
mov r13, qword [rbp - 8]
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.14001999c
lea eax, [rbx + rbx]
lea rcx, [rdi + 4]
movsxd r8, eax
mov rdx, rdi
call fcn.140025630
mov r9d, dword [rbp - 0x34]
mov r11d, dword [rbp - 0x50]
add ebx, 2
mov eax, 0x7e
add r14, 8
mov word [rdi], ax
mov eax, 0x75
mov qword [rbp - 0x60], r14
mov word [r14 - 4], ax
mov word [r14 - 2], bx
mov word [rdi + 2], bx
test r12, r12
je 0x140097933
mov eax, VariantChangeTypeEx
mov word [r12], ax
mov rax, qword [rbp - 0x78]
mov r12d, dword [rbp - 0x48]
mov qword [rbp - 0x80], rax
cmp r9d, 2
jl 0x140018dbb
mov r8, qword [rbp - 0x18]
mov edi, WSAStartup
jmp 0x140018db0
mov r12d, dword [rbp - 0x48]
add r13w, 0x73
mov word [r14 - 4], r13w
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x80], rax
jmp 0x140018dbb
mov eax, reloc.WSOCK32.dll___WSAFDIsSet
cmp cx, ax
je 0x140018dbb
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov dword [rax], reloc.WSOCK32.dll_inet_ntoa
xor eax, eax
mov qword [rdx], r15
jmp 0x14001853d
mov r14, rsi
mov qword [rbp - 0x60], rsi
jmp 0x140018dbb
cmp r9d, 1
jne 0x1400979dd
cmp r10d, 0xffffffff
jne 0x1400979dd
add r13w, 0x64
add r14, 2
lea edi, [r9 + 0x71]
mov word [r14 - 2], r13w
mov rax, qword [rbp - 0x78]
mov r8, qword [rbp - 0x18]
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x60], r14
jmp 0x14001910b
mov r15, qword [rbp + 0x170]
mov esi, dword [rbp - 0x58]
add r13w, 0x68
mov word [r14], r13w
mov r13, qword [rbp - 8]
mov word [r14 + 2], r9w
cmp r10d, 0xffffffff
mov ebx, 0
cmove r10d, ebx
add r14, 6
lea edi, [rbx + 0x72]
mov word [r14 - 2], r10w
mov rax, qword [rbp - 0x78]
mov r8, qword [rbp - 0x18]
mov qword [rbp - 0x80], rax
mov dword [rbp], r10d
mov qword [rbp - 0x60], r14
jmp 0x140018db2
movzx edx, cx
sub edx, 0x1e
je 0x140097a4f
dec edx
je 0x140097a48
dec edx
je 0x140097a41
xor eax, eax
mov ebx, eax
jmp 0x140097a54
mov ebx, reloc.OLEAUT32.dll_SafeArrayRedim
jmp 0x140097a54
mov ebx, 0x1a
jmp 0x140097a54
mov ebx, reloc.WSOCK32.dll_listen
mov r15d, dword [rbp - 0x58]
test r15d, r15d
je 0x140097abd
movzx eax, word [r14 - 2]
lea rdx, [r14 - 2]
mov r8d, 0xfc00
and ax, r8w
mov edi, 0xdc00
cmp ax, di
jne 0x140097abd
movzx eax, word [rdx]
and ax, r8w
cmp ax, di
jne 0x140097a8a
sub rdx, 2
mov rdi, r14
lea rcx, [rbp + 0xc0]
sub rdi, rdx
sar rdi, 1
lea r8d, [rdi + rdi]
call fcn.140025630
mov rcx, qword [rbp - 0x78]
mov r9d, dword [rbp - 0x34]
mov r10d, dword [rbp - 0x54]
mov r11d, dword [rbp - 0x50]
mov qword [rbp - 0x80], rcx
bts edi, 0x1c
jmp 0x140097aee
movzx edi, word [r14 - 2]
cmp cx, 0x1e
ja 0x140097aea
mov rax, qword [rbp + 0x170]
cmp r9d, 1
jle 0x140097ae4
mov ecx, dword [rax + 0x84]
mov dword [rbp - 0x20], edi
or ecx, dword [rbp + 8]
mov dword [rbp - 0x28], ecx
mov rcx, qword [rbp - 0x80]
jmp 0x140097af5
mov rcx, qword [rbp - 0x80]
mov rax, qword [rbp + 0x170]
test r11d, r11d
jne 0x140018d1b
test r10d, r10d
jns 0x140018d1b
mov r9d, dword [rbp - 0x70]
lea r8, [rcx + 2]
mov edx, r15d
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.1400198f0
test eax, eax
je 0x140018d07
mov rsi, qword [rbp - 0x78]
xor eax, eax
mov r13d, eax
mov eax, 1
mov qword [rbp - 0x80], rsi
mov rsi, qword [rbp - 0x40]
mov r11d, eax
mov dword [rbp - 0x50], eax
jmp 0x140018d13
movzx esi, word [rsi + 2]
movzx r14d, word [rdx + 4]
jmp 0x140018d38
cmp r10d, 1
jne 0x140097b6a
add r13w, 0x25
mov word [rdx], r13w
jmp 0x140018d6c
add r13w, 0x27
add rbx, 2
mov word [rdx], r13w
mov word [rbx - 2], r10w
jmp 0x140018d6c
cmp r9d, 1
jne 0x140097bcb
cmp r10d, 0xffffffff
jne 0x140097b9f
add r13w, 0x23
lea rbx, [rdx + 2]
mov word [rdx], r13w
jmp 0x140018d6c
mov qword [rbp - 0x60], rcx
cmp r10d, 1
je 0x1400193d1
lea rbx, [rcx + 2]
add r13w, 0x27
dec r10w
mov word [rcx], r13w
mov word [rbx], r10w
add rbx, 2
jmp 0x140018d6c
add bx, 0x29
mov word [rdx], bx
lea rbx, [rdx + 2]
mov word [rbx], r9w
add rbx, 2
test r10d, r10d
jns 0x140097c50
test r15d, r15d
je 0x140097c26
bt edi, 0x1c
jae 0x140097c26
mov eax, edi
lea rdx, [rbp + 0xc0]
mov rcx, rbx
and eax, 7
lea r8d, [rax + rax]
call fcn.140025630
mov r11d, dword [rbp - 0x50]
mov eax, edi
and eax, 7
add r13w, 0x21
lea rbx, [rbx + rax*2]
add rbx, 2
mov word [rbx - 2], r13w
jmp 0x140018d6c
mov word [rbx], di
add rbx, 2
test esi, esi
js 0x140097c3d
mov word [rbx], si
mov word [rbx + 2], r14w
add rbx, 4
add r13w, 0x21
add rbx, 2
mov word [rbx - 2], r13w
jmp 0x140018d6c
cmp r10d, r9d
je 0x140018d6c
test r15d, r15d
je 0x140097c93
bt edi, 0x1c
jae 0x140097c93
mov eax, edi
lea rdx, [rbp + 0xc0]
mov rcx, rbx
and eax, 7
lea r8d, [rax + rax]
call fcn.140025630
mov r9d, dword [rbp - 0x34]
mov r10d, dword [rbp - 0x54]
mov r11d, dword [rbp - 0x50]
mov eax, edi
and eax, 7
lea rbx, [rbx + rax*2]
jmp 0x140097c9a
mov word [rbx], di
add rbx, 2
test esi, esi
js 0x140097caa
mov word [rbx], si
mov word [rbx + 2], r14w
add rbx, 4
sub r10d, r9d
mov dword [rbp], r10d
cmp r10d, 1
jne 0x140097cca
add r13w, 0x25
add rbx, 2
mov word [rbx - 2], r13w
jmp 0x140018d6c
add r13w, 0x27
add rbx, 4
mov word [rbx - 4], r13w
mov word [rbx - 2], r10w
jmp 0x140018d6c
mov eax, edi
lea rdx, [rbp + 0xc0]
mov rcx, rbx
and eax, 7
lea r8d, [rax + rax]
call fcn.140025630
mov r11d, dword [rbp - 0x50]
mov eax, edi
and eax, 7
lea rbx, [rbx + rax*2]
jmp 0x140018d82
mov word [rbx], si
add rbx, 2
mov word [rbx], r14w
mov rax, qword [rbp - 0x78]
mov r8, qword [rbp - 0x18]
mov r14, rbx
mov qword [rbp - 0x60], rbx
mov qword [rbp - 0x80], rax
add r14, 2
mov qword [rbp - 0x60], r14
jmp 0x140018dad
movzx eax, word [r8]
cmp ax, 0x5d
jne 0x140097d71
movzx eax, word [r8 + 4]
mov r10d, 2
lea rdx, [0x140000000]
sub ax, 0xf
mov ecx, r10d
cmp ax, 1
cmova ecx, ebx
lea eax, [rcx + 3]
movsxd rcx, eax
lea r8, [r8 + rcx*2]
mov qword [rbp - 0x18], r8
jmp 0x140097d8a
cmp ax, 0x29
je 0x140097dc1
cmp ax, 0x43
je 0x140097dc1
lea rdx, [0x140000000]
mov r10d, 2
mov rbx, r14
sub rbx, r8
sar rbx, 1
test ebx, ebx
jle 0x140018dbb
movzx eax, word [r8]
add eax, 0xffffffdf
cmp eax, 0x3a
ja 0x140097fbe
cdqe
movzx eax, byte [rdx + rax + 0x99bee]
mov ecx, dword [rdx + rax*4 + 0x99b9a]
add rcx, rdx
jmp rcx
lea rdx, [0x140000000]
movzx eax, ax
movzx eax, byte [rax + rdx + 0xb1500]
lea r8, [r8 + rax*2]
mov qword [rbp - 0x18], r8
test esi, esi
je 0x140097d84
movzx eax, word [r8 - 2]
mov ecx, 0xfc00
mov r10d, 2
and ax, cx
mov ecx, 0xd800
cmp ax, cx
jne 0x140097d8a
add r8, 2
mov qword [rbp - 0x18], r8
jmp 0x140097d8a
xor eax, eax
mov r9, r15
mov r8d, esi
mov word [r14], ax
mov rcx, qword [rbp - 0x18]
mov edx, r10d
mov qword [rsp + 0x20], r13
call fcn.14001999c
mov rdx, qword [rbp - 0x18]
lea eax, [rbx + rbx]
lea rcx, [rdx + 4]
movsxd r8, eax
call fcn.140025630
mov rax, qword [rbp - 0x18]
add ebx, 2
mov ecx, 0x7b
add r14, 8
mov word [rax], cx
mov word [r14 - 4], di
mov word [r14 - 2], bx
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x60], r14
mov word [rax + 2], bx
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x80], rax
jmp 0x140018dbb
cmp dword [rbp - 0x58], r15d
je 0x1400190bd
lea rdx, [rbp + 0x78]
mov ecx, edi
call fcn.140084738
movzx edi, word [rbp + 0x78]
mov r11d, dword [rbp - 0x70]
mov r8d, dword [rbp - 0x6c]
mov esi, eax
jmp 0x140018593
mov r15, qword [rbp - 0x78]
cmp word [r15 + 2], 0x5c
jne 0x14009806d
cmp word [r15 + 4], 0x45
jne 0x14009806d
mov r11d, dword [rbp - 0x70]
add r15, 4
jmp 0x1400186ad
mov r11d, dword [rbp - 0x70]
mov eax, 1
mov r8d, eax
mov dword [rbp - 0x6c], eax
jmp 0x1400186b1
mov rdi, qword [rbp + 0x170]
mov edx, 0x3e
mov ebx, reloc.OLEAUT32.dll_SafeArrayRedim
mov rax, qword [rdi + 0x48]
mov dword [rbp - 0x38], r15d
mov r9d, r15d
mov qword [rbp - 8], rax
mov rax, qword [rbp - 0x78]
mov dword [rbp - 0x44], r15d
add rax, 2
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x80], rax
cmp word [rax], 0x3c
lea r10, [rax + 2]
movzx eax, word [rax + 2]
cmove ebx, edx
mov edx, 0xfffd
sub ax, 0x2b
test dx, ax
je 0x14009816c
mov eax, 1
mov r8, r10
mov r9d, eax
movzx eax, word [r10]
test ax, ax
je 0x140098124
cmp ax, bx
je 0x140098140
mov ecx, 0xff
cmp ax, cx
ja 0x14009811e
movzx ecx, ax
mov rax, qword [rdi + 0x18]
test byte [rcx + rax], 4
cmove r9d, r15d
test byte [rcx + rax], 0x10
je 0x140098121
movzx eax, word [r8 + 2]
add r8, 2
test ax, ax
jne 0x1400980ea
jmp 0x140098121
mov r9d, r15d
mov ecx, dword [rbp - 0x68]
cmp word [r8], bx
je 0x140098143
mov r15, qword [rbp - 0x80]
mov r11d, dword [rbp - 0x70]
mov eax, reloc.WSOCK32.dll_gethostname
mov dword [r13], eax
jmp 0x1400186ad
mov ecx, dword [rbp - 0x68]
test r9d, r9d
je 0x140098163
mov r11d, dword [rbp - 0x70]
mov r8, r10
mov qword [rbp - 0x80], r10
mov qword [rbp - 0x78], r10
mov r10d, dword [rbp - 0x54]
mov r9d, r15d
jmp 0x14009922e
mov r10d, dword [rbp - 0x54]
jmp 0x140099047
mov rax, qword [rbp - 0x80]
lea rcx, [rax + 4]
movzx eax, word [rax + 4]
cmp ax, 0x30
jb 0x140098192
cmp ax, 0x39
ja 0x140098192
movzx eax, word [rcx + 2]
add rcx, 2
cmp ax, 0x30
jae 0x14009817e
mov r11d, dword [rbp - 0x70]
cmp word [rcx], bx
je 0x1400981ad
mov r15, qword [rbp - 0x80]
mov eax, reloc.WSOCK32.dll_gethostname
mov dword [r13], eax
jmp 0x1400186ad
mov r8, r10
mov qword [rbp - 0x80], r10
mov qword [rbp - 0x78], r10
mov r10d, dword [rbp - 0x54]
jmp 0x14009922b
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x80], rax
lea rcx, [rax + 2]
movzx eax, word [rax + 2]
cmp ax, 0x3c
je 0x1400981f9
cmp ax, 0x27
je 0x1400981f9
cmp ax, 0x7b
je 0x1400981f9
mov r15, qword [rbp - 0x80]
mov r11d, dword [rbp - 0x70]
mov eax, 0x45
mov dword [r13], eax
jmp 0x1400186ad
mov r10d, dword [rbp - 0x54]
mov rdi, qword [rbp + 0x170]
mov rax, rcx
mov qword [rbp - 0x78], rcx
movzx eax, word [rcx]
mov qword [rbp - 0x80], rcx
mov ecx, dword [rbp - 0x68]
mov r12d, r15d
mov r8d, 1
cmp ax, 0x3c
jne 0x14009822f
lea ebx, [r8 + 0x3d]
xor edx, edx
jmp 0x140099056
cmp ax, 0x27
mov ebx, 0x7d
mov eax, reloc.OLEAUT32.dll_SafeArrayRedim
cmove ebx, eax
xor edx, edx
jmp 0x140099056
neg edi
mov r8d, 1
mov r11d, dword [rbp - 0x70]
cmp ecx, 0xfffffffe
mov eax, r15d
cmove ecx, r9d
test r11b, 1
mov rsi, r14
setne al
mov qword [rbp - 0x40], r14
add r14, 4
add eax, 0x6d
mov qword [rbp - 0x60], r14
mov dword [rbp - 0x68], ecx
mov word [r14 - 4], ax
mov word [r14 - 2], di
mov eax, r8d
cmp edi, 0x20
jge 0x14009828f
mov ecx, edi
shl eax, cl
mov r10, qword [rbp + 0x170]
or dword [r10 + 0x74], eax
cmp edi, dword [r10 + 0x70]
jle 0x1400982a4
mov dword [r10 + 0x70], edi
mov rcx, qword [r10 + 0x40]
test rcx, rcx
je 0x140018869
movzx eax, word [rcx + 8]
cmp eax, edi
je 0x1400991f8
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1400982b1
mov r15, qword [rbp - 0x78]
jmp 0x1400186ad
mov r10, qword [rbp + 0x170]
cmp dword [r10 + 0x6c], r15d
jne 0x140018b8d
mov eax, 1
mov dword [r10 + 0x6c], eax
jmp 0x140018b8d
mov rax, qword [rbp - 0x78]
mov r11d, dword [rbp - 0x70]
lea r15, [0x140000000]
mov r15, qword [r15 + rdi*8 + 0xd95b8]
add rax, 2
sub r15, 2
mov qword [rbp + 0x58], rax
jmp 0x1400186ad
cmp edi, 0xe
jne 0x140018bb6
mov edi, reloc.WSOCK32.dll_listen
jmp 0x140018bb6
lea r9, [rbp - 0x44]
lea r8, [rbp - 0x30]
lea rdx, [rbp + 0x90]
lea rcx, [rbp - 0x78]
mov dword [rbp - 0x30], r15d
mov dword [rbp - 0x44], r15d
mov qword [rsp + 0x20], r13
call fcn.1400840c0
test eax, eax
je 0x140019405
mov r11d, dword [rbp - 0x70]
mov eax, r15d
cmp edi, 0x10
sete al
mov ecx, r15d
mov rsi, r14
cmp eax, dword [rbp + 0x90]
movzx eax, word [rbp - 0x30]
mov qword [rbp - 0x40], r14
setne cl
add ecx, 0xf
add r14, 6
mov word [r14 - 6], cx
mov word [r14 - 4], ax
movzx eax, word [rbp - 0x44]
mov word [r14 - 2], ax
mov r15, qword [rbp - 0x78]
mov qword [rbp - 0x60], r14
jmp 0x1400186ad
movzx eax, word [r10 + 2]
lea rcx, [r10 + 2]
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x140018593
mov qword [rbp - 0x78], rcx
movzx eax, word [rcx]
mov esi, 2
mov word [rbp + 0x7a], ax
jmp 0x140018593
movzx eax, word [rbp + 0x7a]
and edx, 0x3ff
mov ecx, edx
and eax, 0x3ff
shl ecx, 0xa
mov edx, eax
or edx, ecx
add edx, 0x10000
jmp 0x1400185c0
mov r10, qword [rbp + 0x170]
or dword [r10 + 0x80], 0x800
jmp 0x140018662
cmp dword [rbp + 8], 0
je 0x140018be6
mov r15, qword [rbp - 0x78]
mov dword [rbp - 0x28], eax
mov dword [rbp - 0x68], eax
jmp 0x1400186a9
movzx eax, word [r14 - 2]
mov r15, qword [rbp - 0x78]
mov dword [rbp - 0x20], eax
mov eax, dword [r10 + 0x84]
mov dword [rbp - 0x28], eax
jmp 0x1400186ad
cmp dword [rbp + 8], 0
je 0x140018690
mov rsi, qword [rbp - 0x40]
jmp 0x140018869
movzx eax, word [rdi + 2]
lea r12, [rdi + 2]
mov rdi, qword [rbp + 0x170]
cmp ax, 0x3a
je 0x140098486
mov r15d, 0xff
cmp ax, r15w
ja 0x1400986eb
movzx ecx, ax
mov rax, qword [rdi + 0x18]
test byte [rcx + rax], 2
je 0x1400986eb
xor edx, edx
mov qword [rbp - 0x78], r12
movzx eax, word [r12]
mov r8d, 0xff
mov esi, edx
lea r15, [0x1400c88a8]
mov r13d, edx
mov qword [rbp - 0x40], rdx
mov r14, r12
mov qword [rbp - 0x80], r12
cmp ax, r8w
ja 0x1400984d7
mov rcx, qword [rdi + 0x18]
movzx eax, ax
test byte [rax + rcx], 2
je 0x1400984d3
add r14, 2
mov qword [rbp - 0x78], r14
movzx eax, word [r14]
cmp ax, r8w
jbe 0x1400984b8
mov qword [rbp - 0x80], r14
mov rcx, qword [rbp - 0x80]
sub r14, r12
sar r14, 1
cmp word [rcx], 0x3a
jne 0x140098531
mov rsi, rcx
add rsi, 2
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x80], rsi
mov r13, rsi
movzx eax, word [rsi]
test ax, ax
je 0x14009851b
cmp ax, 0x29
je 0x140098517
add rsi, 2
mov qword [rbp - 0x78], rsi
movzx eax, word [rsi]
test ax, ax
jne 0x140098501
mov qword [rbp - 0x80], rsi
sub rsi, r13
sar rsi, 1
cmp esi, 0xffff
ja 0x1400997a5
mov rcx, qword [rbp - 0x80]
cmp word [rcx], 0x29
jne 0x140099829
mov dword [rbp - 0x30], edx
mov rdi, rdx
lea rbx, [0x1400c87e0]
mov r11d, dword [rbx]
cmp r14d, r11d
jne 0x140098607
mov r8d, r14d
mov rdx, r15
mov rcx, r12
call fcn.140019ac0
test eax, eax
jne 0x140098607
lea rax, [rdi + rdi*2]
lea rdx, [0x1400c87e0]
mov ecx, dword [rdx + rax*4 + 4]
cmp ecx, 0x98
jne 0x140098638
test esi, esi
jne 0x1400997c7
mov r10, qword [rbp + 0x170]
mov r14, qword [rbp - 0x60]
mov edx, 1
mov rcx, qword [r10 + 0x40]
mov dword [r10 + 0x88], edx
test rcx, rcx
je 0x1400985d3
mov r10d, 0x9a
mov word [r14], r10w
movzx eax, word [rcx + 8]
add r14, 4
mov word [r14 - 2], ax
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1400985b3
mov r10, qword [rbp + 0x170]
xor eax, eax
cmp dword [r10 + 0x78], eax
setg al
add r14, 2
add eax, 0x98
cmp dword [rbp - 0x68], 0xfffffffe
mov qword [rbp - 0x60], r14
mov word [r14 - 2], ax
movzx ebx, ax
jne 0x1400986a4
mov dword [rbp - 0x68], 0xffffffff
jmp 0x1400986a4
inc dword [rbp - 0x30]
lea eax, [r11 + 1]
add rbx, 0xc
movsxd rcx, eax
lea rax, [0x1400c884c]
inc rdi
add r15, rcx
cmp rbx, rax
jl 0x140098548
mov r15, qword [rbp - 0x80]
mov r14, qword [rbp - 0x60]
jmp 0x1400986d8
test esi, esi
jne 0x14009864f
test ecx, ecx
js 0x1400997e9
mov r14, qword [rbp - 0x60]
movzx eax, cx
mov ebx, eax
jmp 0x14009868c
cmp dword [rdx + rax*4 + 8], 0
jl 0x1400997c7
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.140025630
movsxd rax, esi
lea r14, [r14 + rax*2]
xor eax, eax
mov r10, qword [rbp + 0x170]
mov word [r14], ax
add r14, 2
mov qword [rbp - 0x60], r14
mov edx, 1
cmp ebx, 0x90
jl 0x1400986c7
cmp ebx, 0x93
jle 0x1400986cd
cmp ebx, 0x95
jg 0x1400986c7
or dword [r10 + 0x80], 0x1000
mov r15, qword [rbp - 0x78]
jmp 0x1400986d8
mov r15, qword [rbp - 0x78]
mov dword [r10 + 0x8c], edx
cmp dword [rbp - 0x30], 9
jge 0x14009980b
mov r12d, dword [rbp - 0x48]
jmp 0x140018ab0
mov r12d, dword [rbp - 0x48]
jmp 0x14001874a
sub eax, 0x21
lea r13, [0x140000000]
cmp eax, 0x5b
ja case.0x14009871d.47
cdqe
movzx eax, byte [r13 + rax + 0x99c66]
mov ecx, dword [r13 + rax*4 + 0x99c2a]
add rcx, r13
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 0x140098755
cmp ax, 0x29
je 0x140098777
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 0x140098737
mov r15, qword [rbp - 0x80]
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov dword [rax], reloc.WSOCK32.dll_select
xor eax, eax
mov qword [rdx], r15
jmp 0x14001853d
mov r15, qword [rbp - 0x80]
cmp word [r15], r9w
je 0x140098759
jmp 0x1400186ad
mov edx, 1
mov r9d, edx
jmp 0x140098795
mov edx, 1
mov rcx, qword [rbp - 0x80]
mov r11d, dword [rbp - 0x38]
mov eax, 0x7d
add rcx, 2
mov dword [rbp - 0x50], eax
mov qword [rbp - 0x78], rcx
jmp 0x140018e02
mov r8, qword [rbp - 0x80]
mov eax, 0x81
cmp word [r8 + 2], 0x3f
mov dword [rbp - 0x50], eax
mov qword [rbp + 0x68], r8
jne 0x140098838
cmp word [r8 + 4], 0x43
jne 0x140098813
mov eax, 3
mov ecx, eax
movzx eax, word [r8 + 6]
cmp ax, 0x30
jb 0x1400987fa
cmp ax, 0x39
ja 0x1400987fa
inc ecx
movsxd rax, ecx
movzx eax, word [r8 + rax*2]
cmp ax, 0x30
jae 0x1400987e4
movsxd rax, ecx
cmp word [r8 + rax*2], 0x29
jne 0x140098813
lea eax, [rcx + 1]
movsxd rcx, eax
lea r8, [r8 + rcx*2]
mov qword [rbp + 0x68], r8
cmp word [r8 + 2], 0x3f
jne 0x140098838
movzx eax, word [r8 + 4]
cmp ax, 0x21
je 0x140099578
sub ax, 0x3c
cmp ax, 1
jbe 0x140099578
mov eax, 0x87
or r8d, 0xffffffff
mov word [r14 + 4], ax
mov rcx, qword [rbp - 0x78]
mov eax, 2
lea rdx, [rcx + 2]
mov r11d, eax
mov dword [rbp - 0x38], eax
movzx eax, word [rdx]
mov r9d, r8d
mov qword [rbp - 0x80], rcx
cmp ax, 0x52
jne 0x140098898
add rcx, 4
cmp word [rcx], 0x26
jne 0x140098894
mov qword [rbp - 0x78], rcx
mov eax, 0x89
mov r12d, r8d
mov word [r14 + 4], ax
mov rcx, qword [rbp - 0x78]
mov dword [rbp - 0x30], r8d
mov qword [rbp - 0x80], rcx
xor esi, esi
jmp 0x1400988ed
mov rcx, qword [rbp - 0x80]
xor esi, esi
cmp ax, 0x3c
jne 0x1400988b1
mov eax, 0x3e
mov qword [rbp - 0x78], rdx
mov r12d, eax
mov dword [rbp - 0x30], eax
jmp 0x1400988e6
cmp ax, 0x27
jne 0x1400988c8
mov eax, reloc.OLEAUT32.dll_SafeArrayRedim
mov qword [rbp - 0x78], rdx
mov r12d, eax
mov dword [rbp - 0x30], eax
jmp 0x1400988e6
sub ax, 0x2b
mov r8d, 0xfffd
mov r12d, esi
mov dword [rbp - 0x30], esi
test r8w, ax
jne 0x1400988ed
mov qword [rbp - 0x78], rdx
movzx r9d, word [rdx]
mov rcx, rdx
mov qword [rbp - 0x80], rdx
add rcx, r11
movzx eax, word [rcx]
cmp ax, r15w
ja 0x140099903
mov r8, qword [rdi + 0x18]
movzx eax, ax
test byte [rax + r8], 0x10
je 0x140099903
mov qword [rbp - 0x78], rcx
movzx edx, word [rcx]
mov eax, 0xff
mov edi, esi
mov r15, rcx
mov qword [rbp - 0x80], rcx
mov r13, rcx
cmp dx, ax
ja 0x140098974
or esi, 0xffffffff
mov r10d, eax
movzx eax, dx
test byte [rax + r8], 0x10
je 0x14009896a
test edi, edi
js 0x140098959
lea eax, [rdx - 0x30]
cmp ax, 9
ja 0x140098957
lea edi, [rdi + rdi*4]
movzx eax, dx
lea edi, [rdi - 0x18]
lea edi, [rax + rdi*2]
jmp 0x140098959
mov edi, esi
add r15, r11
mov qword [rbp - 0x78], r15
movzx edx, word [r15]
cmp dx, r10w
jbe 0x140098932
mov r10d, dword [rbp - 0x54]
mov qword [rbp - 0x80], r15
xor esi, esi
sub r15, rcx
sar r15, 1
test r12d, r12d
jle 0x14009899f
mov rax, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x80]
movzx eax, word [rax]
add rcx, r11
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x78], rcx
cmp ax, r12w
jne 0x1400998de
mov rax, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x80]
movzx eax, word [rax]
add rcx, r11
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x78], rcx
cmp ax, 0x29
jne 0x1400998de
cmp qword [rbp + 0x178], 0
jne 0x140098a0d
test r9d, r9d
jle 0x140098a26
test edi, edi
jle 0x14009986d
mov rax, qword [rbp + 0x170]
cmp r9d, 0x2d
jne 0x1400989f4
mov eax, dword [rax + 0x64]
sub eax, edi
lea edi, [rax + 1]
mov rax, qword [rbp + 0x170]
jmp 0x1400989f7
add edi, dword [rax + 0x64]
test edi, edi
jle 0x14009984b
cmp edi, dword [rax + 0x68]
jg 0x14009984b
mov word [r14 + 6], di
mov r9d, dword [rbp - 0x44]
mov r12d, dword [rbp - 0x48]
mov rdi, qword [rbp + 0x170]
mov edx, 1
jmp 0x140018dff
mov rax, qword [rbp + 0x170]
mov r14d, dword [rax + 0x58]
mov r11, qword [rax + 0x50]
test r14d, r14d
jle 0x140098a6f
mov r12, rax
lea rdx, [r11 + 2]
mov r8d, r15d
mov rcx, r13
call fcn.14008462c
test eax, eax
je 0x140098a60
movsxd rax, dword [r12 + 0x5c]
inc esi
lea r11, [r11 + rax*2]
cmp esi, r14d
jl 0x140098a3d
mov r12d, dword [rbp - 0x30]
mov r10d, dword [rbp - 0x54]
mov rax, qword [rbp + 0x170]
cmp esi, r14d
jge 0x140098a8c
movzx eax, word [r11]
mov r14, qword [rbp - 0x60]
mov r11d, dword [rbp - 0x38]
inc word [r14 + 4]
mov word [r14 + 6], ax
jmp 0x140098a0d
mov ecx, dword [rbp - 0x58]
xor esi, esi
test r10d, r10d
mov dword [rsp + 0x20], ecx
mov r9d, esi
mov r8d, r15d
mov rcx, rax
setne r9b
mov rdx, r13
call fcn.140083a58
test eax, eax
jle 0x140098ad9
mov r14, qword [rbp - 0x60]
mov r11d, dword [rbp - 0x38]
mov r12d, dword [rbp - 0x48]
inc word [r14 + 4]
mov rdi, qword [rbp + 0x170]
mov word [r14 + 6], ax
mov r9d, esi
lea edx, [rsi + 1]
jmp 0x140018dff
test r12d, r12d
jne 0x14009988f
cmp word [r13], 0x52
jne 0x140098b59
mov edx, 1
mov ecx, esi
cmp r15d, edx
jle 0x140098b25
movsxd rax, edx
movzx r8d, word [r13 + rax*2]
lea eax, [r8 - 0x30]
cmp ax, 9
ja 0x14009988f
lea ecx, [rcx + rcx*4]
movzx eax, r8w
inc edx
lea ecx, [rcx - 0x18]
lea ecx, [rax + rcx*2]
cmp edx, r15d
jl 0x140098af6
test ecx, ecx
jne 0x140098b2a
mov ecx, 0xffff
mov r14, qword [rbp - 0x60]
mov r11d, dword [rbp - 0x38]
mov r12d, dword [rbp - 0x48]
mov rdi, qword [rbp + 0x170]
mov eax, 0x89
mov word [r14 + 6], cx
mov word [r14 + 4], ax
mov r9d, esi
mov edx, 1
jmp 0x140018dff
cmp r15d, 6
jne 0x140098b9e
lea rdx, str.DEFINE
mov r8d, r15d
mov rcx, r13
call fcn.140019ac0
test eax, eax
jne 0x140098b9e
mov r14, qword [rbp - 0x60]
mov r12d, dword [rbp - 0x48]
mov rdi, qword [rbp + 0x170]
mov eax, 0x8b
mov edx, 1
mov r9d, esi
mov word [r14 + 4], ax
mov r11d, edx
jmp 0x140018dff
test edi, edi
jle 0x1400998b1
mov rax, qword [rbp + 0x170]
cmp edi, dword [rax + 0x68]
jg 0x1400998b1
mov r14, qword [rbp - 0x60]
mov r11d, dword [rbp - 0x38]
mov r12d, dword [rbp - 0x48]
mov word [r14 + 6], di
mov r9d, esi
mov edx, 1
mov rdi, rax
jmp 0x140018dff
mov rcx, qword [rbp - 0x80]
inc dword [rdi + 0x78]
mov eax, 0x77
add rcx, 2
mov dword [rbp - 0x50], eax
mov r11d, r9d
mov qword [rbp - 0x78], rcx
lea edx, [rax - 0x76]
jmp 0x140018e02
mov rax, qword [rbp - 0x80]
add rax, 2
mov qword [rbp - 0x78], rax
cmp word [rax], 0x29
jne 0x140098c2e
mov eax, reloc.WSOCK32.dll___WSAFDIsSet
add r14, 2
mov word [r14 - 2], ax
mov r15, qword [rbp - 0x78]
xor eax, eax
mov esi, eax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x60], r14
jmp 0x1400186ad
inc dword [rdi + 0x78]
mov eax, 0x78
mov r11d, r9d
lea edx, [rax - 0x77]
mov dword [rbp - 0x50], eax
jmp 0x140018e02
mov rax, qword [rbp - 0x80]
movzx eax, word [rax + 2]
cmp eax, 0x21
je 0x140098c99
cmp eax, 0x3d
je 0x140098c92
cmp ax, r15w
ja 0x140098c6c
mov ecx, eax
mov rax, qword [rdi + 0x18]
test byte [rcx + rax], 0x10
jne case.0x14009871d.36
mov rax, qword [rbp + 0x138]
mov r15, qword [rbp - 0x80]
mov rdx, qword [rbp + 0x130]
add r15, 2
mov dword [rax], reloc.OLEAUT32.dll_SafeArrayGetElement
xor eax, eax
mov qword [rdx], r15
jmp 0x14001853d
mov eax, 0x79
jmp 0x140098c9e
mov eax, 0x7a
mov r8, qword [rbp - 0x80]
inc dword [rdi + 0x78]
mov dword [rbp - 0x50], eax
add r8, 4
mov r11d, r9d
mov edx, 1
mov qword [rbp - 0x78], r8
jmp 0x140018e02
mov rcx, qword [rbp - 0x80]
mov eax, 0x7b
mov r11d, r9d
add rcx, 2
mov dword [rbp - 0x50], eax
lea edx, [rax - 0x7a]
mov qword [rbp - 0x78], rcx
jmp 0x140018e02
mov eax, WSAStartup
xor ecx, ecx
mov qword [rbp + 0x20], r14
mov word [r14], ax
mov rdx, qword [rbp - 0x78]
mov dword [rbp + 0x50], 1
add rdx, 2
mov eax, ecx
mov qword [rbp - 0x80], rdx
mov r15, qword [rbp - 0x80]
mov qword [rbp - 0x78], rdx
movzx edx, word [rdx]
cmp dx, 0x30
jb 0x140098d37
cmp dx, 0x39
ja 0x140098d35
lea ecx, [rax + rax*4]
add r15, 2
movzx eax, dx
mov qword [rbp - 0x78], r15
movzx edx, word [r15]
lea eax, [rax + rcx*2]
add eax, 0xffffffd0
cmp dx, 0x30
jae 0x140098d11
xor ecx, ecx
cmp word [r15], 0x29
jne 0x140099946
cmp eax, 0xff
jg 0x140099928
mov word [r14 + 2], ax
mov eax, dword [rbp - 0x78]
mov rsi, rcx
sub eax, dword [rdi + 0x30]
mov word [r14 + 6], cx
mov qword [rbp - 0x40], rcx
sar rax, 1
inc ax
add r14, 8
mov word [r14 - 4], ax
mov r15, qword [rbp - 0x78]
mov qword [rbp - 0x60], r14
jmp 0x1400186ad
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 0x140098ddd
cmp ax, 0x3e
je 0x140098dc7
cmp ax, 0x3c
je 0x140098dfe
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov r15, qword [rbp - 0x80]
mov dword [rax], reloc.OLEAUT32.dll_SafeArrayCreateEx
mov qword [rdx], r15
xor eax, eax
jmp 0x14001853d
mov ecx, dword [rbp - 0x68]
xor edx, edx
mov r8d, 1
lea ebx, [rdx + 0x29]
mov r12d, r8d
jmp 0x140099052
mov ecx, dword [rbp - 0x68]
xor edx, edx
lea r8d, [rdx + 1]
lea ebx, [rdx + 0x29]
mov r12d, edx
jmp 0x140099052
cmp r8d, 0x3c
je 0x140098dfe
mov edx, reloc.OLEAUT32.dll_SafeArrayRedim
jmp 0x140098e03
mov edx, 0x3e
mov rax, qword [rbp - 0x80]
add rax, 2
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
mov r9, rax
mov qword [rbp - 0x40], rax
movzx eax, word [rax]
cmp ax, r15w
ja 0x140098e4a
mov rcx, qword [rdi + 0x18]
movzx eax, ax
test byte [rax + rcx], 0x10
je 0x140098e42
add r9, 2
mov qword [rbp - 0x78], r9
movzx eax, word [r9]
cmp ax, r15w
jbe 0x140098e27
mov qword [rbp - 0x80], r9
mov r9, qword [rbp - 0x40]
mov r12, qword [rbp - 0x80]
sub r12, r9
sar r12, 1
cmp qword [rbp + 0x178], 0
je 0x140098eb2
mov r15, qword [rbp - 0x80]
cmp word [r15], dx
jne 0x140099983
cmp dword [rdi + 0x58], 0x2710
jge 0x140099965
lea eax, [r12 + 2]
cmp eax, dword [rdi + 0x5c]
jle 0x140099023
mov dword [rdi + 0x5c], eax
cmp r12d, 0x20
jle 0x140099023
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov dword [rax], gethostbyname
xor eax, eax
mov qword [rdx], r15
jmp 0x14001853d
mov r10, qword [rbp + 0x170]
mov rdi, qword [rdi + 0x50]
xor eax, eax
mov r14d, eax
mov esi, eax
movsxd r13, r12d
cmp dword [r10 + 0x58], eax
jle 0x140098f96
lea eax, [r12 + r12]
movsxd r15, eax
lea rdx, [rdi + 2]
mov r8, r15
mov rcx, r9
call fcn.140025c10
test eax, eax
jne 0x140098f3a
cmp word [rdi + r13*2 + 2], ax
jne 0x140098f5c
mov r10, qword [rbp + 0x170]
movzx eax, word [rdi]
mov ecx, dword [r10 + 0x64]
inc ecx
cmp eax, ecx
je 0x140098f32
test dword [rbp - 0x70], 0x80000
jne 0x140098f32
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov r15, qword [rbp - 0x78]
mov dword [rax], 0x2b
mov qword [rdx], r15
xor eax, eax
jmp 0x14001853d
mov r14d, 1
jmp 0x140098f43
js 0x140098f5c
mov r10, qword [rbp + 0x170]
movsxd rax, dword [r10 + 0x5c]
inc esi
lea rdi, [rdi + rax*2]
cmp esi, dword [r10 + 0x58]
jge 0x140098f87
mov r9, qword [rbp - 0x40]
jmp 0x140098ed8
mov rax, qword [rbp + 0x170]
mov rdx, rdi
movsxd rcx, dword [rax + 0x5c]
mov eax, dword [rax + 0x58]
sub eax, esi
imul eax, ecx
lea rcx, [rdi + rcx*2]
add eax, eax
movsxd r8, eax
call fcn.140025630
mov r10, qword [rbp + 0x170]
test r14d, r14d
jne 0x140098feb
mov rdx, qword [rbp - 0x78]
xor eax, eax
mov qword [rbp - 0x80], rdx
mov r9d, dword [r10 + 0x58]
mov r8, qword [r10 + 0x50]
mov edx, eax
test r9d, r9d
jle 0x140098feb
cmp r8, rdi
je 0x140098fda
mov ecx, dword [r10 + 0x64]
movzx eax, word [r8]
inc ecx
cmp eax, ecx
jne 0x140098fdc
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov r15, qword [rbp - 0x80]
mov dword [rax], 0x41
mov qword [rdx], r15
xor eax, eax
jmp 0x14001853d
dec edx
movsxd rax, dword [r10 + 0x5c]
inc edx
lea r8, [r8 + rax*2]
cmp edx, r9d
jl 0x140098fa5
movzx eax, word [r10 + 0x64]
mov rdx, qword [rbp - 0x40]
lea rcx, [rdi + 2]
inc ax
mov word [rdi], ax
lea eax, [r12 + r12]
movsxd r8, eax
call fcn.140025630
mov r14, qword [rbp - 0x60]
xor eax, eax
mov word [rdi + r13*2 + 2], ax
mov rax, qword [rbp - 0x78]
mov rdi, qword [rbp + 0x170]
jmp 0x140099027
mov rax, qword [rbp - 0x80]
inc dword [rdi + 0x58]
mov r9d, dword [rbp - 0x44]
mov r12d, dword [rbp - 0x48]
add rax, 2
mov qword [rbp - 0x78], rax
jmp 0x140018deb
mov ecx, dword [rbp - 0x68]
mov ebx, reloc.OLEAUT32.dll_SafeArrayCreateEx
mov r8d, 1
xor edx, edx
mov r12d, r8d
or r9d, 0xffffffff
mov rax, qword [rbp - 0x80]
mov esi, 0xff
add rax, 2
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
mov r15, rax
movzx eax, word [rax]
cmp ax, si
ja 0x1400990a2
mov rcx, qword [rdi + 0x18]
mov r10, r15
movzx eax, ax
test byte [rax + rcx], 0x10
je 0x140099097
add r10, 2
mov qword [rbp - 0x78], r10
movzx eax, word [r10]
cmp ax, si
jbe 0x14009907d
mov ecx, dword [rbp - 0x68]
mov qword [rbp - 0x80], r10
mov r10d, dword [rbp - 0x54]
mov r11, qword [rbp - 0x80]
mov r13, qword [rbp + 0x178]
sub r11, r15
sar r11, 1
test r13, r13
je 0x14009912e
test r11d, r11d
je 0x1400999e5
mov rcx, qword [rbp - 0x80]
cmp word [rcx], bx
jne 0x1400999c3
cmp r11d, 0x20
jg 0x1400999a1
mov eax, dword [rbp - 0x58]
mov rbx, qword [rdi + 0x38]
mov r9d, edx
test r10d, r10d
mov qword [rdi + 0x38], rcx
mov r8d, r11d
mov rdx, r15
setne r9b
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140083a58
mov r10d, dword [rbp - 0x54]
mov ecx, dword [rbp - 0x68]
mov edi, eax
mov rax, qword [rbp + 0x170]
xor r15d, r15d
or r9d, 0xffffffff
mov qword [rax + 0x38], rbx
lea r8d, [r15 + 1]
test edi, edi
jns 0x1400991e2
mov edi, r15d
jmp 0x1400991e2
mov rax, qword [rbp + 0x170]
mov rbx, qword [rdi + 0x50]
movsxd r14, r11d
mov esi, dword [rax + 0x58]
mov edi, edx
test esi, esi
jle 0x140099190
mov r13, rax
lea rdx, [rbx + 2]
mov r8d, r11d
mov rcx, r15
call fcn.14008462c
test eax, eax
jne 0x140099163
cmp word [rbx + r14*2 + 2], ax
je 0x140099171
movsxd rax, dword [r13 + 0x5c]
inc edi
lea rbx, [rbx + rax*2]
cmp edi, esi
jl 0x140099148
mov r10d, dword [rbp - 0x54]
mov r13, qword [rbp + 0x178]
mov rax, qword [rbp + 0x170]
mov ecx, dword [rbp - 0x68]
xor edx, edx
or r9d, 0xffffffff
lea r8d, [rdx + 1]
cmp edi, esi
jge 0x14009919c
movzx edi, word [rbx]
xor r15d, r15d
jmp 0x1400991de
mov ecx, dword [rbp - 0x58]
mov r9d, edx
test r10d, r10d
mov dword [rsp + 0x20], ecx
mov r8d, r11d
mov rdx, r15
mov rcx, rax
setne r9b
call fcn.140083a58
mov edi, eax
test eax, eax
jle 0x14009988f
mov r10d, dword [rbp - 0x54]
mov rax, qword [rbp + 0x170]
mov ecx, dword [rbp - 0x68]
xor r15d, r15d
or r9d, 0xffffffff
lea r8d, [r15 + 1]
mov r14, qword [rbp - 0x60]
test r12d, r12d
mov r12d, dword [rbp - 0x48]
je 0x14009824f
mov r11d, dword [rbp - 0x70]
jmp 0x14009934b
mov word [rcx + 0xa], r8w
mov r15, qword [rbp - 0x78]
jmp 0x1400186ad
mov r8, qword [rbp - 0x80]
add r8, 2
mov qword [rbp - 0x80], r8
mov qword [rbp - 0x78], r8
jmp 0x14009921c
mov r8, qword [rbp - 0x80]
mov r13, qword [rbp + 0x138]
mov ebx, reloc.OLEAUT32.dll_SafeArrayCreateEx
xor r15d, r15d
mov ecx, dword [rbp - 0x68]
movzx r8d, word [r8]
cmp r8d, 0x2b
jne 0x140099272
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 0x14009929d
mov rdx, qword [rbp + 0x130]
mov r15, qword [rbp - 0x80]
mov dword [r13], 0x3f
mov qword [rdx], r15
xor eax, eax
jmp 0x14001853d
cmp r8d, 0x2d
jne 0x14009929d
mov rcx, qword [rbp - 0x80]
movzx eax, word [rcx + 2]
add rcx, 2
sub ax, 0x30
cmp ax, 9
ja 0x14001877e
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x78], rcx
mov ecx, dword [rbp - 0x68]
mov rdx, qword [rbp - 0x80]
mov edi, r15d
mov r15, qword [rbp - 0x80]
movzx edx, word [rdx]
cmp dx, 0x30
jb 0x1400992d8
cmp dx, 0x39
ja 0x1400992d5
add r15, 2
lea edi, [rdi + rdi*4]
movzx eax, dx
mov qword [rbp - 0x78], r15
movzx edx, word [r15]
lea edi, [rdi - 0x18]
lea edi, [rax + rdi*2]
cmp dx, 0x30
jae 0x1400992b1
mov ecx, dword [rbp - 0x68]
cmp word [r15], bx
jne 0x140099a44
cmp r8d, 0x2d
jne 0x14009931c
test edi, edi
je 0x140099a08
mov rax, qword [rbp + 0x170]
mov eax, dword [rax + 0x64]
sub eax, edi
lea edi, [rax + 1]
test edi, edi
jg 0x140099336
mov rdx, qword [rbp + 0x130]
mov dword [r13], reloc.WSOCK32.dll_ntohs
xor eax, eax
mov qword [rdx], r15
jmp 0x14001853d
cmp r8d, 0x2b
jne 0x140099336
test edi, edi
je 0x140099a08
mov rax, qword [rbp + 0x170]
add edi, dword [rax + 0x64]
jmp 0x14009933d
mov rax, qword [rbp + 0x170]
mov r13, qword [rbp + 0x178]
xor r15d, r15d
or r9d, 0xffffffff
mov rbx, qword [rax + 0x28]
mov rsi, r14
mov qword [rbp - 0x40], r14
test r13, r13
jne 0x140099479
mov word [r14], r15w
mov r15d, dword [rbp - 0x58]
test edi, edi
je 0x140099393
mov rcx, qword [rax + 0x28]
mov r8d, edi
mov edx, r15d
call fcn.140082c98
mov r10d, dword [rbp - 0x54]
mov r11d, dword [rbp - 0x70]
mov ecx, dword [rbp - 0x68]
mov rbx, rax
mov rax, qword [rbp + 0x170]
or r9d, 0xffffffff
test rbx, rbx
jne 0x140099434
xor ecx, ecx
test r10d, r10d
mov r8d, edi
mov r9d, ecx
setne r9b
xor edx, edx
mov rcx, rax
mov dword [rsp + 0x20], r15d
call fcn.140083a58
test eax, eax
js 0x14009988f
mov r10, qword [rbp + 0x170]
movsxd rcx, edi
mov rax, qword [r10 + 0x28]
lea rbx, [rax + rcx*2]
movsxd rcx, dword [r10 + 0x60]
mov rax, qword [r10 + 0x20]
add rcx, 0xffffffffffffff9c
lea rcx, [rax + rcx*2]
cmp qword [r10 + 0x48], rcx
jb 0x14009940a
mov rcx, r10
call fcn.1400836b0
mov rcx, qword [rbp + 0x138]
mov dword [rcx], eax
test eax, eax
jne 0x140019405
mov r10, qword [rbp + 0x170]
mov rax, qword [r10 + 0x48]
mov r11d, dword [rbp - 0x70]
mov ecx, r14d
sub ecx, dword [r10 + 0x28]
xor r15d, r15d
add rcx, 2
sar rcx, 1
mov word [rax], cx
add qword [r10 + 0x48], 2
mov ecx, dword [rbp - 0x68]
or r9d, 0xffffffff
jmp 0x140099480
cmp word [rbx + 2], 0
jne 0x140099476
cmp dword [rbp + 0x168], 0
jg 0x140099476
mov r8, qword [rbp + 0x160]
mov r9d, r15d
mov rdx, r14
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140083260
test eax, eax
jne 0x140099a22
mov r11d, dword [rbp - 0x70]
mov ecx, dword [rbp - 0x68]
xor r15d, r15d
or r9d, 0xffffffff
jmp 0x140099479
xor r15d, r15d
mov r10, qword [rbp + 0x170]
mov eax, reloc.WSOCK32.dll_WSAGetLastError
add r14, 4
mov dword [rbp + 0x1c], r15d
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 ecx, 0xfffffffe
jne 0x140018869
mov r15, qword [rbp - 0x78]
mov dword [rbp - 0x68], r9d
jmp 0x1400186ad
sub eax, 0x2d
cmp eax, 0x4b
ja case.0x1400994dc.52
cdqe
movzx eax, byte [r13 + rax + 0x99ce2]
mov ecx, dword [r13 + rax*4 + 0x99cc2]
add rcx, r13
jmp rcx
lea rdx, [rbp - 0x44]
jmp 0x1400187c3
or dword [rdx], 0x80000
or dword [rdi + 0x80], 0x400
jmp 0x1400187c3
or dword [rdx], 2
jmp 0x1400187c3
or dword [rdx], 4
jmp 0x1400187c3
or dword [rdx], 8
jmp 0x1400187c3
or dword [rdx], 0x200
jmp 0x1400187c3
or dword [rdx], 0x40
jmp 0x1400187c3
mov rax, qword [rbp + 0x178]
test rax, rax
je 0x14009953c
cmp dword [rax], 4
jne 0x140018805
mov dword [r10 + 0x7c], ebx
jmp 0x14001882b
mov rcx, qword [rbp - 0x80]
mov r11d, dword [rbp - 0x38]
mov eax, 0x7d
add rcx, 2
mov dword [rbp - 0x50], eax
lea edx, [rax - 0x7c]
mov qword [rbp - 0x78], rcx
jmp 0x140018e02
mov eax, 0x7d
mov r11d, r9d
lea edx, [rax - 0x7c]
mov dword [rbp - 0x50], eax
jmp 0x140018e02
mov r11d, r9d
mov edx, 1
jmp 0x140018dff
mov r9, qword [rbp + 0x178]
xor r10d, r10d
mov r8d, 0x8b
cmp dword [r15 + 0x64], edi
ja 0x140018f03
mov eax, 0x7c
mov word [r14], ax
jmp 0x140018f03
test r9, r9
jne 0x140018efd
mov rcx, r14
mov edx, r10d
movzx eax, word [rcx + 2]
inc edx
cmp word [rcx + rax*2], 0x72
lea rcx, [rcx + rax*2]
jne 0x1400995bc
mov r8d, 0x8b
cmp word [r14 + 4], r8w
jne 0x1400995eb
cmp edx, 1
jg 0x140099a7f
mov edx, r8d
jmp 0x140018f03
cmp edx, 2
jg 0x140099a9c
cmp edx, 1
mov edx, dword [rbp - 0x50]
jne 0x140018f03
or r11d, 0xffffffff
mov eax, r11d
mov ecx, r11d
mov dword [rbp + 0x10], eax
mov dword [rbp + 0x14], ecx
jmp 0x140018f0d
test ecx, ecx
js 0x140099632
mov edx, dword [rbp + 0x70]
mov dword [rbp - 0x68], ecx
mov dword [rbp + 0x1c], 1
mov dword [rbp - 0x1c], edx
mov dword [rbp - 0x10], r11d
jmp 0x14001902a
mov dword [rbp - 0x68], r11d
mov dword [rbp - 0x10], r11d
jmp 0x14001902a
cmp edx, 0x77
jne 0x140018ab0
mov r11d, dword [rbp - 0x70]
mov rsi, qword [rbp - 0x40]
mov r8d, dword [rbp - 0x6c]
test eax, eax
js 0x1400186b1
mov ecx, dword [rbp + 0x2c]
mov dword [rbp - 0x28], eax
mov dword [rbp - 0x20], ecx
jmp 0x1400186b1
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov dword [rax], reloc.WSOCK32.dll_sendto
xor eax, eax
mov qword [rdx], r15
jmp 0x14001853d
mov r15, qword [rbp - 0x80]
mov rdx, qword [rbp + 0x130]
mov ecx, reloc.WSOCK32.dll_listen
cmp word [r15 + 2], 0x3a
mov eax, reloc.OLEAUT32.dll_CreateStdDispatch
mov qword [rdx], r15
cmove eax, ecx
mov rcx, qword [rbp + 0x138]
mov dword [rcx], eax
xor eax, eax
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov r15, qword [rbp - 0x80]
mov dword [rax], RegisterActiveObject
mov qword [rdx], r15
xor eax, eax
jmp 0x14001853d
mov rcx, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov r15, qword [rbp - 0x80]
mov eax, reloc.OLEAUT32.dll_CreateStdDispatch
mov qword [rdx], r15
mov dword [rcx], eax
xor eax, eax
jmp 0x14001853d
mov dword [rdi], 7
jmp 0x140019405
mov rdx, qword [rbp + 0x130]
mov r15, qword [rbp - 0x78]
mov eax, 0x47
mov dword [rdi], eax
xor eax, eax
mov qword [rdx], r15
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov dword [rax], 8
xor eax, eax
mov qword [rdx], r15
jmp 0x14001853d
mov r15, qword [rbp - 0x80]
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov dword [rax], 6
xor eax, eax
mov qword [rdx], r15
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov r15, qword [rbp - 0x80]
mov dword [rax], reloc.WSOCK32.dll_sendto
mov qword [rdx], r15
xor eax, eax
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov dword [rax], 9
xor eax, eax
mov qword [rdx], r15
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov r15, qword [rbp - 0x80]
mov dword [rax], VarR8FromUI1
mov qword [rdx], r15
xor eax, eax
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov r15, qword [rbp - 0x80]
mov dword [rax], 0x3b
mov qword [rdx], r15
xor eax, eax
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov r15, qword [rbp - 0x80]
mov dword [rax], 0x42
mov qword [rdx], r15
xor eax, eax
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov dword [rax], 0x3c
xor eax, eax
mov qword [rdx], r15
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov r15, qword [rbp - 0x80]
mov dword [rax], 0x3c
mov qword [rdx], r15
xor eax, eax
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov r15, qword [rbp - 0x80]
mov dword [rax], reloc.WSOCK32.dll_ntohs
mov qword [rdx], r15
xor eax, eax
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov r15, qword [rbp - 0x80]
mov dword [rax], 0x3a
mov qword [rdx], r15
xor eax, eax
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov r15, qword [rbp - 0x78]
mov dword [rax], reloc.WSOCK32.dll_ntohs
mov qword [rdx], r15
xor eax, eax
jmp 0x14001853d
mov rdx, qword [rbp + 0x130]
mov r15, qword [rbp - 0x78]
mov eax, SafeArrayRedim
test edi, edi
mov ecx, reloc.WSOCK32.dll_ntohs
mov qword [rdx], r15
cmove ecx, eax
mov rax, qword [rbp + 0x138]
mov dword [rax], ecx
xor eax, eax
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov r15, qword [rbp - 0x80]
mov rdx, qword [rbp + 0x130]
sub r15, r11
mov dword [rax], CreateStdDispatch
xor eax, eax
mov qword [rdx], r15
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov r15, qword [rbp - 0x80]
mov rdx, qword [rbp + 0x130]
add r15, r11
mov dword [rax], RegisterActiveObject
xor eax, eax
mov qword [rdx], r15
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov dword [rax], reloc.OLEAUT32.dll_SafeArrayDestroyData
xor eax, eax
mov qword [rdx], r15
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov ecx, reloc.OLEAUT32.dll_SafeArrayRedim
mov dword [rax], ecx
xor eax, eax
mov qword [rdx], r15
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov dword [rax], gethostbyname
xor eax, eax
mov qword [rdx], r15
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov dword [rax], 0x2a
xor eax, eax
mov qword [rdx], r15
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov r15, qword [rbp - 0x80]
mov dword [rax], gethostbyname
mov qword [rdx], r15
xor eax, eax
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov r15, qword [rbp - 0x80]
mov dword [rax], 0x2a
mov qword [rdx], r15
xor eax, eax
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov r15, qword [rbp - 0x80]
mov ecx, 0x3e
mov qword [rdx], r15
mov dword [rax], ecx
xor eax, eax
jmp 0x14001853d
mov rdx, qword [rbp + 0x130]
mov eax, 0x3a
mov dword [r13], eax
mov qword [rdx], r15
xor eax, eax
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov r15, qword [rbp - 0x78]
mov dword [rax], SafeArrayCreateEx
mov qword [rdx], r15
xor eax, eax
jmp 0x14001853d
mov rdx, qword [rbp + 0x130]
mov dword [r13], RegisterActiveObject
xor eax, eax
mov qword [rdx], r15
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
sub r15, 2
mov dword [rax], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
xor eax, eax
mov qword [rdx], r15
jmp 0x14001853d
mov rdx, qword [rbp + 0x130]
mov r15, qword [rbp - 0x78]
mov dword [r13], gethostname
mov qword [rdx], r15
xor eax, eax
jmp 0x14001853d
mov rdx, qword [rbp + 0x130]
mov r15, qword [rbp - 0x78]
mov dword [r13], RegisterActiveObject
mov qword [rdx], r15
xor eax, eax
jmp 0x14001853d
mov rdx, qword [rbp + 0x130]
mov dword [r13], reloc.WSOCK32.dll_sendto
xor eax, eax
mov qword [rdx], r15
jmp 0x14001853d
mov rdx, qword [rbp + 0x130]
mov dword [r13], setsockopt
xor eax, eax
mov qword [rdx], r15
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov r15, qword [rbp - 0x80]
mov dword [rax], reloc.WSOCK32.dll_sendto
xor eax, eax
mov qword [rdx], r15
jmp 0x14001853d
mov rax, qword [rbp + 0x138]
mov dword [rax], reloc.WSOCK32.dll_gethostbyname
mov rdx, qword [rbp + 0x130]
xor eax, eax
mov qword [rdx], r15
jmp 0x14001853d