Function at 0x140091a70
Capabilities:
Authenticate hmac
Encode data using base64
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 - 0xa8]
sub rsp, 0x1a8
mov esi, dword [rcx]
mov r12d, 0xfffffffe
mov r10, qword [rdx]
xor ecx, ecx
mov rdi, qword [r8]
mov eax, esi
shr eax, 9
mov r14, r9
and eax, 1
mov dword [rbp - 0x40], ecx
mov dword [rbp + 0x3c], eax
mov edx, ecx
xor eax, 1
mov dword [rbp - 0x64], ecx
mov dword [rbp + 0x38], eax
mov r9d, ecx
mov eax, esi
mov dword [rbp - 0x78], esi
and eax, 1
mov dword [rbp + 0x1c], ecx
shl eax, 0x1c
mov r13d, ecx
mov dword [rbp - 0x1c], eax
mov r15d, r12d
mov dword [rbp - 0x20], ecx
mov qword [rsp + 0x78], r10
mov qword [rbp + 0x60], r10
mov qword [rbp + 0x58], r10
mov dword [rbp - 0x80], ecx
mov dword [rbp + 0xc], ecx
mov qword [rbp - 0x70], rcx
mov qword [rbp - 0x58], rcx
mov qword [rbp + 0x20], rcx
mov qword [rbp - 0x28], rcx
mov dword [rbp - 0x7c], r12d
mov dword [rbp - 0x68], r12d
mov dword [rbp - 0x50], r12d
mov dword [rbp - 0x60], r12d
mov qword [rsp + 0x70], rdi
movzx ebx, word [rdi]
test ebx, ebx
jne 0x140091b3c
test r9, r9
je 0x140091b3c
mov qword [rsp + 0x70], r9
mov rdi, r9
movzx ebx, word [r9]
mov qword [rbp - 0x70], rcx
mov r11, qword [rbp + 0x130]
mov r8, qword [rbp + 0x138]
movsxd rcx, dword [r11 + 0x60]
mov rax, qword [r11 + 0x20]
add rcx, 0xffffffffffffff9c
lea rcx, [rax + rcx*2]
test r8, r8
je 0x140091c13
cmp r10, rcx
ja 0x140096143
mov rax, qword [rbp + 0x60]
mov edx, dword [r8]
cmp r10, rax
cmovb r10, rax
mov rcx, r10
mov qword [rsp + 0x78], r10
sub rcx, rax
mov eax, 0x7fffffeb
sub eax, edx
sar rcx, 1
cdqe
cmp rax, rcx
jl 0x140095e8d
lea eax, [rdx + rcx]
mov dword [r8], eax
test r13, r13
je 0x140091c01
mov rax, qword [rbp + 0x58]
cmp r13, rax
jbe 0x140091c0a
mov r8, r10
mov rdx, r13
sub r8, r13
mov rcx, rax
and r8, 0xfffffffffffffffe
call fcn.1400a56f0
mov rax, qword [rbp + 0x58]
mov r10, qword [rsp + 0x78]
sub r13, rax
mov rdi, qword [rsp + 0x70]
mov r11, qword [rbp + 0x130]
mov r8, qword [rbp + 0x138]
mov edx, dword [rbp - 0x80]
sar r13, 1
neg r13
mov qword [rbp - 0x58], rax
lea r10, [r10 + r13*2]
mov r13, rax
mov qword [rsp + 0x78], r10
mov qword [rbp + 0x60], r10
jmp 0x140091c1d
mov r10, qword [rbp + 0x58]
mov qword [rsp + 0x78], r10
mov edx, dword [rbp - 0x80]
mov qword [rbp + 0x60], r10
jmp 0x140091c1d
cmp qword [r11 + 0x48], rcx
ja 0x140096143
test edx, edx
je 0x140091d65
test ebx, ebx
je 0x140091d65
cmp ebx, 0x5c
jne 0x140091c51
cmp word [rdi + 2], 0x45
jne 0x140091c51
mov r9, qword [rbp - 0x70]
xor ecx, ecx
add rdi, 2
mov dword [rbp - 0x80], ecx
mov edx, ecx
add rdi, 2
jmp 0x140091b1b
mov rdx, qword [rbp + 0x20]
test rdx, rdx
je 0x140091c7b
test r8, r8
jne 0x140091c75
mov eax, edi
sub eax, dword [r11 + 0x30]
sar rax, 1
sub ax, word [rdx + 0xc]
mov word [rdx + 0xe], ax
mov rdi, qword [rsp + 0x70]
xor edx, edx
mov qword [rbp + 0x20], rdx
bt esi, 0xe
jae case.0x140091ef5.12
mov dword [r10], 0xff0070
mov eax, edi
mov qword [r10 + 4], rdx
sub eax, dword [r11 + 0x30]
sar rax, 1
mov word [r10 + 0xc], ax
mov word [r10 + 0xe], dx
mov rdi, qword [rsp + 0x70]
mov qword [rbp + 0x20], r10
add r10, 0x10
mov word [rbp + 0x28], bx
movzx r14d, bx
mov ecx, 0xfc00
mov edx, 0xd800
and ebx, ecx
mov esi, 1
cmp ebx, edx
jne 0x140091cef
movzx eax, word [rdi + 2]
add rdi, 2
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x140091cef
mov qword [rsp + 0x70], rdi
movzx eax, word [rdi]
mov word [rbp + 0x2a], ax
mov esi, 2
mov edi, dword [rbp - 0x50]
test byte [rbp - 0x78], 1
mov ecx, 0
mov eax, ecx
mov qword [rbp - 0x58], r10
setne al
mov r13, r10
add ax, 0x1d
mov word [r10], ax
add r10, 2
mov qword [rsp + 0x78], r10
test esi, esi
jle 0x140091d40
mov r8d, esi
lea rdx, [rbp + 0x28]
add r8, r8
mov ebx, esi
mov rcx, r10
call fcn.1400a56f0
mov r10, qword [rsp + 0x78]
xor ecx, ecx
lea r10, [r10 + rbx*2]
mov qword [rsp + 0x78], r10
cmp r14w, 0xd
je 0x140091d52
cmp r14w, 0xa
jne 0x140095d7f
mov rax, qword [rbp + 0x130]
or dword [rax + 0x7c], 0x800
jmp 0x140095d86
lea eax, [rbx - 0x2a]
cmp eax, 1
jbe 0x140091dc9
cmp ebx, 0x3f
je 0x140091dc9
cmp ebx, 0x7b
jne 0x140091d84
lea rcx, [rdi + 2]
call fcn.14008edb0
test eax, eax
jne 0x140091dc9
mov rcx, qword [rbp + 0x20]
xor r9d, r9d
mov esi, r9d
test rcx, rcx
je 0x140091dce
mov r9d, dword [rbp + 0x1c]
mov eax, r9d
dec r9d
mov dword [rbp + 0x1c], r9d
test eax, eax
jg 0x140091dce
test r8, r8
jne 0x140091dc0
mov eax, edi
sub eax, dword [r11 + 0x30]
sar rax, 1
sub ax, word [rcx + 0xc]
mov word [rcx + 0xe], ax
mov rdi, qword [rsp + 0x70]
xor r8d, r8d
mov qword [rbp + 0x20], r8
jmp 0x140091dd1
mov esi, 1
xor r8d, r8d
mov r9d, dword [rbp - 0x78]
test r9b, 8
je 0x140091e93
mov eax, 0xff
cmp word [rdi], ax
ja 0x140091dfa
mov rax, qword [r11 + 0x18]
movsxd rcx, ebx
test byte [rcx + rax], 1
jne 0x140095e7b
cmp ebx, 0x23
jne 0x140091e93
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx r8d, word [rdi]
test r8w, r8w
je 0x140091e84
mov ecx, 0xdc00
nop dword [rax + rax]
mov edx, dword [r11 + 0x8c]
test edx, edx
je 0x140091ef7
mov r8, qword [r11 + 0x38]
cmp rdi, r8
jae 0x140091f35
mov eax, 1
lea r9, [r11 + 0x90]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.1400a2d20
mov r11, qword [rbp + 0x130]
test eax, eax
je 0x140091f30
mov eax, dword [r11 + 0x90]
dec eax
cdqe
lea rdi, [rdi + rax*2]
mov qword [rsp + 0x70], rdi
cmp word [rdi], 0
jne 0x140095e73
mov edx, dword [rbp - 0x80]
mov r10, qword [rsp + 0x78]
xor r8d, r8d
mov r9d, dword [rbp - 0x78]
mov ebx, r8d
bt r9d, 0xe
jae 0x140091ece
test esi, esi
jne 0x140091ece
mov dword [r10], 0xff0070
mov eax, edi
mov qword [r10 + 4], r8
sub eax, dword [r11 + 0x30]
sar rax, 1
mov word [r10 + 0xc], ax
mov word [r10 + 0xe], r8w
mov rdi, qword [rsp + 0x70]
mov qword [rbp + 0x20], r10
add r10, 0x10
mov qword [rsp + 0x78], r10
cmp ebx, 0x7c
ja case.0x140091ef5.12
lea r8, [0x140000000]
movsxd rax, ebx
movzx eax, byte [r8 + rax + 0x961a0]
mov ecx, dword [r8 + rax*4 + 0x9616c]
add rcx, r8
jmp rcx
movsxd rdx, dword [r11 + 0x90]
imul rcx, rdx, 0xfffffffffffffffe
add rcx, qword [r11 + 0x38]
cmp rdi, rcx
ja 0x140091f30
cmp r8w, word [r11 + 0x94]
jne 0x140091f30
cmp edx, 1
je 0x140091e63
movzx eax, word [r11 + 0x96]
cmp word [rdi + 2], ax
je 0x140091e63
mov ecx, 0xdc00
add rdi, 2
mov edx, 0xfc00
mov qword [rsp + 0x70], rdi
movzx eax, word [rdi]
and ax, dx
cmp ax, cx
jne 0x140091f57
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx r8d, word [rdi]
test r8w, r8w
jne 0x140091e20
jmp 0x140091e81
mov esi, dword [rbp - 0x78]
xor ecx, ecx
mov r9, qword [rbp - 0x70]
mov r13d, ecx
mov qword [rbp - 0x58], rcx
test sil, 2
je 0x140091f98
mov eax, dword [rbp - 0x60]
mov r8d, 0xffffffff
cmp eax, 0xfffffffe
cmove eax, r8d
mov dword [rbp - 0x60], eax
lea eax, [rcx + 0x1a]
jmp 0x140091f9d
mov eax, DispGetParam
mov word [r10], ax
add r10, 2
mov rdi, qword [rsp + 0x70]
mov qword [rsp + 0x78], r10
add rdi, 2
jmp 0x140091b1b
mov esi, dword [rbp - 0x78]
xor ecx, ecx
mov r9, qword [rbp - 0x70]
test sil, 2
mov eax, ecx
mov qword [rbp - 0x58], rcx
setne al
mov r13d, ecx
add ax, 0x1b
mov word [r10], ax
add r10, 2
mov rdi, qword [rsp + 0x70]
mov qword [rsp + 0x78], r10
add rdi, 2
jmp 0x140091b1b
mov r11d, dword [rbp - 0x60]
mov eax, 0xffffffff
mov esi, dword [rbp - 0x78]
cmp r11d, 0xfffffffe
mov r12d, dword [rbp - 0x50]
mov r13, r10
mov r9, qword [rbp - 0x70]
cmove r11d, eax
mov eax, esi
mov qword [rbp - 0x58], r10
shr eax, 2
xor ecx, ecx
and ax, 1
mov dword [rbp - 0x60], r11d
or ax, 0xc
mov dword [rbp - 0x68], r11d
mov word [r10], ax
mov r15d, r11d
mov rdi, qword [rsp + 0x70]
add r10, 2
mov qword [rsp + 0x78], r10
add rdi, 2
mov dword [rbp - 0x7c], r12d
jmp 0x140091b1b
test dword [r11 + 0x78], 0x2000000
jne 0x140095e99
mov r14d, 0x5d
mov word [rbp + 0x28], r14w
jmp 0x140091cb4
movzx eax, word [rdi + 2]
lea r8, [rdi + 2]
mov qword [rbp - 0x58], r10
mov r13, r10
cmp ax, 0x3d
ja 0x140092120
movzx eax, ax
movabs rdx, 0x2400400000000000
bt rdx, rax
jae 0x140092120
movzx r9d, word [r8]
add r8, 2
movzx ecx, word [r8]
test cx, cx
je 0x140092120
nop dword [rax + rax]
cmp cx, 0x5c
jne 0x1400920c4
cmp word [r8 + 2], 0x5d
jne 0x1400920c4
add r8, 2
jmp 0x140092112
cmp cx, 0x5d
je 0x140092120
movzx eax, cx
cmp eax, r9d
jne 0x1400920de
cmp word [r8 + 2], 0x5d
je 0x140095ea5
cmp cx, 0x5b
jne 0x140092112
movzx eax, word [r8 + 2]
cmp ax, 0x3d
ja 0x140092112
movzx eax, ax
bt rdx, rax
jae 0x140092112
lea rdx, [rbp + 0x40]
mov rcx, r8
call fcn.140090970
test eax, eax
jne 0x140092120
movabs rdx, 0x2400400000000000
movzx ecx, word [r8 + 2]
add r8, 2
test cx, cx
jne 0x1400920b0
xor ecx, ecx
mov r10d, ecx
mov dword [rbp - 0x74], ecx
mov eax, 1
nop dword [rax]
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx esi, word [rdi]
cmp esi, 0x5c
jne 0x14009219f
cmp word [rdi + 2], 0x45
lea rcx, [rdi + 2]
jne 0x140092153
mov rdi, rcx
xor ecx, ecx
jmp 0x140092130
mov eax, 3
lea r9, [0x1400ea0f0]
nop
movzx edx, word [rcx]
lea rcx, [rcx + 2]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec eax
cmp dx, r8w
jne 0x140092183
test eax, eax
jne 0x140092160
xor ecx, ecx
add rdi, 6
jmp 0x140092128
xor ecx, ecx
cmp dx, r8w
mov eax, ecx
seta al
lea eax, [rax*2 - 1]
test eax, eax
jne 0x140092207
add rdi, 6
jmp 0x140092128
test r10d, r10d
jne 0x1400921b4
cmp esi, 0x5e
jne 0x1400921b4
mov r10d, eax
mov dword [rbp - 0x74], eax
jmp 0x140092130
cmp esi, 0x5d
jne 0x140092207
test dword [r11 + 0x78], 0x2000000
je 0x140092207
test r10d, r10d
mov eax, 0x97
mov r10, qword [rsp + 0x78]
mov ecx, SafeArrayGetElemsize
cmovne ax, cx
mov ecx, dword [rbp - 0x60]
mov word [r10], ax
add r10, 2
mov rdi, qword [rsp + 0x70]
cmp ecx, 0xfffffffe
mov eax, 0xffffffff
mov qword [rsp + 0x78], r10
cmove ecx, eax
mov dword [rbp - 0x60], ecx
mov r15d, ecx
mov dword [rbp - 0x68], ecx
jmp 0x140095e78
mov r13, qword [rsp + 0x78]
xor eax, eax
add r13, 6
mov dword [rbp - 0x38], ecx
mov dword [rbp - 0x68], ecx
mov r14d, ecx
mov qword [rbp - 0x18], rax
mov r15d, ecx
mov qword [rbp - 0x10], rax
mov r8d, ecx
mov qword [rbp - 8], rax
mov r12, r13
mov qword [rbp], rax
mov dword [rbp - 0x7c], ecx
mov qword [rbp - 0x48], r13
test esi, esi
je 0x140095f0e
mov r9, qword [rbp - 0x70]
nop word [rax + rax]
mov eax, esi
mov ebx, 0xfc00
and eax, ebx
mov edx, 0xd800
cmp eax, edx
jne 0x140092292
movzx esi, word [rdi]
mov eax, esi
and eax, ebx
cmp eax, edx
jne 0x140092292
movzx ecx, word [rdi + 2]
add rdi, 2
mov eax, 0x3ff
mov qword [rsp + 0x70], rdi
and ecx, eax
and eax, esi
shl eax, 0xa
mov esi, ecx
or esi, eax
add esi, 0x10000
xor ecx, ecx
mov rbx, qword [rbp + 0x138]
test rbx, rbx
je 0x1400922aa
sub r13, r12
sar r13, 1
add dword [rbx], r13d
mov r13, r12
mov edx, dword [rbp - 0x80]
test edx, edx
je 0x1400922d6
cmp esi, 0x5c
jne 0x140092390
cmp word [rdi + 2], 0x45
lea rax, [rdi + 2]
jne 0x140092390
mov edx, ecx
mov dword [rbp - 0x80], ecx
mov rdi, rax
jmp 0x1400926d5
cmp esi, 0x5b
jne 0x1400927d2
movzx r9d, word [rdi + 2]
lea r14, [rdi + 2]
cmp r9w, 0x3d
ja 0x14009238c
movzx eax, r9w
movabs r10, 0x2400400000000000
bt r10, rax
jae 0x14009238c
movzx ecx, word [r14 + 2]
add r14, 2
movzx r8d, r9w
test cx, cx
je 0x14009238c
nop dword [rax]
cmp cx, 0x5c
jne 0x140092337
cmp word [r14 + 2], 0x5d
lea rax, [r14 + 2]
jne 0x140092337
mov r14, rax
jmp 0x14009237b
cmp cx, 0x5d
je 0x140092389
movzx eax, cx
cmp eax, r8d
jne 0x140092351
cmp word [r14 + 2], 0x5d
je 0x140092504
cmp cx, 0x5b
jne 0x14009237b
movzx eax, word [r14 + 2]
cmp ax, 0x3d
ja 0x14009237b
movzx eax, ax
bt r10, rax
jae 0x14009237b
lea rdx, [rbp + 0x40]
mov rcx, r14
call fcn.140090970
test eax, eax
jne 0x140092389
movzx ecx, word [r14 + 2]
add r14, 2
test cx, cx
jne 0x140092320
mov edx, dword [rbp - 0x80]
mov r14d, dword [rbp - 0x68]
mov r10, qword [rbp + 0x108]
mov r8d, dword [rbp - 0x78]
cmp word [rdi + 2], 0x5c
jne 0x1400923c5
xor r9d, r9d
cmp word [rdi + 4], 0x45
lea rax, [rdi + 4]
jne 0x1400923c2
mov qword [rsp + 0x70], rax
mov edx, r9d
cmp word [rax + 2], 0x5c
mov rdi, rax
je 0x1400923a5
mov dword [rbp - 0x80], edx
mov rbx, rdi
cmp esi, 0xd
je 0x1400923d2
cmp esi, 0xa
jne 0x1400923da
or dword [r11 + 0x7c], 0x800
test edx, edx
jne 0x140093103
cmp word [rdi + 2], 0x2d
jne 0x140093103
add rdi, 4
mov qword [rsp + 0x70], rdi
cmp word [rdi], 0x5c
jne 0x14009241a
nop dword [rax]
cmp word [rdi + 2], 0x45
jne 0x140092d03
add rdi, 4
mov qword [rsp + 0x70], rdi
cmp word [rdi], 0x5c
je 0x140092400
mov r9d, 1
movzx eax, word [rdi]
test ax, ax
je 0x1400930fb
test edx, edx
jne 0x14009243a
cmp ax, 0x5d
je 0x1400930fb
movzx r11d, ax
mov ecx, 0xfc00
mov eax, r11d
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
jne 0x140092478
movzx ecx, word [rdi + 2]
add rdi, 2
mov eax, 0x3ff
mov qword [rsp + 0x70], rdi
and ecx, eax
and eax, r11d
shl eax, 0xa
mov r11d, ecx
or r11d, eax
add r11d, 0x10000
test edx, edx
jne 0x1400924d1
cmp r11d, 0x5c
jne 0x1400924d1
mov rax, qword [rbp + 0x130]
lea rcx, [rsp + 0x70]
mov dword [rsp + 0x20], r9d
mov rdx, r10
mov r9d, r8d
mov r8d, dword [rax + 0x64]
call fcn.14008ee50
mov r10, qword [rbp + 0x108]
mov r11d, eax
cmp dword [r10], 0
jne 0x140095ef8
test eax, eax
jns 0x1400924c9
cmp eax, 0xfffffffb
jne 0x1400930fb
mov r11d, 8
mov edx, dword [rbp - 0x80]
mov rdi, qword [rsp + 0x70]
cmp r11d, esi
jl 0x140095f02
je 0x140093103
cmp r11d, 0xd
je 0x1400924f0
cmp r11d, 0xa
jne 0x140092d56
mov r10, qword [rbp + 0x130]
or dword [r10 + 0x7c], 0x800
jmp 0x140092d5d
mov rbx, qword [r11 + 0x10]
xor eax, eax
mov qword [rbp + 0x40], r14
mov esi, eax
cmp r9w, 0x3a
jne 0x140095ed1
add rdi, 4
mov qword [rsp + 0x70], rdi
cmp word [rdi], 0x5e
jne 0x14009253d
mov eax, 1
add rdi, 2
mov esi, eax
mov dword [rbp - 0x38], eax
mov qword [rsp + 0x70], rdi
mov rdx, r14
mov rcx, rdi
sub rdx, rdi
sar rdx, 1
call fcn.140090a20
mov edx, eax
test eax, eax
js 0x140095ebf
mov r9d, dword [rbp - 0x78]
test r9b, 1
je 0x140092571
cmp eax, 2
mov r10d, 0
cmovle edx, r10d
jmp 0x140092574
xor r10d, r10d
lea r8, [0x140000000]
bt r9d, 0x1d
jae 0x1400925bc
mov eax, esi
neg eax
sbb ecx, ecx
and ecx, 0xe
lea eax, [rdx + rcx]
cdqe
mov rdi, qword [r8 + rax*8 + 0xce310]
test rdi, rdi
je 0x1400925bc
mov edx, dword [rbp - 0x80]
lea r9, [r14 + 2]
mov r14d, dword [rbp - 0x68]
add rdi, 0xfffffffffffffffe
mov rbx, qword [rbp + 0x138]
mov qword [rbp - 0x70], r9
jmp 0x1400926c4
lea eax, [rdx + rdx*2]
movsxd rcx, eax
movsxd rax, dword [r8 + rcx*4 + 0xcf130]
mov r9d, dword [r8 + rcx*4 + 0xcf138]
movups xmm0, xmmword [rax + rbx]
movups xmm1, xmmword [rax + rbx + 0x10]
movsxd rax, dword [r8 + rcx*4 + 0xcf134]
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm1
test eax, eax
js 0x140092644
lea rdx, [rbp + 0x70]
sub rax, rdx
lea rcx, [rbp + 0x70]
mov edx, SafeArrayAllocDescriptor
lea r8, [rax + rbx]
test r9d, r9d
js 0x140092630
nop dword [rax + rax]
movzx eax, byte [r8 + rcx]
or byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140092610
jmp 0x140092644
movzx eax, byte [rcx + r8]
lea rcx, [rcx + 1]
not al
and byte [rcx - 1], al
sub rdx, 1
jne 0x140092630
test r9d, r9d
jns 0x14009264c
neg r9d
cmp r9d, 1
jne 0x140092658
and byte [rbp + 0x71], 0xc3
jmp 0x140092662
cmp r9d, 2
jne 0x140092662
and byte [rbp + 0x7b], 0x7f
mov rcx, r10
mov edx, SafeArrayAllocDescriptor
test esi, esi
je 0x140092690
nop
movzx eax, byte [rbp + rcx + 0x70]
lea rcx, [rcx + 1]
not al
or byte [rbp + rcx - 0x19], al
sub rdx, 1
jne 0x140092670
jmp 0x1400926a3
movzx eax, byte [rbp + rcx + 0x70]
or byte [rbp + rcx - 0x18], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140092690
mov eax, 1
lea rdi, [r14 + 2]
mov r14d, eax
mov dword [rbp - 0x68], eax
lea r15d, [rax + 1]
mov edx, dword [rbp - 0x80]
mov rbx, qword [rbp + 0x138]
mov r9, qword [rbp - 0x70]
mov r11, qword [rbp + 0x130]
mov r8d, dword [rbp - 0x7c]
mov r10d, dword [rbp - 0x74]
xor ecx, ecx
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx esi, word [rdi]
test esi, esi
jne 0x14009270c
test r9, r9
je 0x140095f0e
mov rdi, r9
mov qword [rbp - 0x70], rcx
add rdi, 2
mov r9, rcx
mov qword [rsp + 0x70], rdi
movzx esi, word [rdi]
test esi, esi
je 0x140095f0e
cmp esi, 0x5d
jne 0x140092250
test edx, edx
jne 0x140092250
mov ecx, dword [rbp - 0x60]
mov eax, 0xffffffff
mov r12d, dword [rbp - 0x50]
cmp ecx, 0xfffffffe
mov r9d, dword [rbp - 0x38]
mov esi, dword [rbp - 0x78]
cmove ecx, eax
mov dword [rbp - 0x60], ecx
mov r15d, ecx
mov dword [rbp - 0x68], ecx
mov dword [rbp - 0x7c], r12d
test r8d, r8d
je 0x140093457
test r9d, r9d
je 0x14009275b
bt esi, 0x1d
jae 0x140093457
mov rdx, qword [rsp + 0x78]
xor ecx, ecx
mov word [r13], cx
mov eax, 0x6c
add r13, 2
test r10d, r10d
mov word [rdx], ax
mov eax, ecx
setne al
mov word [rdx + 4], ax
test r14d, r14d
jle 0x140093421
or ax, 2
mov r8, r13
mov word [rdx + 4], ax
add rdx, 6
sub r8, rdx
mov qword [rsp + 0x78], rdx
and r8, 0xfffffffffffffffe
lea rcx, [rdx + 0x20]
call fcn.1400a56f0
mov r10, qword [rsp + 0x78]
xor ecx, ecx
movups xmm0, xmmword [rbp - 0x18]
movups xmm1, xmmword [rbp - 8]
movups xmmword [r10], xmm0
movups xmmword [r10 + 0x10], xmm1
lea r10, [r13 + 0x20]
mov qword [rsp + 0x78], r10
jmp 0x140093429
cmp esi, 0x5c
jne 0x140092390
mov r9d, dword [rbp - 0x78]
lea rcx, [rsp + 0x70]
mov r8d, dword [r11 + 0x64]
mov edi, 1
mov rdx, qword [rbp + 0x108]
mov dword [rsp + 0x20], edi
call fcn.14008ee50
mov r10, qword [rbp + 0x108]
movsxd rsi, eax
cmp dword [r10], 0
jne 0x140095ef8
mov ebx, esi
neg ebx
cmp ebx, 5
jne 0x140092831
mov r11, qword [rbp + 0x130]
lea esi, [rdi + 7]
mov rdi, qword [rsp + 0x70]
mov edx, dword [rbp - 0x80]
jmp 0x140092397
cmp ebx, 0xc
je 0x140095ef0
cmp ebx, 0x1a
jne 0x14009286a
mov rdi, qword [rsp + 0x70]
cmp word [rdi + 2], 0x5c
jne 0x14009285b
cmp word [rdi + 4], 0x45
jne 0x14009285b
add rdi, 4
jmp 0x1400926b6
mov eax, 1
mov edx, eax
mov dword [rbp - 0x80], eax
jmp 0x1400926b9
cmp ebx, 0x19
je 0x140093321
mov r11, qword [rbp + 0x130]
test eax, eax
jns 0x140092cf6
mov rdx, qword [r11 + 0x10]
inc r14d
mov eax, 0xfffffffa
mov dword [rbp - 0x68], r14d
sub eax, esi
add r15d, 2
cmp eax, 0x1c
ja case.0x1400928b5.6
lea r8, [0x140000000]
cdqe
mov ecx, dword [r8 + rax*4 + 0x96220]
add rcx, r8
jmp rcx
mov r9, qword [rsp + 0x70]
lea rax, [rsi*8 + 0xe8]
mov edx, dword [rbp - 0x80]
lea rcx, str.PNd
mov rbx, qword [rbp + 0x138]
sub rcx, rax
mov qword [rbp - 0x70], r9
mov rdi, qword [rcx]
sub rdi, 2
dec r14d
mov dword [rbp - 0x68], r14d
jmp 0x1400926cb
lea rax, [rbp - 0x18]
mov r8d, SafeArrayAllocDescriptor
sub rdx, rax
lea rcx, [rbp - 0x18]
movzx eax, byte [rdx + rcx + 0x40]
or byte [rcx], al
lea rcx, [rcx + 1]
sub r8, rdi
jne 0x140092900
mov rdi, qword [rsp + 0x70]
mov edx, dword [rbp - 0x80]
mov rbx, qword [rbp + 0x138]
mov r9, qword [rbp - 0x70]
jmp 0x1400926cb
lea rax, [rbp - 0x18]
mov dword [rbp - 0x38], edi
sub rdx, rax
lea rcx, [rbp - 0x18]
mov r8d, SafeArrayAllocDescriptor
nop dword [rax]
movzx eax, byte [rcx + rdx + 0x40]
lea rcx, [rcx + 1]
not al
or byte [rcx - 1], al
sub r8, rdi
jne 0x140092940
mov rdi, qword [rsp + 0x70]
mov edx, dword [rbp - 0x80]
mov rbx, qword [rbp + 0x138]
mov r9, qword [rbp - 0x70]
jmp 0x1400926cb
lea rax, [rbp - 0x18]
mov r8d, SafeArrayAllocDescriptor
sub rdx, rax
lea rcx, [rbp - 0x18]
nop dword [rax]
movzx eax, byte [rdx + rcx + 0xa0]
or byte [rcx], al
lea rcx, [rcx + 1]
sub r8, rdi
jne 0x140092980
mov rdi, qword [rsp + 0x70]
mov edx, dword [rbp - 0x80]
mov rbx, qword [rbp + 0x138]
mov r9, qword [rbp - 0x70]
jmp 0x1400926cb
lea rax, [rbp - 0x18]
mov dword [rbp - 0x38], edi
sub rdx, rax
lea rcx, [rbp - 0x18]
mov r8d, SafeArrayAllocDescriptor
nop
movzx eax, byte [rcx + rdx + 0xa0]
lea rcx, [rcx + 1]
not al
or byte [rcx - 1], al
sub r8, rdi
jne 0x1400929c0
mov rdi, qword [rsp + 0x70]
mov edx, dword [rbp - 0x80]
mov rbx, qword [rbp + 0x138]
mov r9, qword [rbp - 0x70]
jmp 0x1400926cb
movzx eax, byte [rdx]
lea rcx, [rbp - 0x16]
or byte [rbp - 0x18], al
mov r8d, SafeArrayAllocDescriptor
movzx eax, byte [rdx + 1]
and al, 0xf7
or byte [rbp - 0x17], al
lea rax, [rbp - 0x16]
sub rdx, rax
nop
movzx eax, byte [rdx + rcx + 2]
or byte [rcx], al
lea rcx, [rcx + 1]
sub r8, rdi
jne 0x140092a10
mov rdi, qword [rsp + 0x70]
mov edx, dword [rbp - 0x80]
mov rbx, qword [rbp + 0x138]
mov r9, qword [rbp - 0x70]
jmp 0x1400926cb
lea rax, [rbp - 0x18]
mov dword [rbp - 0x38], edi
sub rdx, rax
lea rcx, [rbp - 0x18]
mov r8d, SafeArrayAllocDescriptor
nop dword [rax]
movzx eax, byte [rdx + rcx]
lea rcx, [rcx + 1]
not al
or byte [rcx - 1], al
sub r8, rdi
jne 0x140092a50
or byte [rbp - 0x17], 8
mov rdi, qword [rsp + 0x70]
mov edx, dword [rbp - 0x80]
mov rbx, qword [rbp + 0x138]
mov r9, qword [rbp - 0x70]
jmp 0x1400926cb
or byte [rbp - 0x14], dil
mov eax, 0x3000
or byte [rbp - 4], dil
mov r8d, edi
or byte [rbp - 0x17], 2
mov edx, dword [rbp - 0x80]
mov rbx, qword [rbp + 0x138]
mov r9, qword [rbp - 0x70]
mov dword [r13], 0x16800001
mov dword [r13 + 4], 0x180e0001
mov dword [r13 + 8], 0x20000002
mov dword [r13 + 0xc], 0x1200a
mov dword [r13 + 0x10], 0x1202f
mov dword [r13 + 0x14], 0x1205f
mov word [r13 + 0x18], ax
add r13, 0x1a
mov dword [rbp - 0x7c], edi
mov rdi, qword [rsp + 0x70]
jmp 0x1400926cf
xor eax, eax
mov edi, 0xff
mov r8d, eax
mov ecx, r8d
mov edx, edi
sub ecx, 1
je 0x140092b0b
sub ecx, 3
je 0x140092b04
cmp ecx, 0x10
jne 0x140092b10
mov edx, 0xfe
jmp 0x140092b10
mov edx, 0xfd
movsxd rax, r8d
inc r8d
or byte [rbp + rax - 0x18], dl
cmp r8d, 0x20
jl 0x140092af0
mov edx, dword [rbp - 0x80]
mov edi, 1
mov rbx, qword [rbp + 0x138]
mov r8d, edi
mov r9, qword [rbp - 0x70]
mov dword [r13], 0x1000002
mov dword [r13 + 4], 0x2167f
mov dword [r13 + 8], 0x180d1681
mov dword [r13 + 0xc], 0x180f0002
mov dword [r13 + 0x10], 0x21fff
mov dword [r13 + 0x14], 0x202e200b
mov dword [r13 + 0x18], 0x20300002
mov dword [r13 + 0x1c], 0x2205e
mov dword [r13 + 0x20], 0x2fff2060
mov dword [r13 + 0x24], 0x30010002
mov dword [r13 + 0x28], 0xdfffdbff
add r13, 0x2c
mov dword [rbp - 0x7c], edi
mov rdi, qword [rsp + 0x70]
jmp 0x1400926cf
or byte [rbp - 0x17], 0x3c
mov eax, 0x2029
or byte [rbp - 8], 0x20
mov r8d, edi
mov edx, dword [rbp - 0x80]
mov rbx, qword [rbp + 0x138]
mov r9, qword [rbp - 0x70]
mov dword [r13], 0x20280002
mov word [r13 + 4], ax
add r13, 6
mov dword [rbp - 0x7c], edi
mov rdi, qword [rsp + 0x70]
jmp 0x1400926cf
xor eax, eax
mov edi, 0xff
mov r8d, eax
mov ecx, r8d
mov edx, edi
sub ecx, 1
je 0x140092bfb
cmp ecx, 0xf
jne 0x140092c00
mov edx, 0xdf
jmp 0x140092c00
mov edx, 0xc3
movsxd rax, r8d
inc r8d
or byte [rbp + rax - 0x18], dl
cmp r8d, 0x20
jl 0x140092be5
mov edx, dword [rbp - 0x80]
mov edi, 1
mov rbx, qword [rbp + 0x138]
mov eax, 0xdfff
mov r9, qword [rbp - 0x70]
mov r8d, edi
mov dword [r13], 0x1000002
mov dword [r13 + 4], 0x22027
mov dword [r13 + 8], 0xdbff202a
mov word [r13 + 0xc], ax
add r13, 0xe
mov dword [rbp - 0x7c], edi
mov rdi, qword [rsp + 0x70]
jmp 0x1400926cf
mov r9, r10
lea r8, [rbp + 0x4c]
lea rdx, [rbp + 0x48]
lea rcx, [rsp + 0x70]
call fcn.14008f5c0
test eax, eax
js 0x140095ef8
xor edx, edx
mov dword [rbp - 0x7c], edi
mov ecx, edx
cmp ebx, 0x10
mov r8d, edi
sete cl
cmp ecx, dword [rbp + 0x48]
sete dl
add dx, 3
mov word [r13], dx
mov word [r13 + 2], ax
movzx eax, word [rbp + 0x4c]
mov word [r13 + 4], ax
add r13, 6
dec r14d
mov dword [rbp - 0x68], r14d
mov rdi, qword [rsp + 0x70]
mov r11, qword [rbp + 0x130]
mov edx, dword [rbp - 0x80]
mov rbx, qword [rbp + 0x138]
mov r9, qword [rbp - 0x70]
jmp 0x1400926cf
mov r8d, dword [rbp - 0x78]
mov rdi, qword [rsp + 0x70]
test r8b, 0x40
jne 0x140095ee4
movzx esi, word [rdi]
dec r14d
mov edx, dword [rbp - 0x80]
sub r15d, 2
mov dword [rbp - 0x68], r14d
jmp 0x14009239b
mov rdi, qword [rsp + 0x70]
mov edx, dword [rbp - 0x80]
jmp 0x140092397
cmp word [rdi], 0x5c
jne 0x14009241a
nop dword [rax]
cmp word [rdi + 2], 0x51
jne 0x14009241a
add rdi, 4
mov qword [rsp + 0x70], rdi
cmp word [rdi], 0x5c
jne 0x140092d45
cmp word [rdi + 2], 0x45
jne 0x140092d45
add rdi, 4
mov qword [rsp + 0x70], rdi
cmp word [rdi], 0x5c
je 0x140092d10
jmp 0x14009241a
mov r9d, 1
mov edx, r9d
mov dword [rbp - 0x80], edx
jmp 0x140092420
mov r10, qword [rbp + 0x130]
mov eax, 2
mov r15d, eax
mov dword [rbp + 0x10], eax
mov eax, 0xff
cmp r11d, eax
mov eax, dword [rbp - 0x78]
jg 0x140092e11
mov r9d, eax
and r9d, 1
je 0x140092d8c
cmp r11d, 0x7f
jg 0x140092e11
mov rbx, qword [rbp + 0x138]
mov eax, 1
mov dword [rbp - 0x68], eax
mov r14d, eax
test rbx, rbx
jne 0x1400926c0
cmp esi, r11d
jg 0x1400926c0
movsxd r8, esi
mov eax, esi
test esi, esi
jns 0x140092dbc
lea eax, [rsi + 7]
sar eax, 3
movsxd rdx, eax
mov eax, esi
and eax, 7
movzx ecx, byte [rbp + rdx - 0x18]
bts ecx, eax
mov byte [rbp + rdx - 0x18], cl
test r9d, r9d
je 0x140092dff
mov rax, qword [r10 + 8]
movzx edx, byte [rax + r8]
mov eax, edx
test edx, edx
jns 0x140092dea
lea eax, [rdx + 7]
sar eax, 3
and edx, 7
movsxd rcx, eax
movzx eax, byte [rbp + rcx - 0x18]
bts eax, edx
mov byte [rbp + rcx - 0x18], al
inc esi
inc r8
cmp esi, r11d
jle 0x140092db3
mov edx, dword [rbp - 0x80]
jmp 0x1400926c0
mov ebx, 1
mov dword [rbp - 0x7c], ebx
mov r8d, ebx
test bl, al
je 0x140092e9c
mov r14, r15
lea rdi, [0x140000000]
mov r15d, 0xdc00
mov r8d, esi
mov r10d, r11d
mov r12d, 0x3ff
nop dword [rax]
cmp r8d, r10d
ja 0x140092e8e
nop word [rax + rax]
mov eax, r8d
shr rax, 7
movzx ecx, byte [rax + rdi + 0xdc9c0]
mov eax, r8d
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx ecx, word [rdi + rcx*2 + 0xcffe0]
mov r9d, dword [rdi + rcx*8 + 0xdb8e4]
add r9d, r8d
cmp r9d, r8d
jne 0x140092f09
inc r8d
cmp r8d, r10d
jbe 0x140092e50
mov r12, qword [rbp - 0x48]
mov r15d, r14d
mov r14d, dword [rbp - 0x68]
mov r8d, ebx
mov r10d, 2
mov eax, esi
mov word [r13], r10w
and eax, 0xf800
add r13, r10
mov r9d, 0xd800
cmp eax, r9d
je 0x140093077
cmp esi, 0x110000
jae 0x140093077
cmp esi, 0xffff
jbe 0x14009307c
lea ecx, [rsi - 0x10000]
mov edi, 0x3ff
mov eax, ecx
mov esi, 0xdc00
shr eax, 0xa
and cx, di
or ax, r9w
mov word [r13], ax
or cx, si
mov word [r13 + 2], cx
mov eax, r10d
jmp 0x14009308e
cmp r8d, r10d
ja 0x140092e8e
inc r8d
lea edx, [r9 + 1]
cmp r8d, r10d
ja 0x140092f5a
nop word [rax + rax]
mov eax, r8d
shr rax, 7
movzx ecx, byte [rax + rdi + 0xdc9c0]
mov eax, r8d
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx ecx, word [rdi + rcx*2 + 0xcffe0]
mov ecx, dword [rdi + rcx*8 + 0xdb8e4]
add ecx, r8d
cmp ecx, edx
jne 0x140092f5a
inc edx
inc r8d
cmp r8d, r10d
jbe 0x140092f20
dec edx
cmp r9d, esi
jb 0x140092f6c
cmp edx, r11d
jbe 0x140092e40
jmp 0x140092f80
lea eax, [rsi - 1]
cmp edx, eax
jb 0x140092f7b
mov esi, r9d
jmp 0x140092e40
cmp edx, r11d
jbe 0x140092f91
lea eax, [r11 + 1]
cmp r9d, eax
ja 0x140092f91
mov r11d, edx
jmp 0x140092e40
cmp r9d, edx
jne 0x140092fa0
mov word [r13], bx
add r13, r14
jmp 0x14009300c
mov eax, r9d
mov word [r13], r14w
and eax, 0xf800
add r13, r14
mov ecx, 0xd800
cmp eax, ecx
je 0x140092ff8
cmp r9d, 0x110000
jae 0x140092ff8
cmp r9d, 0xffff
jbe 0x140092ffe
lea ecx, [r9 - 0x10000]
mov r9d, 0xd800
mov eax, ecx
and cx, r12w
shr eax, 0xa
or ax, r9w
mov word [r13], ax
or cx, r15w
mov word [r13 + 2], cx
mov eax, r14d
jmp 0x140093005
mov r9d, 0xfffe
mov word [r13], r9w
mov eax, ebx
cdqe
lea r13, [r13 + rax*2]
mov eax, edx
mov r9d, 0xd800
and eax, 0xf800
cmp eax, r9d
je 0x14009305e
cmp edx, 0x110000
jae 0x14009305e
cmp edx, 0xffff
jbe 0x140093063
lea ecx, [rdx - 0x10000]
mov eax, ecx
and cx, r12w
shr eax, 0xa
or ax, r9w
mov word [r13], ax
or cx, r15w
mov eax, r14d
mov word [r13 + 2], cx
cdqe
lea r13, [r13 + rax*2]
jmp 0x140092e40
mov edx, 0xfffe
mov eax, ebx
mov word [r13], dx
movsxd rax, ebx
lea r13, [r13 + rax*2]
jmp 0x140092e40
mov esi, 0xfffe
mov word [r13], si
mov rax, rbx
mov esi, 0xdc00
mov edi, 0x3ff
lea rdx, [rax*2]
mov eax, r11d
and eax, 0xf800
add rdx, r13
cmp eax, r9d
je 0x1400930e3
cmp r11d, 0x110000
jae 0x1400930e3
cmp r11d, 0xffff
jbe 0x1400930e9
lea ecx, [r11 - 0x10000]
mov eax, ecx
and cx, di
shr eax, 0xa
or ax, r9w
mov word [rdx], ax
or cx, si
mov eax, r10d
mov word [rdx + 2], cx
cdqe
lea r13, [rdx + rax*2]
jmp 0x140092cae
mov r11d, 0xfffe
mov eax, ebx
mov word [rdx], r11w
movsxd rax, ebx
lea r13, [rdx + rax*2]
jmp 0x140092cae
mov qword [rsp + 0x70], rbx
mov rdi, rbx
cmp r15d, 2
jge 0x14009310c
inc r15d
mov r10d, dword [rbp - 0x74]
cmp r15d, 1
jne 0x140093132
cmp word [rdi + 2], 0x5d
jne 0x140093132
test r10d, r10d
je 0x14009332a
cmp esi, 0x10000
jl 0x14009332a
mov r9d, dword [rbp - 0x78]
mov eax, 0xff
cmp esi, eax
jg 0x1400931c8
mov r8d, r9d
and r8d, 1
je 0x140093151
cmp esi, 0x7f
jg 0x1400931c8
mov eax, 1
mov dword [rbp - 0x68], eax
mov r14d, eax
mov eax, esi
test esi, esi
jns 0x140093165
lea eax, [rsi + 7]
mov r11, qword [rbp + 0x130]
sar eax, 3
movsxd rdx, eax
mov eax, esi
and eax, 7
movzx ecx, byte [rbp + rdx - 0x18]
bts ecx, eax
mov byte [rbp + rdx - 0x18], cl
test r8d, r8d
je 0x1400931b1
mov rax, qword [r11 + 8]
movsxd rcx, esi
movzx edx, byte [rcx + rax]
mov eax, edx
test edx, edx
jns 0x14009319c
lea eax, [rdx + 7]
sar eax, 3
and edx, 7
movsxd rcx, eax
movzx eax, byte [rbp + rcx - 0x18]
bts eax, edx
mov byte [rbp + rcx - 0x18], al
mov r8d, dword [rbp - 0x7c]
mov edx, dword [rbp - 0x80]
mov rbx, qword [rbp + 0x138]
mov r9, qword [rbp - 0x70]
jmp 0x1400926d3
mov r11d, 1
mov eax, esi
mov word [r13], r11w
and eax, 0xf800
add r13, 2
mov dword [rbp - 0x7c], r11d
mov ebx, 0xd800
mov r8d, r11d
mov ecx, esi
cmp eax, ebx
je 0x140093231
cmp esi, 0x110000
jae 0x140093231
cmp esi, 0xffff
jbe 0x140093236
lea ecx, [rsi - 0x10000]
mov edi, 2
mov eax, ecx
shr eax, 0xa
or ax, bx
mov word [r13], ax
mov eax, 0x3ff
and cx, ax
mov eax, 0xdc00
or cx, ax
mov eax, edi
mov word [r13 + 2], cx
jmp 0x140093243
mov ecx, 0xfffe
mov word [r13], cx
mov eax, r11d
mov edi, 2
cdqe
lea r13, [r13 + rax*2]
test r8b, r9b
je 0x140092cae
mov edx, esi
mov eax, esi
and edx, 0x7f
test esi, esi
jns 0x140093264
lea eax, [rsi + 0x7f]
add edx, 0xffffff80
sar eax, 7
lea r9, [0x140000000]
cdqe
movzx ecx, byte [rax + r9 + 0xdc9c0]
shl rcx, 7
movsxd rax, edx
add rcx, rax
movzx eax, word [r9 + rcx*2 + 0xcffe0]
mov ecx, dword [r9 + rax*8 + 0xdb8e4]
add ecx, esi
cmp ecx, esi
je 0x140092cae
mov eax, ecx
mov word [r13], r11w
and eax, 0xf800
add r13, 2
cmp eax, ebx
je 0x1400932ee
cmp ecx, 0x110000
jae 0x1400932ee
cmp ecx, 0xffff
jbe 0x1400932f3
add ecx, 0xffff0000
mov eax, ecx
shr eax, 0xa
or ax, bx
mov word [r13], ax
mov eax, 0x3ff
and cx, ax
mov eax, 0xdc00
or cx, ax
mov eax, edi
mov word [r13 + 2], cx
jmp 0x1400932fb
mov ecx, 0xfffe
mov word [r13], cx
mov eax, r11d
mov rdi, qword [rsp + 0x70]
mov r11, qword [rbp + 0x130]
mov edx, dword [rbp - 0x80]
mov rbx, qword [rbp + 0x138]
mov r9, qword [rbp - 0x70]
cdqe
lea r13, [r13 + rax*2]
jmp 0x1400926d3
mov r8d, dword [rbp - 0x7c]
jmp 0x140092cae
add rdi, 2
mov qword [rsp + 0x70], rdi
mov edi, dword [rbp - 0x50]
mov r12d, edi
mov dword [rbp - 0x7c], edi
test r10d, r10d
je 0x1400933a4
mov ecx, dword [rbp - 0x60]
mov eax, 0xffffffff
mov r10, qword [rsp + 0x78]
cmp ecx, 0xfffffffe
mov r13, qword [rbp - 0x58]
mov r14, qword [rbp + 0x108]
cmove ecx, eax
test byte [rbp - 0x78], 1
mov r15d, ecx
mov edx, dword [rbp - 0x80]
mov r9, qword [rbp - 0x70]
mov dword [rbp - 0x60], ecx
mov dword [rbp - 0x68], ecx
mov ecx, 0
mov eax, ecx
setne al
add ax, 0x1f
mov word [r10], ax
mov word [r10 + 2], si
add r10, 4
mov rdi, qword [rsp + 0x70]
mov esi, dword [rbp - 0x78]
add rdi, 2
mov qword [rsp + 0x78], r10
jmp 0x140091b1b
cmp esi, 0xffff
jle 0x14009340a
mov eax, esi
mov edx, 0xd800
and eax, 0xf800
cmp eax, edx
je 0x140093405
cmp esi, 0x110000
jae 0x140093405
cmp esi, 0xffff
jbe 0x14009340a
mov r10, qword [rsp + 0x78]
lea ecx, [rsi - 0x10000]
mov eax, ecx
mov esi, 2
shr eax, 0xa
or ax, dx
movzx r14d, ax
mov word [rbp + 0x28], ax
mov eax, 0x3ff
and cx, ax
mov eax, 0xdc00
or cx, ax
mov word [rbp + 0x2a], cx
jmp 0x140091cf2
mov esi, 0xfffe
mov r10, qword [rsp + 0x78]
movzx r14d, si
mov word [rbp + 0x28], si
mov esi, 1
jmp 0x140091cf2
mov r10, r13
mov qword [rsp + 0x78], r13
mov r13, qword [rbp - 0x58]
mov rax, r10
mov r14, qword [rbp + 0x108]
sub rax, r13
mov edx, dword [rbp - 0x80]
mov r9, qword [rbp - 0x70]
sar rax, 1
mov word [r13 + 2], ax
mov rdi, qword [rsp + 0x70]
add rdi, 2
jmp 0x140091b1b
mov rcx, qword [rsp + 0x78]
xor eax, eax
cmp r10d, r9d
setne al
add ax, 0x6a
mov word [rcx], ax
add rcx, 2
mov qword [rsp + 0x78], rcx
test rbx, rbx
jne 0x1400934b7
test r10d, r10d
je 0x14009349f
lea rcx, [rbp - 0x18]
mov edx, SafeArrayAllocDescriptor
nop word [rax + rax]
not byte [rcx]
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140093490
mov edx, dword [rbp - 0x80]
mov r10, qword [rsp + 0x78]
movups xmm0, xmmword [rbp - 0x18]
movups xmm1, xmmword [rbp - 8]
movups xmmword [r10], xmm0
movups xmmword [r10 + 0x10], xmm1
jmp 0x1400934bc
mov r10, qword [rsp + 0x78]
add r10, 0x20
mov qword [rsp + 0x78], r10
mov rdi, qword [rsp + 0x70]
xor ecx, ecx
mov r13, qword [rbp - 0x58]
add rdi, 2
mov r14, qword [rbp + 0x108]
mov r9, qword [rbp - 0x70]
jmp 0x140091b1b
test esi, esi
je case.0x140091ef5.12
or eax, 0xffffffff
add rdi, 2
xor r11d, r11d
mov edx, eax
mov r8d, r11d
movzx eax, word [rdi]
cmp ax, 0x30
jb 0x140093538
cmp ax, 0x39
ja 0x140093526
movzx eax, ax
lea r8d, [r8 + r8*4]
add rdi, 2
lea r8d, [r8 - 0x18]
lea r8d, [rax + r8*2]
movzx eax, word [rdi]
cmp ax, 0x30
jae 0x140093504
cmp r8d, 0xffff
jbe 0x140093538
mov dword [r14], 5
jmp 0x140093548
cmp word [rdi], 0x7d
jne 0x140093562
mov edx, r8d
mov dword [rbp - 0x40], r8d
mov dword [rbp - 0x64], edx
mov qword [rsp + 0x70], rdi
cmp dword [r14], r11d
jne 0x14009614a
mov r8d, dword [rbp - 0x64]
mov ecx, dword [rbp - 0x40]
jmp 0x1400935ed
movzx eax, word [rdi + 2]
add rdi, 2
cmp ax, 0x7d
je 0x140093541
mov edx, r11d
cmp ax, 0x30
jb 0x1400935b0
nop dword [rax]
cmp ax, 0x39
ja 0x14009359f
movzx eax, ax
lea edx, [rdx + rdx*4]
add rdi, 2
lea edx, [rdx - 0x18]
lea edx, [rax + rdx*2]
movzx eax, word [rdi]
cmp ax, 0x30
jae 0x140093580
cmp edx, 0xffff
jbe 0x1400935b0
mov dword [r14], 5
jmp 0x140093548
cmp edx, r8d
jge 0x140093541
mov eax, 4
mov dword [r14], eax
jmp 0x140093548
xor r11d, r11d
or eax, 0xffffffff
jmp 0x1400935e1
mov eax, 1
mov ecx, eax
mov dword [rbp - 0x40], eax
or eax, 0xffffffff
xor r11d, r11d
jmp 0x1400935e7
xor r11d, r11d
mov eax, 1
mov ecx, r11d
mov dword [rbp - 0x40], ecx
mov r8d, eax
mov dword [rbp - 0x64], eax
test r13, r13
je 0x140095f32
test ecx, ecx
jne 0x140093606
mov ebx, r15d
mov dword [rbp - 0x50], r12d
mov dword [rbp - 0x60], ebx
jmp 0x140093609
mov ebx, dword [rbp - 0x60]
cmp ecx, r8d
mov dword [rbp - 0x48], r11d
mov eax, 0x20000000
mov rdx, r13
cmove eax, r11d
mov qword [rbp - 0x30], rdx
movzx ecx, word [rdi + 2]
mov r14d, r11d
mov dword [rbp + 0x10], eax
lea rax, [rdi + 2]
mov r15d, 1
cmp cx, 0x2b
jne 0x14009364e
mov r13d, r11d
mov dword [rbp - 0x48], r15d
mov r14d, r15d
mov qword [rsp + 0x70], rax
mov rdi, rax
jmp 0x140093666
cmp cx, 0x3f
jne 0x140093662
mov r13d, dword [rbp + 0x38]
mov rdi, rax
mov qword [rsp + 0x70], rax
jmp 0x140093666
mov r13d, dword [rbp + 0x3c]
mov rsi, qword [rbp - 0x58]
cmp word [rsi], 0x6f
jne 0x140093707
mov edi, 4
lea rcx, [rsi + 4]
mov r8d, edi
mov rdx, rsi
call fcn.1400a56f0
mov r10, qword [rsp + 0x78]
lea eax, [rdi + 0x6e]
mov r11, qword [rbp + 0x138]
add r10, 8
mov dword [rsi], 0x4007b
mov dword [rsi + 8], 0x40072
mov qword [rsp + 0x78], r10
mov dword [rbp - 0x20], 6
test r11, r11
jne 0x1400936f4
mov r9, qword [rbp + 0x130]
mov rax, qword [r9 + 0x20]
mov r8, qword [r9 + 0x48]
add rax, 2
cmp r8, rax
jb 0x1400936f4
movzx edx, word [r8 - 2]
mov rcx, rsi
sub rcx, qword [r9 + 0x28]
mov eax, edx
add rcx, 2
sar rcx, 1
cmp rdx, rcx
jne 0x1400936f4
add dx, 2
mov word [r8 - 2], dx
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x30]
mov r9d, dword [rbp - 0x78]
mov r8d, dword [rbp - 0x64]
jmp 0x14009370e
mov r11, qword [rbp + 0x138]
movzx ecx, word [rsi]
lea eax, [rcx - 0x1d]
cmp ax, 1
jbe 0x140093f79
lea eax, [rcx - 0x1f]
cmp ax, 1
jbe 0x140093f5c
cmp cx, 0x17
jae 0x14009377e
mov ebx, reloc.WSOCK32.dll_gethostbyname
movzx esi, cx
test r14d, r14d
jne 0x140094045
test r8d, r8d
jns 0x140094045
mov rax, qword [rbp + 0x130]
lea r8, [rdi + 2]
mov rcx, qword [rbp - 0x58]
mov qword [rsp + 0x20], rax
call fcn.140090db0
test eax, eax
je 0x140094040
mov rdi, qword [rsp + 0x70]
xor eax, eax
mov r13d, eax
mov r12d, r15d
jmp 0x140094049
lea eax, [rcx - 0x6a]
cmp ax, 4
jbe 0x140093e6c
lea eax, [rcx - 0x77]
cmp ax, 0xa
ja 0x140093e4c
xor r14d, r14d
mov r15, r10
sub r15, rsi
mov eax, 0x81
sar r15, 1
mov r12d, r14d
cmp cx, ax
jne 0x1400937c0
mov eax, 0x8b
cmp word [rsi + 4], ax
je 0x14009449c
mov r9d, dword [rbp - 0x40]
cmp cx, 0x7b
jae 0x1400937e6
test r9d, r9d
jg 0x14009449c
cmp r8d, 1
mov ecx, 1
cmova r8d, ecx
mov dword [rbp - 0x64], r8d
jmp 0x1400937eb
mov ecx, 1
test r9d, r9d
jne 0x1400938e0
mov r9, qword [rbp + 0x130]
cmp r8d, 1
jg 0x140093878
xor eax, eax
mov edx, ecx
mov word [r10], ax
mov rcx, rsi
mov rax, qword [rbp - 0x28]
mov qword [rsp + 0x20], rax
call fcn.140090ae0
lea eax, [r15 + r15]
mov rdx, rsi
lea rbx, [rsi + 2]
movsxd r8, eax
mov rcx, rbx
call fcn.1400a56f0
mov r10, qword [rsp + 0x78]
mov r8d, dword [rbp - 0x64]
add r10, 2
mov qword [rsp + 0x78], r10
test r8d, r8d
jne 0x140093854
mov eax, 0x9b
mov word [rsi], ax
jmp 0x140094497
mov ecx, 0x8c
mov qword [rbp - 0x58], rbx
mov r14, rsi
dec r8d
lea eax, [rcx + r13]
mov word [rsi], ax
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x30]
jmp 0x140093a86
mov rax, qword [rbp - 0x28]
xor ebx, ebx
mov rcx, rsi
mov word [r10], bx
mov qword [rsp + 0x20], rax
lea edx, [rbx + 3]
call fcn.140090ae0
lea eax, [r15 + r15]
mov rdx, rsi
movsxd r8, eax
lea rcx, [rsi + 6]
call fcn.1400a56f0
add qword [rsp + 0x78], 6
lea r12, [rsi + 4]
mov r8d, dword [rbp - 0x64]
mov ecx, 0x8c
lea eax, [rcx + r13]
mov word [rsi], ax
mov eax, 0x7d
mov dword [rsi + 2], eax
add rsi, 6
mov rdi, qword [rsp + 0x70]
dec r8d
mov rdx, qword [rbp - 0x30]
mov qword [rbp - 0x58], rsi
jmp 0x140093a86
cmp r9d, 1
jle 0x140093a7e
test r11, r11
je 0x14009393e
mov eax, dword [rbp - 0x20]
lea ecx, [r9 - 1]
movd xmm1, ecx
mov r8d, ecx
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
imul r8d, eax
mulsd xmm1, xmm0
comisd xmm1, xmmword [0x1400ea348]
ja 0x140095f20
mov ecx, dword [r11]
mov eax, 0x7fffffeb
sub eax, ecx
cmp eax, r8d
jl 0x140095f20
lea eax, [rcx + r8]
mov dword [r11], eax
jmp 0x140093a7a
cmp dword [rbp + 0xc], r12d
je 0x14009394f
mov eax, dword [rbp - 0x50]
test eax, eax
cmovs eax, ebx
mov dword [rbp - 0x50], eax
mov esi, ecx
cmp r9d, 1
jle 0x140093a7e
mov r8, qword [rbp + 0x130]
lea eax, [r15 + r15]
movsxd rdi, eax
nop dword [rax]
mov rbx, qword [r8 + 0x48]
mov rcx, r10
mov rdx, qword [rbp - 0x58]
mov r8, rdi
call fcn.1400a56f0
mov r8, qword [rbp + 0x130]
mov rax, rbx
mov r9, qword [rbp - 0x28]
sub rax, r9
sar rax, 1
mov rdx, qword [r8 + 0x20]
movsxd rcx, dword [r8 + 0x60]
imul rax, rax, 0xfffffffffffffffe
add rcx, 0xffffffffffffff9c
add rax, rdx
lea rcx, [rax + rcx*2]
cmp qword [r8 + 0x48], rcx
jbe 0x140093a27
nop dword [rax]
nop dword [rax + rax]
sub r9, rdx
sub rbx, rdx
sar r9, 1
mov rcx, r8
mov qword [rbp - 0x28], r9
sar rbx, 1
call fcn.14008ecf0
mov rcx, qword [rbp + 0x108]
mov dword [rcx], eax
test eax, eax
jne 0x140095ef8
mov r8, qword [rbp + 0x130]
mov rax, qword [rbp - 0x28]
cdqe
mov rdx, qword [r8 + 0x20]
movsxd rcx, dword [r8 + 0x60]
add rcx, 0xffffffffffffff9c
lea r9, [rdx + rax*2]
movsxd rax, ebx
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 0x1400939c0
cmp r9, rbx
jae 0x140093a4d
nop dword [rax]
mov rax, qword [r8 + 0x48]
movzx ecx, r15w
add cx, word [r9]
add r9, 2
mov word [rax], cx
add qword [r8 + 0x48], 2
cmp r9, rbx
jb 0x140093a30
mov r10, qword [rsp + 0x78]
inc esi
mov r9d, dword [rbp - 0x40]
movsxd rax, r15d
mov qword [rbp - 0x28], rbx
lea r10, [r10 + rax*2]
mov qword [rsp + 0x78], r10
cmp esi, r9d
jl 0x140093970
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x30]
mov r8d, dword [rbp - 0x64]
test r8d, r8d
jle 0x140093a8d
sub r8d, r9d
mov dword [rbp - 0x64], r8d
test r8d, r8d
js 0x140093ccf
mov r9, qword [rbp + 0x138]
test r9, r9
je 0x140093b3d
test r8d, r8d
jle 0x140093b3d
mov eax, dword [rbp - 0x20]
add eax, 5
movd xmm0, r8d
cvtdq2pd xmm0, xmm0
mov ecx, eax
imul ecx, r8d
movd xmm1, eax
cvtdq2pd xmm1, xmm1
sub ecx, 4
mulsd xmm1, xmm0
comisd xmm1, xmmword [0x1400ea348]
ja 0x140095f20
mov r8d, dword [r9]
mov eax, 0x7fffffeb
sub eax, r8d
cmp eax, ecx
jl 0x140095f20
lea eax, [r8 + rcx]
mov dword [r9], eax
mov r10, qword [rsp + 0x78]
mov r14d, WSAStartup
test r12, r12
je 0x140093eae
nop dword [rax]
mov rcx, r10
mov rdx, r10
sub rcx, r12
sar rcx, 1
inc ecx
movsxd rax, ecx
add rax, rax
sub rdx, rax
movzx eax, word [rdx + 2]
test eax, eax
jne 0x140093ca9
xor eax, eax
mov r12d, eax
jmp 0x140093cb0
lea esi, [r8 - 1]
test esi, esi
js 0x140093af8
mov r14, qword [rbp + 0x130]
mov eax, 0x8c
mov r10, qword [rsp + 0x78]
add r13w, ax
lea eax, [r15 + r15]
movsxd rdi, eax
mov rbx, qword [r14 + 0x48]
mov word [r10], r13w
add r10, 2
mov qword [rsp + 0x78], r10
test esi, esi
je 0x140093ba4
mov eax, 0x7d
mov word [r10], ax
test r12, r12
jne 0x140093b88
xor eax, eax
jmp 0x140093b92
lea rax, [r10 + 2]
sub rax, r12
sar rax, 1
lea r12, [r10 + 2]
mov word [r10 + 2], ax
add r10, 4
mov qword [rsp + 0x78], r10
mov rdx, qword [rbp - 0x58]
mov r8, rdi
mov rcx, r10
call fcn.1400a56f0
mov r8, qword [rbp - 0x28]
mov rax, rbx
mov rdx, qword [r14 + 0x20]
sub rax, r8
movsxd rcx, dword [r14 + 0x60]
sar rax, 1
add rcx, 0xffffffffffffff9c
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
lea rcx, [rax + rcx*2]
cmp qword [r14 + 0x48], rcx
jbe 0x140093c40
nop dword [rax]
sub r8, rdx
sub rbx, rdx
sar r8, 1
mov rcx, r14
mov qword [rbp - 0x28], r8
sar rbx, 1
call fcn.14008ecf0
mov rcx, qword [rbp + 0x108]
mov dword [rcx], eax
test eax, eax
jne 0x140095ef8
mov rdx, qword [r14 + 0x20]
mov rax, qword [rbp - 0x28]
movsxd rcx, dword [r14 + 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 [r14 + 0x48], rcx
ja 0x140093be0
cmp r8, rbx
jae 0x140093c7d
test esi, esi
mov edx, 1
mov eax, 3
cmovne dx, ax
nop word [rax + rax]
mov rax, qword [r14 + 0x48]
lea ecx, [rdx + r15]
add cx, word [r8]
add r8, 2
mov word [rax], cx
add qword [r14 + 0x48], 2
cmp r8, rbx
jb 0x140093c60
sub esi, 1
mov r10, qword [rsp + 0x78]
movsxd rax, r15d
mov qword [rbp - 0x28], rbx
lea r10, [r10 + rax*2]
mov qword [rsp + 0x78], r10
jns 0x140093b61
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x30]
jmp 0x140093afd
neg rax
lea r12, [r12 + rax*2]
mov word [r10], r14w
mov word [r10 + 2], cx
add r10, 4
mov word [rdx + 2], cx
test r12, r12
jne 0x140093b10
jmp 0x140093ea0
mov r10, qword [rsp + 0x78]
movzx eax, word [r10 - 2]
lea rdi, [r10 - 4]
mov r12d, dword [rbp - 0x48]
add rax, rax
mov rsi, rdi
sub rsi, rax
movzx ecx, word [rsi]
lea eax, [rcx - 0x7b]
cmp ax, 1
ja 0x140093d05
test r12d, r12d
je 0x140093d05
mov eax, 0x7d
mov word [rsi], ax
jmp 0x140093d13
sub cx, 0x7b
cmp cx, 1
jbe 0x140093e32
cmp qword [rbp + 0x138], 0
mov r15, qword [rbp + 0x130]
jne 0x140093d62
mov rbx, rsi
nop word [rax + rax]
mov r9, r15
mov r8d, 1
mov rdx, rdi
mov rcx, rbx
call fcn.140090370
test eax, eax
jne 0x140093d59
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x71
lea rbx, [rbx + rax*2]
je 0x140093d30
jmp 0x140093d5d
add word [rsi], 5
mov r10, qword [rsp + 0x78]
test r12d, r12d
je 0x140093e24
movzx eax, word [rsi]
mov ecx, 0x81
cmp ax, cx
je 0x140093d92
mov ecx, 0x86
cmp ax, cx
je 0x140093d92
inc ax
mov word [rsi], ax
mov eax, 0x75
mov word [rdi], ax
jmp 0x140093df8
xor eax, eax
mov rbx, r10
mov word [r10], ax
sub rbx, rsi
mov rax, qword [rbp - 0x28]
mov r9, r15
mov edx, 2
mov qword [rsp + 0x20], rax
mov rcx, rsi
sar rbx, 1
call fcn.140090ae0
lea eax, [rbx + rbx]
mov rdx, rsi
movsxd r8, eax
lea rcx, [rsi + 4]
call fcn.1400a56f0
mov r10, qword [rsp + 0x78]
add ebx, 2
mov eax, 0x7e
mov word [rsi], ax
mov eax, 0x75
mov word [r10 + 4], ax
mov word [r10 + 6], bx
add r10, 8
mov qword [rsp + 0x78], r10
mov word [rsi + 2], bx
test r14, r14
je 0x140093e06
mov eax, 0x8e
mov word [r14], ax
cmp dword [rbp - 0x40], 2
mov rdi, qword [rsp + 0x70]
jl 0x14009449c
mov rdx, qword [rbp - 0x30]
mov r14d, WSAStartup
jmp 0x140093eb2
add r13w, 0x73
mov word [rdi], r13w
jmp 0x140094497
add r13w, 0x73
mov word [rdi], r13w
mov rdi, qword [rsp + 0x70]
mov r14d, WSAStartup
mov rdx, qword [rbp - 0x30]
jmp 0x140093eb2
mov eax, 0x97
cmp cx, ax
je 0x1400944a0
mov rax, qword [rbp + 0x108]
mov dword [rax], reloc.WSOCK32.dll_inet_ntoa
jmp 0x14009614a
test r8d, r8d
jne 0x140093e7e
mov r10, rsi
mov qword [rsp + 0x78], rsi
jmp 0x1400944a0
mov r9d, dword [rbp - 0x40]
test r9d, r9d
jne 0x140093f02
cmp r8d, 0xffffffff
jne 0x140093ef5
add r13w, 0x62
mov word [r10], r13w
mov r14d, WSAStartup
add r10, 2
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x30]
mov qword [rsp + 0x78], r10
mov r12d, dword [rbp - 0x48]
xor r11d, r11d
test r12d, r12d
je 0x14009449c
movzx eax, word [rdx]
cmp ax, 0x5d
jne 0x1400942af
movzx eax, word [rdx + 4]
mov esi, 2
sub ax, 0xf
mov ecx, esi
cmp ax, 1
cmova ecx, r11d
lea eax, [rcx + 3]
movsxd rcx, eax
lea rdx, [rdx + rcx*2]
mov qword [rbp - 0x30], rdx
jmp 0x1400942ff
cmp r8d, 1
jne 0x140093f18
add r13w, 0x66
jmp 0x140093e92
cmp r9d, 1
jne 0x140093f18
cmp r8d, 0xffffffff
jne 0x140093f18
add r13w, 0x64
jmp 0x140093e92
mov r12d, dword [rbp - 0x48]
add r13w, 0x68
mov word [r10], r13w
cmp r8d, 0xffffffff
mov word [r10 + 2], r9w
mov r11d, 0
cmove r8d, r11d
mov word [r10 + 4], r8w
add r10, 6
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x30]
lea r14d, [r11 + 0x72]
mov qword [rsp + 0x78], r10
mov dword [rbp - 0x64], r8d
jmp 0x140093eb5
movzx esi, word [rsi + 2]
cmp cx, 0x1f
mov ebx, 0x48
mov eax, 0x3b
cmove ebx, eax
sub ebx, 0x21
jmp 0x140093739
cmp cx, 0x1d
lea rdx, [r10 - 2]
movzx ecx, word [rdx]
mov ebx, SafeArrayGetElemsize
mov r15d, 0
movzx eax, cx
cmove ebx, r15d
mov r9d, 0xfc00
and ax, r9w
mov r8d, 0xdc00
cmp ax, r8w
jne 0x140094019
movzx eax, cx
and ax, r9w
cmp ax, r8w
jne 0x140093fbd
sub rdx, 2
mov rsi, r10
lea rcx, [rbp + 0x90]
sub rsi, rdx
sar rsi, 1
lea eax, [rsi + rsi]
movsxd r8, eax
call fcn.1400a56f0
bts esi, 0x1c
mov rax, qword [rbp + 0x130]
mov r8d, dword [rbp - 0x64]
test r14d, r14d
jne 0x140094069
test r8d, r8d
jns 0x140094069
mov r9d, dword [rbp - 0x78]
lea r8, [rdi + 2]
mov rcx, qword [rbp - 0x58]
mov qword [rsp + 0x20], rax
call fcn.140090db0
test eax, eax
je 0x140094040
mov rdi, qword [rsp + 0x70]
lea r12d, [r14 + 1]
mov r13d, r15d
jmp 0x140094049
cmp dword [rbp - 0x40], 1
movzx esi, cx
jle 0x140093fdc
mov rax, qword [rbp + 0x130]
mov r15d, dword [rax + 0x80]
or r15d, esi
or r15d, dword [rbp - 0x1c]
mov dword [rbp - 0x50], r15d
xor r15d, r15d
jmp 0x140093fe3
mov rdi, qword [rsp + 0x70]
mov r12d, dword [rbp - 0x48]
mov r8d, dword [rbp - 0x64]
mov rcx, qword [rbp - 0x58]
movzx eax, word [rcx]
sub ax, 0xf
cmp ax, 1
jbe 0x14009406f
or eax, 0xffffffff
mov r15d, eax
mov r14d, eax
jmp 0x140094079
mov r12d, dword [rbp - 0x48]
jmp 0x14009404d
movzx r14d, word [rcx + 2]
movzx r15d, word [rcx + 4]
mov rdx, qword [rsp + 0x78]
mov r10, rcx
mov qword [rsp + 0x78], rcx
mov rax, rdx
test r8d, r8d
je 0x14009449c
mov r9d, dword [rbp - 0x40]
add r13d, ebx
test r9d, r9d
jne 0x1400940e0
lea r10, [rcx + 2]
cmp r8d, 0xffffffff
jne 0x1400940b6
add r13w, 0x21
mov word [rcx], r13w
jmp 0x14009423f
cmp r8d, 1
jne 0x1400940ca
add r13w, 0x25
mov word [rcx], r13w
jmp 0x14009423f
add r13w, 0x27
mov word [rcx], r13w
mov word [r10], r8w
add r10, 2
jmp 0x14009423f
cmp r9d, 1
jne 0x14009412e
cmp r8d, 0xffffffff
jne 0x1400940fe
add r13w, 0x23
lea r10, [rcx + 2]
mov word [rcx], r13w
jmp 0x14009423f
mov qword [rsp + 0x78], rdx
mov r10, rdx
cmp r8d, 1
je 0x14009449c
add r13w, 0x27
lea r10, [rdx + 2]
lea eax, [r8 - 1]
mov word [rdx], r13w
mov word [r10], ax
add r10, 2
jmp 0x14009423f
add bx, 0x29
lea r10, [rcx + 2]
mov word [rcx], bx
mov word [r10], r9w
add r10, 2
mov qword [rsp + 0x78], r10
test r8d, r8d
jns 0x1400941b7
bt esi, 0x1c
jae 0x14009418b
mov eax, esi
lea rdx, [rbp + 0x90]
and eax, 7
mov rcx, r10
add eax, eax
movsxd r8, eax
call fcn.1400a56f0
mov r10, qword [rsp + 0x78]
mov eax, esi
and eax, 7
add r13w, 0x21
mov word [r10 + rax*2], r13w
lea r10, [r10 + rax*2]
add r10, 2
jmp 0x14009423f
mov word [r10], si
add r10, 2
test r14d, r14d
js 0x1400941a5
mov word [r10], r14w
mov word [r10 + 2], r15w
add r10, 4
add r13w, 0x21
mov word [r10], r13w
add r10, 2
jmp 0x14009423f
cmp r8d, r9d
je 0x140094244
bt esi, 0x1c
jae 0x1400941f7
mov eax, esi
lea rdx, [rbp + 0x90]
and eax, 7
mov rcx, r10
add eax, eax
movsxd r8, eax
call fcn.1400a56f0
mov r10, qword [rsp + 0x78]
mov eax, esi
mov r8d, dword [rbp - 0x64]
and eax, 7
mov r9d, dword [rbp - 0x40]
lea r10, [r10 + rax*2]
jmp 0x1400941ff
mov word [r10], si
add r10, 2
test r14d, r14d
js 0x140094211
mov word [r10], r14w
mov word [r10 + 2], r15w
add r10, 4
sub r8d, r9d
mov dword [rbp - 0x64], r8d
cmp r8d, 1
jne 0x14009422d
add r13w, 0x25
mov word [r10], r13w
add r10, 2
jmp 0x14009423f
add r13w, 0x27
mov word [r10], r13w
mov word [r10 + 2], r8w
add r10, 4
mov qword [rsp + 0x78], r10
bt esi, 0x1c
jae 0x140094273
mov eax, esi
lea rdx, [rbp + 0x90]
and eax, 7
mov rcx, r10
add eax, eax
movsxd r8, eax
call fcn.1400a56f0
mov r10, qword [rsp + 0x78]
mov eax, esi
and eax, 7
lea r10, [r10 + rax*2]
jmp 0x14009427b
mov word [r10], si
add r10, 2
mov qword [rsp + 0x78], r10
test r14d, r14d
js 0x140093e3b
mov word [r10], r14w
mov r14d, WSAStartup
mov word [r10 + 2], r15w
add r10, 4
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x30]
mov qword [rsp + 0x78], r10
jmp 0x140093eb2
cmp ax, 0x29
je 0x1400942bb
cmp ax, 0x43
jne 0x1400942fa
movzx eax, ax
lea r8, [0x140000000]
mov ecx, 0xfc00
mov esi, 2
movzx eax, byte [rax + r8 + 0xcfb70]
lea rdx, [rdx + rax*2]
mov qword [rbp - 0x30], rdx
movzx eax, word [rdx - 2]
and ax, cx
mov ecx, 0xd800
cmp ax, cx
jne 0x140094306
add rdx, rsi
mov qword [rbp - 0x30], rdx
jmp 0x140094306
mov esi, 2
lea r8, [0x140000000]
mov rbx, r10
sub rbx, rdx
sar rbx, 1
test ebx, ebx
jle 0x14009449c
movzx eax, word [rdx]
add eax, 0xffffffdf
cmp eax, 0x3a
ja case.0x14009433c.53
cdqe
movzx eax, byte [r8 + rax + 0x962e8]
mov ecx, dword [r8 + rax*4 + 0x96294]
add rcx, r8
jmp rcx
mov eax, 0x2a
mov word [rdx], ax
jmp 0x140094497
mov eax, 0x2b
mov word [rdx], ax
jmp 0x140094497
mov eax, 0x2c
mov word [rdx], ax
jmp 0x140094497
mov eax, 0x2d
mov word [rdx], ax
jmp 0x140094497
mov eax, gethostname
mov word [rdx], ax
jmp 0x140094497
mov eax, gethostname
mov word [rdx], ax
jmp 0x140094497
mov eax, reloc.WSOCK32.dll_gethostname
mov word [rdx], ax
jmp 0x140094497
mov eax, 0x3a
mov word [rdx], ax
jmp 0x140094497
mov eax, 0x44
mov word [rdx], ax
jmp 0x140094497
mov eax, 0x45
mov word [rdx], ax
jmp 0x140094497
mov eax, 0x46
mov word [rdx], ax
jmp 0x140094497
mov eax, 0x47
mov word [rdx], ax
jmp 0x140094497
mov eax, 0x51
mov word [rdx], ax
jmp 0x140094497
mov eax, 0x52
mov word [rdx], ax
jmp 0x140094497
mov eax, 0x53
mov word [rdx], ax
jmp 0x140094497
mov eax, 0x54
mov word [rdx], ax
jmp 0x140094497
mov eax, 0x5e
mov word [rdx], ax
jmp 0x140094497
mov eax, 0x5f
mov word [rdx], ax
jmp 0x140094497
mov eax, 0x60
mov word [rdx], ax
jmp 0x140094497
mov eax, 0x61
mov word [rdx], ax
jmp 0x140094497
mov rax, qword [rbp - 0x28]
mov edx, esi
mov r9, qword [rbp + 0x130]
mov word [r10], r11w
mov rcx, qword [rbp - 0x30]
mov qword [rsp + 0x20], rax
call fcn.140090ae0
mov rdx, qword [rbp - 0x30]
lea eax, [rbx + rbx]
movsxd r8, eax
lea rcx, [rdx + 4]
call fcn.1400a56f0
mov rax, qword [rbp - 0x30]
add ebx, 2
mov r10, qword [rsp + 0x78]
mov ecx, 0x7b
mov word [rax], cx
mov word [r10 + 4], r14w
mov word [r10 + 6], bx
add r10, 8
mov rax, qword [rbp - 0x30]
mov qword [rsp + 0x78], r10
mov word [rax + 2], bx
mov rdi, qword [rsp + 0x70]
mov r12d, dword [rbp - 0x7c]
mov rcx, qword [rbp + 0x130]
xor eax, eax
mov r15d, dword [rbp - 0x68]
mov r13d, eax
mov r14, qword [rbp + 0x108]
mov qword [rbp - 0x58], rax
mov eax, dword [rbp + 0x10]
or dword [rcx + 0x80], eax
jmp 0x140095e78
mov r9, qword [r11 + 0x48]
add rdi, 2
mov esi, dword [rbp - 0x78]
xor eax, eax
mov qword [rbp - 0x28], r9
xor r9d, r9d
mov qword [rsp + 0x70], rdi
movzx edx, word [rdi]
mov dword [rbp + 0x10], esi
mov dword [rbp - 0x38], eax
mov dword [rbp - 0x48], 0x7f
mov dword [rbp - 0x74], r9d
cmp dx, 0x2a
jne 0x1400947ec
movzx eax, word [rdi + 2]
lea r13, [rdi + 2]
cmp ax, 0x3a
je 0x14009452d
mov ecx, 0xff
cmp ax, cx
ja 0x1400947e8
movzx ecx, ax
mov rax, qword [r11 + 0x18]
test byte [rcx + rax], 2
je 0x1400947e8
mov qword [rsp + 0x70], r13
lea r15, [0x1400cf328]
movzx eax, word [r13]
mov edx, 0xff
mov qword [rbp - 0x58], r9
mov rcx, r9
mov qword [rbp + 0x10], rcx
mov r12d, r9d
mov rdi, r13
cmp ax, dx
ja 0x14009457a
mov rcx, qword [r11 + 0x18]
nop dword [rax]
movzx eax, ax
test byte [rax + rcx], 2
je 0x14009457a
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx eax, word [rdi]
cmp ax, dx
jbe 0x140094560
mov rsi, rdi
sub rsi, r13
sar rsi, 1
cmp word [rdi], 0x3a
jne 0x1400945c1
add rdi, 2
mov qword [rsp + 0x70], rdi
mov rcx, rdi
mov qword [rbp + 0x10], rcx
movzx eax, word [rdi]
test ax, ax
je 0x1400945b8
cmp ax, 0x29
je 0x1400945b8
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx eax, word [rdi]
test ax, ax
jne 0x1400945a1
mov r12, rdi
sub r12, rcx
sar r12, 1
cmp word [rdi], 0x29
jne 0x140095f74
mov r14d, r9d
lea r11, [0x1400cf210]
mov rbx, r9
nop dword [rax + rax]
mov r10d, dword [r11]
cmp esi, r10d
jne 0x14009470b
mov eax, esi
mov r8, r13
mov r9, r15
test esi, esi
je 0x14009461f
nop dword [rax + rax]
movzx ecx, word [r8]
lea r8, [r8 + 2]
movzx edx, byte [r9]
lea r9, [r9 + 1]
dec eax
cmp cx, dx
jne 0x1400946f0
test eax, eax
jne 0x140094600
xor r9d, r9d
lea rax, [rbx + rbx*2]
lea r8, [0x1400cf210]
mov ecx, dword [r8 + rax*4 + 4]
cmp ecx, 0x98
jne 0x140094731
test r12d, r12d
jne 0x140095f3e
mov rdx, qword [rbp + 0x130]
mov eax, 1
mov r8, qword [rsp + 0x78]
mov rcx, qword [rdx + 0x40]
mov dword [rdx + 0x84], eax
test rcx, rcx
je 0x14009468c
mov r9d, 0x9a
nop dword [rax]
mov word [r8], r9w
movzx eax, word [rcx + 8]
mov word [r8 + 2], ax
add r8, 4
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140094670
xor r9d, r9d
cmp dword [rdx + 0x74], 0
mov eax, r9d
setg al
add ax, 0x98
mov word [r8], ax
add r8, 2
cmp dword [rbp - 0x60], 0xfffffffe
mov qword [rsp + 0x78], r8
jne 0x1400946b4
mov dword [rbp - 0x60], 0xffffffff
mov rdi, qword [rsp + 0x70]
mov r10, qword [rsp + 0x78]
xor ecx, ecx
cmp r14d, 9
jge 0x140095f62
mov r15d, dword [rbp - 0x68]
add rdi, 2
mov r12d, dword [rbp - 0x7c]
mov r13, qword [rbp - 0x58]
mov r14, qword [rbp + 0x108]
mov edx, dword [rbp - 0x80]
mov esi, dword [rbp - 0x78]
mov r9, qword [rbp - 0x70]
jmp 0x140091b1b
xor r9d, r9d
cmp cx, dx
mov eax, r9d
seta al
lea eax, [rax*2 - 1]
test eax, eax
je 0x140094622
lea eax, [r10 + 1]
inc r14d
movsxd rcx, eax
inc rbx
add r15, rcx
lea rax, [0x1400cf27c]
add r11, 0xc
cmp r11, rax
jl 0x1400945e0
jmp 0x1400946b9
test r12d, r12d
jne 0x140094773
test ecx, ecx
js 0x140095f50
movzx eax, cx
mov rcx, qword [rsp + 0x78]
mov word [rcx], ax
add rcx, 2
mov qword [rsp + 0x78], rcx
mov ecx, reloc.OLEAUT32.dll_SysStringByteLen
cmp ax, cx
jne 0x1400946b4
mov rax, qword [rbp + 0x130]
or dword [rax + 0x7c], 0x1000
jmp 0x1400946b4
cmp dword [r8 + rax*4 + 8], 0
jl 0x140095f3e
movzx eax, word [r8 + rax*4 + 8]
mov edx, 0x95
mov rcx, qword [rsp + 0x78]
mov word [rcx], ax
cmp ax, dx
jne 0x1400947a5
mov rax, qword [rbp + 0x130]
or dword [rax + 0x7c], 0x1000
mov rdx, qword [rbp + 0x10]
lea eax, [r12 + r12]
mov word [rcx + 2], r12w
add rcx, 4
movsxd r8, eax
mov qword [rsp + 0x78], rcx
call fcn.1400a56f0
mov r10, qword [rsp + 0x78]
xor ecx, ecx
movsxd rax, r12d
lea r10, [r10 + rax*2]
mov word [r10], cx
add r10, 2
mov rdi, qword [rsp + 0x70]
mov qword [rsp + 0x78], r10
jmp 0x1400946c0
mov r13, qword [rbp - 0x58]
cmp dx, 0x3f
jne 0x140095234
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx r8d, word [rdi]
lea eax, [r8 - 0x21]
cmp eax, 0x5b
ja case.0x14009482b.47
lea rbx, [0x140000000]
cdqe
movzx eax, byte [rbx + rax + 0x96360]
mov ecx, dword [rbx + rax*4 + 0x96324]
add rcx, rbx
jmp rcx
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx eax, word [rdi]
test ax, ax
je 0x140094857
nop
cmp ax, 0x29
je 0x140094863
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx eax, word [rdi]
test ax, ax
jne 0x140094840
mov dword [r14], reloc.OLEAUT32.dll_SafeArrayGetUBound
jmp 0x14009614a
cmp word [rdi], r9w
je 0x140094857
mov edx, dword [rbp - 0x80]
xor ecx, ecx
mov r9, qword [rbp - 0x70]
add rdi, 2
jmp 0x140091b1b
mov r14d, 1
jmp 0x140094886
mov r14d, r9d
mov eax, 0x7d
add rdi, 2
mov ecx, eax
mov dword [rbp - 0x48], eax
mov qword [rsp + 0x70], rdi
mov r13d, r9d
jmp 0x140094a78
cmp word [rdi + 2], 0x3f
mov eax, 0x81
mov dword [rbp - 0x48], eax
jne 0x1400948cc
movzx eax, word [rdi + 4]
cmp ax, 0x21
je 0x1400956a3
sub ax, 0x3c
cmp ax, 1
jbe 0x1400956a3
mov eax, 0x87
or esi, 0xffffffff
mov word [r10 + 4], ax
mov r9d, esi
mov rdi, qword [rsp + 0x70]
mov eax, 2
lea rdx, [rdi + 2]
mov dword [rbp - 0x38], eax
mov r13d, eax
movzx eax, word [rdx]
cmp ax, 0x52
jne 0x140094920
cmp word [rdi + 4], 0x26
lea rcx, [rdi + 4]
jne 0x140094920
mov qword [rsp + 0x70], rcx
mov eax, 0x89
mov word [r10 + 4], ax
mov r12d, esi
mov rdi, qword [rsp + 0x70]
xor r8d, r8d
jmp 0x14009496a
xor r8d, r8d
cmp ax, 0x3c
jne 0x140094938
mov eax, 0x3e
mov qword [rsp + 0x70], rdx
mov r12d, eax
jmp 0x140094967
cmp ax, 0x27
jne 0x14009494d
mov eax, 0x27
mov qword [rsp + 0x70], rdx
mov r12d, eax
jmp 0x140094967
sub ax, 0x2b
mov ecx, 0xfffd
mov r12d, r8d
test cx, ax
jne 0x14009496a
mov qword [rsp + 0x70], rdx
movzx r9d, word [rdx]
mov rdi, rdx
movzx eax, word [rdi + 2]
lea rdx, [rdi + 2]
mov ebx, 0xff
cmp ax, bx
ja 0x140095ff5
movzx ecx, ax
mov rax, qword [r11 + 0x18]
test byte [rcx + rax], 0x10
je 0x140095ff5
mov rdi, rdx
mov qword [rsp + 0x70], rdx
mov r15, rdx
mov r14d, r8d
movzx edx, word [rdx]
cmp dx, bx
ja 0x1400949ef
mov r8, rax
nop word [rax + rax]
movzx eax, dx
test byte [rax + r8], 0x10
je 0x1400949ec
test r14d, r14d
js 0x1400949dc
lea eax, [rdx - 0x30]
cmp ax, 9
ja 0x1400949d9
lea r14d, [r14 + r14*4]
movzx eax, dx
lea r14d, [r14 - 0x18]
lea r14d, [rax + r14*2]
jmp 0x1400949dc
mov r14d, esi
add rdi, r13
mov qword [rsp + 0x70], rdi
movzx edx, word [rdi]
cmp dx, bx
jbe 0x1400949b0
xor r8d, r8d
mov rsi, rdi
sub rsi, r15
sar rsi, 1
test r12d, r12d
jle 0x140094a11
movzx eax, word [rdi]
add rdi, r13
mov qword [rsp + 0x70], rdi
cmp eax, r12d
jne 0x140095fe0
movzx eax, word [rdi]
add rdi, r13
mov qword [rsp + 0x70], rdi
cmp ax, 0x29
jne 0x140095fe0
cmp qword [rbp + 0x138], 0
jne 0x140094a71
test r9d, r9d
jle 0x140094bd5
test r14d, r14d
jle 0x140095f93
cmp r9d, 0x2d
jne 0x140094a55
mov eax, dword [r11 + 0x64]
sub eax, r14d
lea r14d, [rax + 1]
jmp 0x140094a59
add r14d, dword [r11 + 0x64]
test r14d, r14d
jle 0x140095f80
cmp r14d, dword [r11 + 0x68]
jg 0x140095f80
mov word [r10 + 6], r14w
mov r14d, dword [rbp - 0x74]
mov ecx, dword [rbp - 0x48]
mov rdx, qword [rsp + 0x78]
mov r12d, 0x8b
mov rax, qword [rbp + 0x130]
mov r15, qword [rbp + 0x138]
mov edi, 0x81
mov word [rdx], cx
mov esi, dword [rax + 0x80]
mov ebx, dword [rax + 0x64]
lea eax, [rcx - 0x79]
mov qword [rbp - 0x30], rdx
mov qword [rbp - 0x58], rdx
xor edx, edx
cmp eax, 1
mov dword [rbp - 0x20], edx
mov r8d, edx
lea rax, [rbp - 0x20]
setbe r8b
test r15, r15
cmove rax, rdx
cmp ecx, edi
mov ecx, dword [rbp + 0x10]
mov qword [rsp + 0x60], rax
sete dl
add edx, dword [rbp + 0x128]
mov rax, qword [rbp + 0x130]
mov qword [rsp + 0x58], rax
mov rax, qword [rbp + 0x120]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 8]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x18]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], edx
lea rdx, [rbp - 0x30]
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], r14d
mov r14, qword [rbp + 0x108]
mov dword [rsp + 0x20], r8d
mov r9, r14
lea r8, [rsp + 0x70]
call fcn.140096430
test eax, eax
je 0x140095ef8
mov r8d, dword [rbp - 0x48]
cmp r8d, 0x7b
jne 0x1400956ae
mov rax, qword [rbp + 0x130]
mov r10, qword [rsp + 0x78]
cmp dword [rax + 0x64], ebx
jg 0x140094b5f
mov eax, 0x7c
mov word [r10], ax
mov eax, dword [rbp + 8]
or ebx, 0xffffffff
mov ecx, dword [rbp + 0x18]
mov rdi, qword [rsp + 0x70]
cmp word [rdi], 0x29
jne 0x1400960a1
test r15, r15
je 0x14009572d
mov r8d, dword [rbp - 0x20]
mov ecx, 0x7fffffeb
mov edx, dword [r15]
sub ecx, edx
lea eax, [r8 - 4]
cmp ecx, eax
jl 0x140095e8d
lea eax, [r8 - 4]
mov r8d, 2
add eax, edx
mov dword [r15], eax
mov dword [r10 + 2], 0x720002
mov word [r10 + 6], r8w
add r10, 8
mov rdi, qword [rsp + 0x70]
mov qword [rsp + 0x78], r10
mov r15d, dword [rbp - 0x68]
mov r12d, dword [rbp - 0x7c]
mov r13, qword [rbp - 0x58]
jmp 0x140095e78
mov rax, qword [rbp + 0x130]
mov ebx, r8d
mov r11, qword [r11 + 0x50]
mov edi, dword [rax + 0x58]
test edi, edi
jle 0x140094c21
mov r13, rax
nop dword [rax]
lea rdx, [r11 + 2]
mov r8d, esi
mov rcx, r15
call fcn.1400a2ce0
test eax, eax
je 0x140094c11
movsxd rax, dword [r13 + 0x5c]
inc ebx
lea r11, [r11 + rax*2]
cmp ebx, edi
jl 0x140094bf0
mov r13d, dword [rbp - 0x38]
mov rax, qword [rbp + 0x130]
mov r10, qword [rsp + 0x78]
cmp ebx, edi
jge 0x140094c38
movzx eax, word [r11]
inc word [r10 + 4]
mov word [r10 + 6], ax
jmp 0x140094a71
mov r9d, dword [rbp - 0x78]
mov r8d, esi
shr r9d, 3
mov rdx, r15
and r9d, 1
mov rcx, rax
call fcn.14008fc90
test eax, eax
jle 0x140094c68
mov rcx, qword [rsp + 0x78]
inc word [rcx + 4]
mov word [rcx + 6], ax
jmp 0x140094a71
test r12d, r12d
jne 0x140095fa5
cmp word [r15], 0x52
jne 0x140094ce0
xor eax, eax
mov edx, 1
mov ecx, eax
cmp esi, edx
jle 0x140094cbd
nop word [rax + rax]
movsxd rax, edx
movzx r8d, word [r15 + rax*2]
lea eax, [r8 - 0x30]
cmp ax, 9
ja 0x140095fa5
lea ecx, [rcx + rcx*4]
movzx eax, r8w
inc edx
lea ecx, [rcx - 0x18]
lea ecx, [rax + rcx*2]
cmp edx, esi
jl 0x140094c90
test ecx, ecx
jne 0x140094cc2
mov ecx, 0xffff
mov rdx, qword [rsp + 0x78]
mov eax, 0x89
mov r14d, dword [rbp - 0x74]
mov word [rdx + 6], cx
mov ecx, dword [rbp - 0x48]
mov word [rdx + 4], ax
jmp 0x140094a7d
cmp esi, 6
jne 0x140094d42
mov eax, esi
lea r8, str.DEFINE
nop
movzx ecx, word [r15]
lea r15, [r15 + 2]
movzx edx, byte [r8]
lea r8, [r8 + 1]
dec eax
cmp cx, dx
jne 0x140094d0d
test eax, eax
jne 0x140094cf0
jmp 0x140094d20
xor eax, eax
cmp cx, dx
seta al
lea eax, [rax*2 - 1]
test eax, eax
jne 0x140094d42
mov rdx, qword [rsp + 0x78]
mov r12d, 0x8b
mov ecx, dword [rbp - 0x48]
mov r13d, 1
mov r14d, dword [rbp - 0x74]
mov word [rdx + 4], r12w
jmp 0x140094a83
test r14d, r14d
jle 0x140095fbd
mov rax, qword [rbp + 0x130]
cmp r14d, dword [rax + 0x68]
jg 0x140095fbd
mov rdx, qword [rsp + 0x78]
mov r12d, 0x8b
mov ecx, dword [rbp - 0x48]
mov word [rdx + 6], r14w
mov r14d, dword [rbp - 0x74]
jmp 0x140094a8a
inc dword [r11 + 0x74]
mov ecx, 0x77
add rdi, 2
mov dword [rbp - 0x48], ecx
mov qword [rsp + 0x70], rdi
mov r13d, r9d
mov r14d, r9d
jmp 0x140094a78
add rdi, 2
mov qword [rsp + 0x70], rdi
cmp word [rdi], 0x29
jne 0x140094dd7
mov edx, dword [rbp - 0x80]
xor ecx, ecx
mov r9, qword [rbp - 0x70]
mov eax, 0x97
mov word [r10], ax
mov r13d, ecx
mov rdi, qword [rsp + 0x70]
add r10, 2
mov qword [rsp + 0x78], r10
add rdi, 2
mov qword [rbp - 0x58], rcx
jmp 0x140091b1b
inc dword [r11 + 0x74]
mov ecx, 0x78
mov dword [rbp - 0x48], ecx
mov r13d, r9d
mov r14d, r9d
jmp 0x140094a78
movzx eax, word [rdi + 2]
cmp eax, 0x21
je 0x140094eec
cmp eax, 0x3d
je 0x140094ecc
mov ecx, 0xff
cmp ax, cx
ja 0x140096004
mov ecx, eax
mov rax, qword [r11 + 0x18]
test byte [rcx + rax], 0x10
je 0x140096004
cmp r8w, 0x3c
mov eax, 0x3e
mov edx, 0x27
mov r8d, 0xff
cmove edx, eax
add rdi, 2
mov qword [rsp + 0x70], rdi
mov r9, rdi
mov qword [rbp - 0x58], rdi
movzx eax, word [rdi]
cmp ax, r8w
ja 0x140094e72
mov rcx, qword [r11 + 0x18]
movzx eax, ax
test byte [rax + rcx], 0x10
je 0x140094e72
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx eax, word [rdi]
cmp ax, r8w
jbe 0x140094e57
mov rcx, rdi
sub rcx, r9
sar rcx, 1
cmp qword [rbp + 0x138], 0
mov qword [rbp - 0x38], rcx
je 0x14009509e
movzx eax, word [rdi]
cmp eax, edx
jne 0x14009603e
cmp dword [r11 + 0x58], 0x2710
jge 0x140096032
lea eax, [rcx + 2]
cmp eax, dword [r11 + 0x5c]
jle 0x1400951dc
mov dword [r11 + 0x5c], eax
cmp ecx, 0x20
jle 0x1400951dc
mov dword [r14], gethostbyname
jmp 0x14009614a
mov ecx, 0x79
inc dword [r11 + 0x74]
mov r13d, r9d
add rdi, 4
mov dword [rbp - 0x48], ecx
mov qword [rsp + 0x70], rdi
mov r14d, r9d
jmp 0x140094a78
mov ecx, 0x7a
jmp 0x140094ed1
mov eax, 0x7b
add rdi, 2
mov ecx, eax
mov dword [rbp - 0x48], eax
mov qword [rsp + 0x70], rdi
mov r13d, r9d
mov r14d, r9d
jmp 0x140094a78
mov eax, WSAStartup
mov qword [rbp + 0x20], r10
mov word [r10], ax
mov ebx, r9d
mov rdi, qword [rsp + 0x70]
add r10, 2
mov r8, r9
mov qword [rbp + 0x40], rdi
mov r9, rdi
mov dword [rbp + 0x1c], 1
add rdi, 2
mov qword [rsp + 0x78], r10
mov qword [rsp + 0x70], rdi
movzx edx, word [rdi]
cmp dx, 0x30
jb 0x140094f76
cmp dx, 0x39
ja 0x140094f76
add rdi, 2
movzx eax, dx
lea ebx, [rbx + rbx*4]
mov qword [rsp + 0x70], rdi
lea ebx, [rbx - 0x18]
movzx edx, word [rdi]
lea ebx, [rax + rbx*2]
cmp dx, 0x30
jae 0x140094f52
movzx eax, word [rdi]
cmp ax, 0x29
je 0x140095005
test ax, ax
je 0x140096019
cmp ax, 0x3a
je 0x140094f99
xor eax, eax
mov rdi, r9
mov ebx, eax
lea rdx, [rdi + 2]
mov qword [rbp + 0x40], rdx
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx eax, word [rdi]
test ax, ax
je 0x140096019
cmp ax, 0x29
jne 0x140094fa1
cmp ax, r8w
je 0x140096019
sub rdi, rdx
lea rcx, [0x1401053a0]
sar rdi, 1
xor r9d, r9d
movsxd r8, edi
call fcn.140023dc0
mov r8, rax
test rax, rax
je 0x140096014
cmp byte [rax + 0x5d], 0
jne 0x140096014
mov rdi, qword [rsp + 0x70]
mov r11, qword [rbp + 0x130]
mov r10, qword [rsp + 0x78]
mov eax, 0xff
cmp ebx, eax
jg 0x140096026
mov edx, dword [rbp - 0x80]
xor ecx, ecx
mov r9, qword [rbp - 0x70]
mov r13d, ecx
mov word [r10], bx
mov qword [r10 + 2], r8
mov eax, dword [rsp + 0x70]
sub eax, dword [r11 + 0x30]
sar rax, 1
inc ax
mov word [r10 + 0xc], cx
mov word [r10 + 0xa], ax
add r10, 0xe
mov rdi, qword [rsp + 0x70]
mov qword [rsp + 0x78], r10
add rdi, 2
mov qword [rbp - 0x58], rcx
jmp 0x140091b1b
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx r8d, word [rdi]
lea eax, [r8 - 0x3d]
cmp ax, 1
jbe 0x140095087
cmp r8w, 0x3c
je case.0x14009482b.36
mov dword [r14], 0x29
jmp 0x14009614a
cmp r8w, 0x3e
mov r12d, r9d
mov r11d, 0x29
sete r12b
jmp 0x140095868
mov r15d, dword [r11 + 0x58]
xor eax, eax
mov rbx, qword [r11 + 0x50]
mov esi, eax
mov r14d, eax
test r15d, r15d
jle 0x140095158
lea eax, [rcx + rcx]
movsxd r12, ecx
movsxd r13, eax
nop
lea rdx, [rbx + 2]
mov r8, r13
mov rcx, r9
call fcn.1400bcdf0
test eax, eax
jne 0x140095103
cmp word [rbx + r12*2 + 2], ax
jne 0x140095122
mov r11, qword [rbp + 0x130]
movzx eax, word [rbx]
mov ecx, dword [r11 + 0x64]
inc ecx
cmp eax, ecx
je 0x1400950fc
test dword [rbp - 0x78], 0x80000
je 0x14009604b
mov esi, 1
jmp 0x14009510c
js 0x140095122
mov r11, qword [rbp + 0x130]
movsxd rax, dword [r11 + 0x5c]
inc r14d
lea rbx, [rbx + rax*2]
cmp r14d, r15d
jge 0x140095152
mov r9, qword [rbp - 0x58]
jmp 0x1400950c0
mov rax, qword [rbp + 0x130]
sub r15d, r14d
mov rdx, rbx
movsxd rax, dword [rax + 0x5c]
imul r15d, eax
lea rcx, [rbx + rax*2]
add r15d, r15d
movsxd r8, r15d
call fcn.1400a56f0
mov r11, qword [rbp + 0x130]
mov rdi, qword [rsp + 0x70]
test esi, esi
jne 0x14009519d
xor eax, eax
mov r9d, dword [r11 + 0x58]
mov edx, eax
mov r8, qword [r11 + 0x50]
test r9d, r9d
jle 0x14009519d
cmp r8, rbx
je 0x14009518c
mov ecx, dword [r11 + 0x64]
movzx eax, word [r8]
inc ecx
cmp eax, ecx
jne 0x14009518e
mov rax, qword [rbp + 0x108]
mov dword [rax], 0x41
jmp 0x14009614a
dec edx
movsxd rax, dword [r11 + 0x5c]
inc edx
lea r8, [r8 + rax*2]
cmp edx, r9d
jl 0x140095167
movzx eax, word [r11 + 0x64]
lea rcx, [rbx + 2]
mov rdi, qword [rbp - 0x38]
inc ax
mov rdx, qword [rbp - 0x58]
mov word [rbx], ax
lea eax, [rdi + rdi]
movsxd r8, eax
call fcn.1400a56f0
mov r11, qword [rbp + 0x130]
xor r9d, r9d
mov r10, qword [rsp + 0x78]
movsxd rax, edi
mov word [rbx + rax*2 + 2], r9w
mov rdi, qword [rsp + 0x70]
inc dword [r11 + 0x58]
add rdi, 2
mov qword [rsp + 0x70], rdi
inc dword [r11 + 0x64]
mov r13d, 1
movzx eax, word [r11 + 0x64]
mov word [r10 + 4], ax
jmp 0x140094a71
mov r11d, 0x29
lea r12d, [r11 - 0x28]
jmp 0x140095868
add rdi, 2
mov qword [rsp + 0x70], rdi
mov r13d, r9d
mov r14d, r9d
mov r9, qword [rbp + 0x108]
mov r11d, 0x29
xor ebx, ebx
jmp 0x14009542c
bt esi, 0xc
jae 0x1400951e9
mov eax, 0x7d
mov r13d, r9d
mov ecx, eax
mov dword [rbp - 0x48], eax
mov r14d, r9d
jmp 0x140094a78
mov esi, dword [rbp - 0x78]
lea rcx, [rsp + 0x70]
mov r8d, dword [r11 + 0x64]
mov r9d, esi
mov qword [rbp + 0x40], rdi
mov rdx, r14
xor edi, edi
mov dword [rsp + 0x20], edi
call fcn.14008ee50
mov r9, qword [rbp + 0x108]
movsxd r14, eax
cmp dword [r9], edi
jne 0x140095ef8
test eax, eax
jns 0x140095d04
mov ebx, r14d
neg ebx
cmp ebx, 0x1a
jne 0x1400952eb
mov rdi, qword [rsp + 0x70]
cmp word [rdi + 2], 0x5c
jne 0x1400952c6
cmp word [rdi + 4], 0x45
jne 0x1400952c6
mov r10, qword [rsp + 0x78]
add rdi, 4
mov edx, dword [rbp - 0x80]
xor ecx, ecx
mov r14, r9
add rdi, 2
mov r9, qword [rbp - 0x70]
jmp 0x140091b1b
mov r10, qword [rsp + 0x78]
mov eax, 1
mov r14, qword [rbp + 0x108]
xor ecx, ecx
mov r9, qword [rbp - 0x70]
mov edx, eax
mov dword [rbp - 0x80], eax
add rdi, 2
jmp 0x140091b1b
cmp ebx, 0x19
je 0x140095ce1
mov r11d, dword [rbp - 0x60]
cmp r11d, 0xfffffffe
jne 0x140095311
lea eax, [rbx - 6]
cmp eax, 0x10
mov eax, 0xffffffff
cmovbe r11d, eax
mov dword [rbp - 0x60], r11d
mov r12d, dword [rbp - 0x50]
mov r15d, r11d
mov dword [rbp - 0x7c], r12d
mov dword [rbp - 0x68], r11d
cmp ebx, 0x1b
jne 0x1400957d7
mov rdi, qword [rsp + 0x70]
mov r11d, 0x27
mov rdx, qword [rbp + 0x130]
add rdi, 2
mov qword [rsp + 0x70], rdi
lea r10, [rdi + 2]
mov ecx, 0xfffd
mov rax, qword [rdx + 0x48]
cmp word [rdi], 0x3c
mov qword [rbp - 0x28], rax
mov eax, 0x3e
cmove r11d, eax
movzx eax, word [r10]
xor ebx, ebx
sub ax, 0x2b
mov r13d, ebx
mov r14d, ebx
test cx, ax
je 0x1400954d2
movzx ecx, word [r10]
mov ebx, 1
mov r9d, ebx
mov r8, r10
test cx, cx
je 0x1400953d3
nop
movzx eax, cx
cmp eax, r11d
je 0x1400953d3
mov eax, 0xff
cmp cx, ax
ja 0x140095406
mov rax, qword [rdx + 0x18]
movzx ecx, cx
movzx edx, byte [rcx + rax]
mov rcx, r13
movzx eax, dl
and al, 4
cmove r9d, ecx
test dl, 0x10
je 0x1400953d5
movzx ecx, word [r8 + 2]
add r8, 2
mov rdx, qword [rbp + 0x130]
test cx, cx
jne 0x140095390
xor ecx, ecx
movzx eax, word [r8]
cmp eax, r11d
je 0x14009540d
mov r14, qword [rbp + 0x108]
mov eax, reloc.WSOCK32.dll_gethostname
mov r13, qword [rbp - 0x58]
add rdi, 2
mov r10, qword [rsp + 0x78]
mov edx, dword [rbp - 0x80]
mov r9, qword [rbp - 0x70]
mov dword [r14], eax
jmp 0x140091b1b
xor ecx, ecx
mov r9d, ecx
jmp 0x1400953d5
test r9d, r9d
je 0x1400954c7
mov r9, qword [rbp + 0x108]
xor ebx, ebx
mov rdi, r10
mov qword [rsp + 0x70], r10
mov r10, qword [rsp + 0x78]
movzx r8d, word [rdi]
cmp r8d, 0x2b
jne 0x14009552a
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx eax, word [rdi]
sub ax, 0x30
cmp ax, 9
ja 0x14009605d
movzx edx, word [rdi]
mov esi, ebx
cmp dx, 0x30
jb 0x140095484
nop
cmp dx, 0x39
ja 0x140095484
add rdi, 2
movzx eax, dx
lea esi, [rsi + rsi*4]
mov qword [rsp + 0x70], rdi
lea esi, [rsi - 0x18]
movzx edx, word [rdi]
lea esi, [rax + rsi*2]
cmp dx, 0x30
jae 0x140095460
movzx eax, word [rdi]
cmp eax, r11d
jne 0x1400960ba
cmp r8d, 0x2d
jne 0x1400957b5
test esi, esi
je 0x1400960ad
mov r13, qword [rbp + 0x130]
mov eax, dword [r13 + 0x64]
sub eax, esi
lea esi, [rax + 1]
test esi, esi
jg 0x140095a30
mov eax, reloc.OLEAUT32.dll_SafeArrayDestroy
mov dword [r9], eax
jmp 0x14009614a
mov r12d, ebx
xor r9d, r9d
jmp 0x140095861
movzx eax, word [rdi + 4]
lea rcx, [rdi + 4]
cmp ax, 0x30
jb 0x1400954f4
cmp ax, 0x39
ja 0x1400954f4
movzx eax, word [rcx + 2]
add rcx, 2
cmp ax, 0x30
jae 0x1400954e0
movzx eax, word [rcx]
cmp eax, r11d
je 0x14009541f
mov r14, qword [rbp + 0x108]
mov eax, reloc.WSOCK32.dll_gethostname
mov r13, qword [rbp - 0x58]
xor ecx, ecx
mov r10, qword [rsp + 0x78]
add rdi, 2
mov edx, dword [rbp - 0x80]
mov r9, qword [rbp - 0x70]
mov dword [r14], eax
jmp 0x140091b1b
cmp r8d, 0x2d
jne 0x140095454
movzx eax, word [rdi + 2]
lea rcx, [rdi + 2]
sub ax, 0x30
cmp ax, 9
ja 0x14009555b
mov rdi, rcx
mov qword [rsp + 0x70], rcx
jmp 0x140095454
mov r13d, r9d
mov r14d, r9d
jmp 0x140095562
mov r11, qword [rbp + 0x130]
xor ecx, ecx
lea rdx, [rbp - 0x38]
mov dword [rbp - 0x48], ecx
mov eax, ecx
mov dword [rbp - 0x38], ecx
mov r9d, ecx
cmp r8w, 0x29
je 0x140095608
nop
cmp r8w, 0x3a
je 0x1400955ff
add rdi, 2
movzx eax, r8w
sub eax, 0x2d
mov qword [rsp + 0x70], rdi
cmp eax, 0x4b
ja case.0x1400955bd.53
lea r8, [0x140000000]
cdqe
movzx eax, byte [r8 + rax + 0x963e0]
mov ecx, dword [r8 + rax*4 + 0x963bc]
add rcx, r8
jmp rcx
lea rdx, [rbp - 0x48]
jmp 0x1400955f4
or dword [rdx], 0x80000
or dword [r11 + 0x7c], 0x400
jmp 0x1400955f4
or dword [rdx], 1
jmp 0x1400955f4
or dword [rdx], 2
jmp 0x1400955f4
or dword [rdx], 4
jmp 0x1400955f4
or dword [rdx], 8
jmp 0x1400955f4
or dword [rdx], 0x200
jmp 0x1400955f4
or dword [rdx], 0x40
movzx r8d, word [rdi]
cmp r8w, 0x29
jne 0x140095580
mov r9d, dword [rbp - 0x38]
xor ecx, ecx
mov eax, dword [rbp - 0x48]
or r9d, esi
not eax
and r9d, eax
cmp word [rdi], 0x29
mov dword [rbp + 0x10], r9d
jne 0x14009568b
mov rax, qword [r11 + 0x28]
add rax, 4
cmp r10, rax
jne 0x14009563e
mov rax, qword [rbp + 0x138]
test rax, rax
je 0x140095638
cmp dword [rax], 4
jne 0x14009563e
mov dword [r11 + 0x78], r9d
jmp 0x14009565c
mov eax, r9d
shr eax, 9
and eax, 1
mov dword [rbp + 0x3c], eax
xor eax, 1
mov dword [rbp + 0x38], eax
mov eax, r9d
and eax, 1
shl eax, 0x1c
mov dword [rbp - 0x1c], eax
mov rax, qword [rbp + 0xf0]
mov esi, r9d
mov r14, qword [rbp + 0x108]
mov r13, rcx
mov edx, dword [rbp - 0x80]
add rdi, 2
mov dword [rbp - 0x78], r9d
mov dword [rax], r9d
mov r9, qword [rbp - 0x70]
mov qword [rbp - 0x58], rcx
jmp 0x140091b1b
mov eax, 0x7d
add rdi, 2
mov ecx, eax
mov dword [rbp - 0x48], eax
mov qword [rsp + 0x70], rdi
jmp 0x140094a78
mov r13d, r9d
mov r14d, r9d
jmp 0x140094a75
lea eax, [r8 - 0x77]
cmp eax, 3
ja 0x1400956c1
mov rax, qword [rbp + 0x130]
dec dword [rax + 0x74]
mov r10, qword [rsp + 0x78]
cmp r8d, edi
jne 0x140094b5f
test r15, r15
jne 0x140094b5f
xor eax, eax
mov rcx, r10
mov edx, eax
nop
movzx eax, word [rcx + 2]
inc edx
cmp word [rcx + rax*2], 0x72
lea rcx, [rcx + rax*2]
jne 0x1400956e0
cmp word [r10 + 4], r12w
jne 0x140095709
cmp edx, 1
jg 0x14009607f
mov r8d, r12d
jmp 0x140094b5f
cmp edx, 2
jg 0x140096090
cmp edx, 1
jne 0x140094b5f
or ebx, 0xffffffff
mov eax, ebx
mov dword [rbp + 8], ebx
mov ecx, ebx
mov dword [rbp + 0x18], ebx
jmp 0x140094b68
mov r10, qword [rbp - 0x30]
mov qword [rsp + 0x78], r10
cmp r8d, r12d
je 0x140094bc4
mov r11d, dword [rbp - 0x60]
xor r9d, r9d
mov r12d, dword [rbp - 0x50]
mov r15d, r11d
mov dword [rbp - 0x7c], r12d
mov dword [rbp - 0x68], r11d
mov dword [rbp + 0xc], r9d
cmp r8d, 0x7b
jl 0x1400957a9
cmp r11d, 0xfffffffe
jne 0x140095786
test ecx, ecx
js 0x14009577b
mov dword [rbp - 0x60], ecx
mov r15d, ebx
mov dword [rbp + 0xc], 1
mov dword [rbp - 0x68], ebx
jmp 0x140095795
mov dword [rbp - 0x60], ebx
mov r15d, ebx
mov dword [rbp - 0x68], ebx
jmp 0x140095795
test ecx, ecx
js 0x140095795
test eax, eax
jns 0x14009579d
mov eax, ecx
or eax, esi
mov dword [rbp + 8], eax
test eax, eax
js 0x140094bcc
mov r13, qword [rbp - 0x58]
mov dword [rbp - 0x50], eax
jmp 0x140095e78
cmp r8d, 0x77
jne 0x140094bcc
jmp 0x140095795
cmp r8d, 0x2b
jne 0x140095a29
test esi, esi
je 0x1400960ad
mov r13, qword [rbp + 0x130]
add esi, dword [r13 + 0x64]
jmp 0x140095a30
cmp ebx, 0x1c
jne 0x140095bab
mov rdi, qword [rsp + 0x70]
movzx eax, word [rdi + 2]
lea rcx, [rdi + 2]
cmp ax, 0x3c
je 0x140095825
cmp ax, 0x27
je 0x140095825
cmp ax, 0x7b
je 0x140095825
mov r14, qword [rbp + 0x108]
mov eax, 0x45
mov r10, qword [rsp + 0x78]
xor ecx, ecx
mov edx, dword [rbp - 0x80]
add rdi, 2
mov r9, qword [rbp - 0x70]
mov dword [r14], eax
jmp 0x140091b1b
xor r9d, r9d
mov qword [rsp + 0x70], rcx
movzx eax, word [rcx]
mov r12d, r9d
mov rdi, rcx
cmp ax, 0x3c
jne 0x14009584e
mov r14, qword [rbp + 0x108]
mov r8d, 0x3e
mov r11d, r8d
jmp 0x14009586e
cmp ax, 0x27
mov r11d, 0x7d
mov eax, 0x27
cmove r11d, eax
mov r14, qword [rbp + 0x108]
mov r8d, 0x3e
mov r13, qword [rbp + 0x130]
add rdi, 2
mov qword [rsp + 0x70], rdi
mov edx, 0xff
mov r15, rdi
movzx eax, word [rdi]
cmp ax, dx
ja 0x1400958ac
mov rcx, qword [r13 + 0x18]
movzx eax, ax
test byte [rax + rcx], 0x10
je 0x1400958ac
add rdi, 2
mov qword [rsp + 0x70], rdi
movzx eax, word [rdi]
cmp ax, dx
jbe 0x140095892
mov rsi, rdi
sub rsi, r15
sar rsi, 1
cmp qword [rbp + 0x138], 0
je 0x14009590e
test esi, esi
je 0x1400960c6
movzx eax, word [rdi]
cmp eax, r11d
jne 0x14009603e
cmp esi, 0x20
jg 0x140094ec0
mov r9d, dword [rbp - 0x78]
mov r8d, esi
mov rbx, qword [r13 + 0x38]
mov rdx, r15
shr r9d, 3
mov rcx, r13
and r9d, 1
mov qword [r13 + 0x38], rdi
call fcn.14008fc90
mov qword [r13 + 0x38], rbx
mov esi, eax
xor ebx, ebx
test eax, eax
jns 0x14009597c
mov esi, ebx
jmp 0x14009597c
mov r14d, dword [r13 + 0x58]
mov ebx, r9d
mov r11, qword [r13 + 0x50]
test r14d, r14d
jle 0x14009594b
movsxd rdi, esi
lea rdx, [r11 + 2]
mov r8d, esi
mov rcx, r15
call fcn.1400a2ce0
test eax, eax
jne 0x14009593c
cmp word [r11 + rdi*2 + 2], ax
je 0x14009594b
movsxd rax, dword [r13 + 0x5c]
inc ebx
lea r11, [r11 + rax*2]
cmp ebx, r14d
jl 0x140095921
cmp ebx, r14d
jge 0x140095956
movzx esi, word [r11]
jmp 0x14009597a
mov r9d, dword [rbp - 0x78]
mov r8d, esi
shr r9d, 3
mov rdx, r15
and r9d, 1
mov rcx, r13
call fcn.14008fc90
mov esi, eax
test eax, eax
jle 0x140095fa5
xor ebx, ebx
test r12d, r12d
jne 0x140095a30
mov r15d, dword [rbp - 0x68]
xor edi, edi
mov r12d, dword [rbp - 0x7c]
mov r11d, dword [rbp - 0x60]
mov r10, qword [rsp + 0x78]
cmp r11d, 0xfffffffe
mov eax, 0xffffffff
mov qword [rbp - 0x58], r10
cmove r11d, eax
mov r8d, 1
test byte [rbp - 0x78], 1
mov eax, edi
mov dword [rbp - 0x60], r11d
setne al
add ax, 0x6d
mov word [r10], ax
mov eax, r8d
mov word [r10 + 2], si
add r10, 4
mov qword [rsp + 0x78], r10
cmp esi, 0x20
jge 0x1400959de
mov ecx, esi
shl eax, cl
or dword [r13 + 0x70], eax
cmp esi, dword [r13 + 0x6c]
jle 0x1400959ec
mov dword [r13 + 0x6c], esi
mov rcx, qword [r13 + 0x40]
test rcx, rcx
je 0x140095dfe
nop dword [rax]
movzx eax, word [rcx + 8]
cmp eax, esi
je 0x140095bc4
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140095a00
mov rdi, qword [rsp + 0x70]
mov r13, qword [rbp - 0x58]
mov r14, qword [rbp + 0x108]
jmp 0x140095e78
mov r13, qword [rbp + 0x130]
cmp qword [rbp + 0x138], 0
mov rax, qword [rsp + 0x78]
mov rdi, qword [r13 + 0x28]
mov qword [rbp - 0x58], rax
jne 0x140095b45
mov word [rax], bx
test esi, esi
je 0x140095a66
mov rcx, qword [r13 + 0x28]
mov r8d, esi
call fcn.1400900e0
mov rdi, rax
mov rax, qword [rsp + 0x78]
test rdi, rdi
jne 0x140095ae7
mov r9d, dword [rbp - 0x78]
mov r8d, esi
shr r9d, 3
xor edx, edx
and r9d, 1
mov rcx, r13
call fcn.14008fc90
test eax, eax
js 0x140095fa5
mov rax, qword [r13 + 0x28]
movsxd rcx, esi
lea rdi, [rax + rcx*2]
movsxd rcx, dword [r13 + 0x60]
mov rax, qword [r13 + 0x20]
add rcx, 0xffffffffffffff9c
lea rcx, [rax + rcx*2]
cmp qword [r13 + 0x48], rcx
jb 0x140095ac6
mov rcx, r13
call fcn.14008ecf0
mov rcx, qword [rbp + 0x108]
mov dword [rcx], eax
test eax, eax
jne 0x140095ef8
mov rax, qword [r13 + 0x48]
mov r10, qword [rsp + 0x78]
mov ecx, r10d
sub ecx, dword [r13 + 0x28]
add rcx, 2
sar rcx, 1
mov word [rax], cx
add qword [r13 + 0x48], 2
jmp 0x140095b4a
cmp word [rdi + 2], 0
jne 0x140095b45
cmp dword [rbp + 0x128], 0
jg 0x140095b45
mov rcx, qword [rbp + 0x120]
mov rbx, rcx
test rcx, rcx
je 0x1400960cb
nop word [rax + rax]
mov rcx, qword [rbx + 8]
cmp rcx, rdi
jb 0x1400960cb
mov r9, r13
mov r8d, 1
mov rdx, rax
call fcn.140090370
test eax, eax
je 0x140095b45
mov rbx, qword [rbx]
test rbx, rbx
je 0x1400960cb
mov rax, qword [rsp + 0x78]
jmp 0x140095b10
mov r10, qword [rsp + 0x78]
mov r15d, dword [rbp - 0x68]
mov eax, WSAStartup
mov r12d, dword [rbp - 0x7c]
xor ecx, ecx
mov word [r10], ax
mov eax, edi
sub eax, dword [r13 + 0x28]
mov r13, qword [rbp - 0x58]
sar rax, 1
mov word [r10 + 2], ax
add r10, 4
cmp dword [rbp - 0x60], 0xfffffffe
mov qword [rsp + 0x78], r10
mov dword [rbp + 0xc], ecx
jne 0x140095e04
mov rdi, qword [rsp + 0x70]
mov r14, qword [rbp + 0x108]
add rdi, 2
mov edx, dword [rbp - 0x80]
mov esi, dword [rbp - 0x78]
mov r9, qword [rbp - 0x70]
mov dword [rbp - 0x60], 0xffffffff
jmp 0x140091b1b
cmp ebx, 0x23
jl 0x140095bde
mov r13, qword [rbp + 0x130]
mov esi, 0xffffffdd
sub esi, r14d
jmp 0x140095993
mov r13, qword [rbp - 0x58]
mov r14, qword [rbp + 0x108]
mov word [rcx + 0xa], r8w
mov rdi, qword [rsp + 0x70]
jmp 0x140095e78
lea eax, [rbx - 0xf]
cmp eax, 1
jbe 0x140095c6b
mov r10, qword [rsp + 0x78]
lea eax, [rbx - 0x1d]
mov edx, dword [rbp - 0x80]
cmp eax, 5
ja 0x140095c32
mov r9, qword [rsp + 0x70]
lea rax, [r14*8 + 0xe8]
mov r14, qword [rbp + 0x108]
lea rcx, str.PNd
sub rcx, rax
add r9, 2
mov qword [rbp - 0x70], r9
mov rdi, qword [rcx]
xor ecx, ecx
sub rdi, 2
add rdi, 2
jmp 0x140091b1b
mov r14, qword [rbp + 0x108]
lea eax, [rbx - 6]
mov r9, qword [rbp - 0x70]
xor ecx, ecx
cmp eax, 0x10
mov word [r10], bx
mov rdi, qword [rsp + 0x70]
mov r13d, ecx
cmovbe r13, r10
add r10, 2
mov qword [rsp + 0x78], r10
add rdi, 2
mov qword [rbp - 0x58], r13
jmp 0x140091b1b
mov r14, qword [rbp + 0x108]
lea r8, [rbp + 0x68]
mov r9, r14
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x70]
call fcn.14008f5c0
test eax, eax
js 0x140095ef8
mov r10, qword [rsp + 0x78]
mov ecx, edi
mov r9, qword [rbp - 0x70]
mov edx, edi
cmp ebx, 0x10
mov qword [rbp - 0x58], r10
mov r13, r10
sete cl
cmp ecx, dword [rbp + 0x50]
setne dl
xor ecx, ecx
add dx, 0xf
mov word [r10], dx
mov edx, dword [rbp - 0x80]
mov word [r10 + 2], ax
movzx eax, word [rbp + 0x68]
mov word [r10 + 4], ax
add r10, 6
mov rdi, qword [rsp + 0x70]
mov qword [rsp + 0x78], r10
add rdi, 2
jmp 0x140091b1b
mov rdi, qword [rsp + 0x70]
xor ecx, ecx
mov r10, qword [rsp + 0x78]
add rdi, 2
mov r14, qword [rbp + 0x108]
mov edx, dword [rbp - 0x80]
mov r9, qword [rbp - 0x70]
jmp 0x140091b1b
cmp r14d, 0xffff
jle 0x140095d6b
mov eax, r14d
mov edx, 0xd800
and eax, 0xf800
cmp eax, edx
je 0x140095d65
cmp r14d, 0x110000
jae 0x140095d65
cmp r14d, 0xffff
jbe 0x140095d6b
mov r10, qword [rsp + 0x78]
lea ecx, [r14 - 0x10000]
mov eax, ecx
shr eax, 0xa
or ax, dx
movzx r14d, ax
mov word [rbp + 0x28], ax
mov eax, 0x3ff
and cx, ax
mov eax, 0xdc00
or cx, ax
mov word [rbp + 0x2a], cx
jmp 0x140091cea
mov r14d, 0xfffe
mov r10, qword [rsp + 0x78]
mov esi, 1
mov word [rbp + 0x28], r14w
jmp 0x140091cef
mov rax, qword [rbp + 0x130]
mov r11d, dword [rbp - 0x60]
mov r12d, edi
mov dword [rbp - 0x7c], edi
cmp r11d, 0xfffffffe
jne 0x140095e23
or ebx, 0xffffffff
mov dword [rbp - 0x68], ebx
mov r15d, ebx
cmp esi, 1
je 0x140095dd3
cmp dword [rbp - 0x1c], 0
je 0x140095dd3
mov rdi, qword [rsp + 0x70]
mov r14, qword [rbp + 0x108]
add rdi, 2
mov edx, dword [rbp - 0x80]
mov esi, dword [rbp - 0x78]
mov r9, qword [rbp - 0x70]
mov dword [rbp - 0x50], ebx
mov dword [rbp - 0x60], ebx
jmp 0x140091b1b
movzx ecx, r14w
or ecx, dword [rbp - 0x1c]
mov dword [rbp - 0x60], ecx
cmp esi, 1
je 0x140095e02
movzx ecx, word [r10 - 2]
or ecx, dword [rax + 0x80]
mov rdi, qword [rsp + 0x70]
mov r14, qword [rbp + 0x108]
mov dword [rbp - 0x50], ecx
jmp 0x140095e78
mov r13, qword [rbp - 0x58]
xor ecx, ecx
mov rdi, qword [rsp + 0x70]
mov r14, qword [rbp + 0x108]
add rdi, 2
mov edx, dword [rbp - 0x80]
mov esi, dword [rbp - 0x78]
mov r9, qword [rbp - 0x70]
jmp 0x140091b1b
mov dword [rbp - 0x68], r11d
mov r15d, r11d
cmp esi, 1
je 0x140095e54
cmp dword [rbp - 0x1c], 0
je 0x140095e54
mov rdi, qword [rsp + 0x70]
mov r14, qword [rbp + 0x108]
add rdi, 2
mov edx, dword [rbp - 0x80]
mov esi, dword [rbp - 0x78]
mov r9, qword [rbp - 0x70]
jmp 0x140091b1b
movzx ecx, word [r10 - 2]
or ecx, dword [rax + 0x80]
or ecx, dword [rbp - 0x1c]
mov rdi, qword [rsp + 0x70]
mov r14, qword [rbp + 0x108]
mov dword [rbp - 0x50], ecx
jmp 0x140095e78
mov r10, qword [rsp + 0x78]
mov edx, dword [rbp - 0x80]
mov esi, dword [rbp - 0x78]
xor ecx, ecx
mov r9, qword [rbp - 0x70]
add rdi, 2
jmp 0x140091b1b
mov dword [r14], reloc.OLEAUT32.dll_SafeArrayLock
jmp 0x14009614a
mov dword [r14], 0x40
jmp 0x14009614a
cmp word [rdi + 2], 0x3a
mov eax, SafeArrayAllocDescriptor
mov ecx, SafeArrayGetElemsize
cmove eax, ecx
mov dword [r14], eax
jmp 0x14009614a
mov rax, qword [rbp + 0x108]
mov dword [rax], SafeArrayAllocDescriptor
jmp 0x14009614a
mov rcx, qword [rbp + 0x108]
mov eax, SafeArrayAllocDescriptor
mov dword [rcx], eax
jmp 0x14009614a
mov dword [r10], 7
jmp 0x14009614a
mov eax, 0x47
mov dword [r10], eax
mov rdi, qword [rsp + 0x70]
jmp 0x14009614a
mov dword [r10], 8
jmp 0x14009614a
mov rax, qword [rbp + 0x108]
mov dword [rax], 6
jmp 0x14009614a
mov rax, qword [rbp + 0x108]
mov dword [rax], reloc.OLEAUT32.dll_SafeArrayLock
jmp 0x14009614a
mov dword [r14], 9
jmp 0x14009614a
mov rax, qword [rbp + 0x108]
mov dword [rax], 0x3b
jmp 0x14009614a
mov rax, qword [rbp + 0x108]
mov dword [rax], 0x42
jmp 0x14009614a
mov rax, qword [rbp + 0x108]
mov dword [rax], 0x3c
jmp 0x14009614a
mov dword [r14], 0x3c
jmp 0x14009614a
mov rcx, qword [rbp + 0x108]
mov eax, reloc.OLEAUT32.dll_SafeArrayDestroy
mov dword [rcx], eax
jmp 0x14009614a
mov rax, qword [rbp + 0x108]
mov dword [rax], 0x3a
jmp 0x14009614a
mov rcx, qword [rbp + 0x108]
mov eax, reloc.OLEAUT32.dll_SafeArrayDestroy
mov rdi, qword [rsp + 0x70]
mov dword [rcx], eax
jmp 0x14009614a
mov rdi, qword [rsp + 0x70]
mov ecx, reloc.OLEAUT32.dll_SafeArrayAllocDescriptor
test r14d, r14d
mov eax, reloc.OLEAUT32.dll_SafeArrayDestroy
cmove eax, ecx
mov rcx, qword [rbp + 0x108]
mov dword [rcx], eax
jmp 0x14009614a
mov rax, qword [rbp + 0x108]
sub rdi, r13
mov dword [rax], DispGetParam
jmp 0x14009614a
add rdi, r13
mov dword [r14], 0x1c
jmp 0x14009614a
add rdi, 2
mov dword [r14], reloc.OLEAUT32.dll_SafeArrayGetElement
jmp 0x14009614a
mov rdi, qword [rsp + 0x70]
mov eax, 0x27
mov dword [r14], eax
jmp 0x14009614a
mov dword [r14], 0x26
jmp 0x14009614a
mov dword [r14], gethostbyname
jmp 0x14009614a
mov eax, 0x2a
mov dword [r14], eax
jmp 0x14009614a
mov rax, qword [rbp + 0x108]
mov dword [rax], 0x2b
jmp 0x14009614a
mov dword [r9], 0x3f
jmp 0x14009614a
mov rax, qword [rbp + 0x108]
sub rdi, 2
mov dword [rax], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
jmp 0x14009614a
mov rdi, qword [rsp + 0x70]
mov dword [r14], gethostname
jmp 0x14009614a
mov rdi, qword [rsp + 0x70]
mov dword [r14], reloc.OLEAUT32.dll_DispGetParam
jmp 0x14009614a
mov dword [r14], SafeArrayGetElemsize
jmp 0x14009614a
mov eax, 0x3a
mov dword [r9], eax
jmp 0x14009614a
mov dword [r9], SafeArrayAllocDescriptor
jmp 0x14009614a
mov dword [r14], r8d
jmp 0x14009614a
mov rax, qword [rbp + 0x108]
mov rdi, qword [rsp + 0x70]
mov dword [rax], 0x28
jmp 0x14009614a
mov rax, qword [rbp + 0x110]
mov ecx, dword [rbp - 0x60]
mov r8, qword [rbp + 0x100]
mov rdx, qword [rbp + 0x138]
mov dword [rax], ecx
mov rax, qword [rbp + 0x118]
mov ecx, dword [rbp - 0x50]
mov qword [r8], rdi
mov dword [rax], ecx
mov rax, qword [rbp + 0xf8]
mov qword [rax], r10
test rdx, rdx
je 0x14009613c
sub r10, qword [rbp + 0x60]
mov eax, 0x7fffffeb
mov ecx, dword [rdx]
sub eax, ecx
cdqe
sar r10, 1
cmp rax, r10
jge 0x140096137
mov dword [r14], reloc.OLEAUT32.dll_SafeArrayLock
jmp 0x140096151
add ecx, r10d
mov dword [rdx], ecx
mov eax, 1
jmp 0x140096156
mov dword [r14], reloc.WSOCK32.dll_gethostbyname
mov r8, qword [rbp + 0x100]
mov qword [r8], rdi
xor eax, eax
add rsp, 0x1a8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret