Function at 0x17e1e90
Capabilities:
Get thread local storage value

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x160
mov qword [rsp + 0x158], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov r12, rcx
xor r13d, r13d
mov qword [rax - 0x50], r13
mov rax, qword [0x039f1180]
mov ecx, dword [rax + 8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x17e1eda
lea rsi, [rax + 0x20]
jmp 0x17e1edd
mov rsi, r13
mov qword [rsp + 0x148], rsi
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VarBstrFromCy]
mov rbp, rax
mov qword [rsp + 0x150], rax
mov rbx, r13
lea rcx, [rsp + 0x40]
call fcn.0116d180
nop
lea rax, [0x01165c20]
mov qword [rsp + 0x58], rax
lea rdi, [0x01000000]
lea rcx, [rdi + 0x4f0d0]
mov qword [rsp + 0x40], rcx
lea rax, [0x0109b930]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], r13
lea r14, [0x0104ef20]
mov qword [rsp + 0x40], r14
lea r15, [0x0109b930]
mov qword [rsp + 0x58], r15
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.0116cfa0
xor edx, edx
lea rcx, [rsp + 0x40]
mov rax, qword [rsp + 0x40]
call qword [rax + 0x180]
nop
mov edx, dword [reloc.OLEAUT32.dll_VariantInit]
and edx, 7
lea rax, [rdx + rdx*2]
movzx ecx, byte [rdi + rax*2 + 0x173e9d]
movzx eax, byte [rdi + rax*2 + 0x173e9c]
add eax, ecx
cdqe
movabs r8, 0x7fffffffffffffff
mov rcx, r8
sub rcx, rax
shr rcx, 1
sub rcx, 1
cmp rcx, 0x100
jge 0x17e2001
lea r8, [0x017e35d8]
mov edx, 0x8dc
lea rcx, [0x01580f90]
call fcn.017eea00
mov edi, eax
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rsi + 0x30]
mov r8, qword [rcx]
mov rdx, rbp
call qword [r8 + 0x78]
jmp 0x17e3567
lea rax, [rdx + rdx*2]
movzx ecx, byte [rdi + rax*2 + 0x173e9d]
movzx eax, byte [rdi + rax*2 + 0x173e9c]
add ecx, eax
movsxd rdi, ecx
add rdi, 0x202
mov rcx, qword [rsi + 0x30]
cmp rdi, r8
jae 0x17e3527
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + SafeArrayCopy]
test rax, rax
je 0x17e3527
mov rcx, qword [rsi + 0x28]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], rdi
lea rcx, [rsp + 0x1a8]
call fcn.0116a950
nop
mov r9, qword [rsi + 0x40]
xor r8d, r8d
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x1a8]
call fcn.0118a2d0
mov edi, eax
test eax, eax
jns 0x17e20ba
lea rcx, [rsp + 0x1a8]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x17e3567
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x80]
call fcn.0118c100
nop
mov edx, dword [reloc.OLEAUT32.dll_VariantInit]
and edx, 7
lea rax, [rdx + rdx*2]
lea r9, [0x01000000]
movzx ecx, byte [r9 + rax*2 + 0x173e9d]
movzx eax, byte [r9 + rax*2 + 0x173e9c]
add eax, ecx
cdqe
movabs r8, 0x7fffffffffffffff
mov rcx, r8
sub rcx, rax
shr rcx, 1
sub rcx, 1
cmp rcx, 0x100
jge 0x17e2184
lea r8, [0x017e35d8]
mov edx, 0x8dd
lea rcx, [0x01580f90]
call fcn.017eea00
mov edi, eax
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x98], r15
lea rcx, [rsp + 0x80]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1a8]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x17e3567
lea rax, [rdx + rdx*2]
movzx ecx, byte [r9 + rax*2 + 0x173e9d]
movzx eax, byte [r9 + rax*2 + 0x173e9c]
add ecx, eax
movsxd rdi, ecx
add rdi, 0x202
mov rcx, qword [rsi + 0x30]
cmp rdi, r8
jae 0x17e34b9
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + SafeArrayCopy]
test rax, rax
je 0x17e34b9
mov rcx, qword [rsi + 0x28]
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0xb8], rdi
lea rcx, [rsp + 0x1b0]
call fcn.0116a950
nop
mov r9, qword [rsi + 0x40]
xor r8d, r8d
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x1b0]
call fcn.0118a2d0
mov edi, eax
test eax, eax
jns 0x17e227a
lea rcx, [rsp + 0x1b0]
call fcn.0116a920
nop
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x98], r15
lea rcx, [rsp + 0x80]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1a8]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x17e3567
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0xc0]
call fcn.0118c100
nop
mov edx, dword [reloc.OLEAUT32.dll_VariantInit]
and edx, 7
lea rax, [rdx + rdx*2]
lea r8, [0x01000000]
movzx ecx, byte [r8 + rax*2 + 0x173e9d]
movzx eax, byte [r8 + rax*2 + 0x173e9c]
add eax, ecx
cdqe
movabs r9, 0x7fffffffffffffff
mov rcx, r9
sub rcx, rax
shr rcx, 1
sub rcx, 1
cmp rcx, 0x100
jge 0x17e2374
lea r8, [0x017e35d8]
mov edx, 0x8de
lea rcx, [0x01580f90]
call fcn.017eea00
mov edi, eax
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xd8], r15
lea rcx, [rsp + 0xc0]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b0]
call fcn.0116a920
nop
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x98], r15
lea rcx, [rsp + 0x80]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1a8]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x17e3567
lea rax, [rdx + rdx*2]
movzx ecx, byte [r8 + rax*2 + 0x173e9d]
movzx eax, byte [r8 + rax*2 + 0x173e9c]
add ecx, eax
movsxd rdi, ecx
add rdi, 0x202
mov rcx, qword [rsi + 0x30]
cmp rdi, r9
jae 0x17e341c
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + SafeArrayCopy]
test rax, rax
je 0x17e341c
mov rcx, qword [rsi + 0x28]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], r13
mov qword [rsp + 0xf8], rdi
lea rcx, [rsp + 0x1b8]
call fcn.0116a950
nop
mov r9, qword [rsi + 0x40]
xor r8d, r8d
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0x1b8]
call fcn.0118a2d0
mov edi, eax
test eax, eax
jns 0x17e249a
lea rcx, [rsp + 0x1b8]
call fcn.0116a920
nop
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xd8], r15
lea rcx, [rsp + 0xc0]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b0]
call fcn.0116a920
nop
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x98], r15
lea rcx, [rsp + 0x80]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1a8]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x17e3567
mov r8, qword [0x039f11b0]
cmp qword [r8 + 0x168], 0
je 0x17e24b4
mov rax, qword [r8 + 0x168]
jmp 0x17e24b7
mov rax, r8
movzx eax, byte [rax + 0x248]
shr al, 2
test al, 1
jne 0x17e2648
mov rcx, r8
call fcn.017cfcb0
test al, al
jne 0x17e2648
mov r9d, 7
xor r8d, r8d
lea rdx, [0x01580bc0]
lea rcx, [rsp + 0x1a8]
call fcn.0118a4d0
mov edi, eax
test eax, eax
cmovns edi, r13d
test edi, edi
jns 0x17e2593
lea rcx, [rsp + 0x1b8]
call fcn.0116a920
nop
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xd8], r15
lea rcx, [rsp + 0xc0]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b0]
call fcn.0116a920
nop
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x98], r15
lea rcx, [rsp + 0x80]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1a8]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x17e3567
mov rdx, qword [0x039f11b0]
add rdx, 0x258
xor r8d, r8d
lea rcx, [rsp + 0x1a8]
call fcn.012859b0
mov edi, eax
test eax, eax
jns 0x17e2730
lea rcx, [rsp + 0x1b8]
call fcn.0116a920
nop
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xd8], r15
lea rcx, [rsp + 0xc0]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b0]
call fcn.0116a920
nop
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x98], r15
lea rcx, [rsp + 0x80]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1a8]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x17e3567
lea rdx, [r8 + 0x258]
mov r8, r13
cmp qword [rsp + 0x1a8], r13
jne 0x17e2680
mov r8, qword [rdx]
mov al, byte [r8 - 5]
and eax, 7
lea rcx, [rax + rax*2]
lea r9, [0x01000000]
movzx eax, byte [r9 + rcx*2 + 0x173e9a]
sub r8, rax
mov r8, qword [r8]
mov r9d, 7
lea rcx, [rsp + 0x1a8]
call fcn.01174350
mov edi, eax
test eax, eax
cmovns edi, r13d
test edi, edi
jns 0x17e2730
lea rcx, [rsp + 0x1b8]
call fcn.0116a920
nop
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xd8], r15
lea rcx, [rsp + 0xc0]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b0]
call fcn.0116a920
nop
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x98], r15
lea rcx, [rsp + 0x80]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1a8]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x17e3567
lea r8, [rsp + 0x1b0]
mov edx, reloc.OLEAUT32.dll_VarI4FromDisp
mov rcx, r12
call fcn.017cf920
mov edi, eax
test eax, eax
jns 0x17e27dc
lea rcx, [rsp + 0x1b8]
call fcn.0116a920
nop
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xd8], r15
lea rcx, [rsp + 0xc0]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b0]
call fcn.0116a920
nop
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x98], r15
lea rcx, [rsp + 0x80]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1a8]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x17e3567
lea r8, [rsp + 0x1b8]
mov edx, 0x46
mov rcx, r12
call fcn.017cf920
mov edi, eax
test eax, eax
jns 0x17e2888
lea rcx, [rsp + 0x1b8]
call fcn.0116a920
nop
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xd8], r15
lea rcx, [rsp + 0xc0]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b0]
call fcn.0116a920
nop
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x98], r15
lea rcx, [rsp + 0x80]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1a8]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x17e3567
mov r13d, dword [0x039f3468]
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x100]
call fcn.0118c100
nop
mov edx, dword [reloc.OLEAUT32.dll_VariantInit]
and edx, 7
lea rax, [rdx + rdx*2]
lea r8, [0x01000000]
movzx ecx, byte [r8 + rax*2 + 0x173e9d]
movzx eax, byte [r8 + rax*2 + 0x173e9c]
add eax, ecx
cdqe
movabs r9, 0x7fffffffffffffff
mov rcx, r9
sub rcx, rax
shr rcx, 1
sub rcx, 1
cmp rcx, 0x100
jge 0x17e29b5
lea r8, [0x017e35d8]
mov edx, 0x911
lea rcx, [0x01580f90]
call fcn.017eea00
mov edi, eax
mov qword [rsp + 0x100], r14
mov qword [rsp + 0x118], r15
lea rcx, [rsp + 0x100]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b8]
call fcn.0116a920
nop
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xd8], r15
lea rcx, [rsp + 0xc0]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b0]
call fcn.0116a920
nop
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x98], r15
lea rcx, [rsp + 0x80]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1a8]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x17e3567
lea rax, [rdx + rdx*2]
movzx ecx, byte [r8 + rax*2 + 0x173e9d]
movzx eax, byte [r8 + rax*2 + 0x173e9c]
add ecx, eax
movsxd rdi, ecx
add rdi, 0x202
mov rcx, qword [rsi + 0x30]
cmp rdi, r9
jae 0x17e3354
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + SafeArrayCopy]
test rax, rax
je 0x17e3354
mov rcx, qword [rsi + 0x28]
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x138], rdi
lea rcx, [rsp + 0x30]
call fcn.0116a950
nop
mov r9, qword [rsi + 0x40]
xor r8d, r8d
lea rdx, [rsp + 0x118]
lea rcx, [rsp + 0x30]
call fcn.0118a2d0
mov edi, eax
test eax, eax
jns 0x17e2b02
lea rcx, [rsp + 0x30]
call fcn.0116a920
nop
mov qword [rsp + 0x100], r14
mov qword [rsp + 0x118], r15
lea rcx, [rsp + 0x100]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b8]
call fcn.0116a920
nop
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xd8], r15
lea rcx, [rsp + 0xc0]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b0]
call fcn.0116a920
nop
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x98], r15
lea rcx, [rsp + 0x80]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1a8]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x17e3567
lea r8, [rsp + 0x30]
mov edx, 0x42
mov rcx, r12
call fcn.017cf920
mov edi, eax
test eax, eax
jns 0x17e2bd4
lea rcx, [rsp + 0x30]
call fcn.0116a920
nop
mov qword [rsp + 0x100], r14
mov qword [rsp + 0x118], r15
lea rcx, [rsp + 0x100]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b8]
call fcn.0116a920
nop
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xd8], r15
lea rcx, [rsp + 0xc0]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b0]
call fcn.0116a920
nop
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x98], r15
lea rcx, [rsp + 0x80]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1a8]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x17e3567
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x17e2bef
movzx eax, byte [rcx - 5]
test al, 0x40
jne 0x17e2bea
test al, 0x20
je 0x17e2bf1
mov rcx, qword [rcx]
jmp 0x17e2bf1
xor ecx, ecx
lea rdx, [0x01293638]
call qword [sym.imp.MSVCR80.dll_wcsstr]
test rax, rax
jne 0x17e2c32
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x17e2c1e
movzx eax, byte [rcx - 5]
test al, 0x40
jne 0x17e2c19
test al, 0x20
je 0x17e2c20
mov rcx, qword [rcx]
jmp 0x17e2c20
xor ecx, ecx
lea rdx, [0x017e35c8]
call qword [sym.imp.MSVCR80.dll_wcsstr]
test rax, rax
je 0x17e2c37
mov ebx, 1
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x17e2c52
movzx eax, byte [rcx - 5]
test al, 0x40
jne 0x17e2c4d
test al, 0x20
je 0x17e2c54
mov rcx, qword [rcx]
jmp 0x17e2c54
xor ecx, ecx
lea rdx, [0x017e35b8]
call qword [sym.imp.MSVCR80.dll_wcsstr]
test rax, rax
jne 0x17e2c95
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x17e2c81
movzx eax, byte [rcx - 5]
test al, 0x40
jne 0x17e2c7c
test al, 0x20
je 0x17e2c83
mov rcx, qword [rcx]
jmp 0x17e2c83
xor ecx, ecx
lea rdx, [0x017e35a8]
call qword [sym.imp.MSVCR80.dll_wcsstr]
test rax, rax
je 0x17e2c99
or rbx, 4
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x17e2cb4
movzx eax, byte [rcx - 5]
test al, 0x40
jne 0x17e2caf
test al, 0x20
je 0x17e2cb6
mov rcx, qword [rcx]
jmp 0x17e2cb6
xor ecx, ecx
lea rdx, [0x017e3598]
call qword [sym.imp.MSVCR80.dll_wcsstr]
test rax, rax
jne 0x17e2cf7
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x17e2ce3
movzx eax, byte [rcx - 5]
test al, 0x40
jne 0x17e2cde
test al, 0x20
je 0x17e2ce5
mov rcx, qword [rcx]
jmp 0x17e2ce5
xor ecx, ecx
lea rdx, [0x017e3588]
call qword [sym.imp.MSVCR80.dll_wcsstr]
test rax, rax
je 0x17e2cfb
or rbx, 8
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x17e2d16
movzx eax, byte [rcx - 5]
test al, 0x40
jne 0x17e2d11
test al, 0x20
je 0x17e2d18
mov rcx, qword [rcx]
jmp 0x17e2d18
xor ecx, ecx
lea rdx, [0x012c5260]
call qword [sym.imp.MSVCR80.dll_wcsstr]
test rax, rax
jne 0x17e2d59
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x17e2d45
movzx eax, byte [rcx - 5]
test al, 0x40
jne 0x17e2d40
test al, 0x20
je 0x17e2d47
mov rcx, qword [rcx]
jmp 0x17e2d47
xor ecx, ecx
lea rdx, [0x0156ea20]
call qword [sym.imp.MSVCR80.dll_wcsstr]
test rax, rax
je 0x17e2d5d
or rbx, 2
mov rdx, qword [rsp + 0x1a8]
test rdx, rdx
je 0x17e2d7b
movzx eax, byte [rdx - 5]
test al, 0x40
jne 0x17e2d76
test al, 0x20
je 0x17e2d7d
mov rdx, qword [rdx]
jmp 0x17e2d7d
xor edx, edx
mov rax, qword [r12]
mov r8, rbx
and r8, 0xfffffffffffffffd
mov r9d, r13d
mov rcx, r12
call qword [rax + 0x28]
mov edi, eax
test eax, eax
jns 0x17e2e51
lea rcx, [rsp + 0x30]
call fcn.0116a920
nop
mov qword [rsp + 0x100], r14
mov qword [rsp + 0x118], r15
lea rcx, [rsp + 0x100]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b8]
call fcn.0116a920
nop
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xd8], r15
lea rcx, [rsp + 0xc0]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b0]
call fcn.0116a920
nop
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x98], r15
lea rcx, [rsp + 0x80]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1a8]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x17e3567
mov rdx, qword [rsp + 0x1b0]
test rdx, rdx
je 0x17e2e6f
movzx eax, byte [rdx - 5]
test al, 0x40
jne 0x17e2e6a
test al, 0x20
je 0x17e2e71
mov rdx, qword [rdx]
jmp 0x17e2e71
xor edx, edx
mov rax, qword [r12]
mov r8b, bl
and r8d, 2
mov r9d, r13d
mov rcx, r12
call qword [rax + 0x28]
mov edi, eax
test eax, eax
jns 0x17e2f45
lea rcx, [rsp + 0x30]
call fcn.0116a920
nop
mov qword [rsp + 0x100], r14
mov qword [rsp + 0x118], r15
lea rcx, [rsp + 0x100]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b8]
call fcn.0116a920
nop
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xd8], r15
lea rcx, [rsp + 0xc0]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b0]
call fcn.0116a920
nop
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x98], r15
lea rcx, [rsp + 0x80]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1a8]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x17e3567
mov qword [r12 + 0x110], rbx
mov rax, qword [rsp + 0x1b8]
test rax, rax
je 0x17e329c
test byte [rax - 5], 0x40
jne 0x17e2f6a
movsxd rcx, dword [rax - 4]
jmp 0x17e2f75
mov rcx, qword [rax]
call qword [sym.imp.OLEAUT32.dll_SysAllocStringByteLen]
mov ecx, eax
shr rcx, 1
test rcx, rcx
jle 0x17e329c
xor ebx, ebx
mov qword [rsp + 0x140], rbx
mov rax, qword [0x039f4eb0]
test rax, rax
je 0x17e2fa0
lea rdx, [rax + 0xc0]
jmp 0x17e2fa3
mov rdx, rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
lea rcx, [rsp + 0x140]
call fcn.017cc380
mov edi, eax
test eax, eax
jns 0x17e3094
mov rcx, qword [rsp + 0x140]
test rcx, rcx
je 0x17e2fde
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x30]
call fcn.0116a920
nop
mov qword [rsp + 0x100], r14
mov qword [rsp + 0x118], r15
lea rcx, [rsp + 0x100]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b8]
call fcn.0116a920
nop
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xd8], r15
lea rcx, [rsp + 0xc0]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b0]
call fcn.0116a920
nop
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x98], r15
lea rcx, [rsp + 0x80]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1a8]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x17e3567
mov rdx, qword [rsp + 0x1b8]
test rdx, rdx
je 0x17e30b2
movzx eax, byte [rdx - 5]
test al, 0x40
jne 0x17e30ad
test al, 0x20
je 0x17e30b5
mov rdx, qword [rdx]
jmp 0x17e30b5
mov rdx, rbx
mov rbx, qword [rsp + 0x140]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x1a8]
mov edi, eax
test eax, eax
jns 0x17e3193
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x30]
call fcn.0116a920
nop
mov qword [rsp + 0x100], r14
mov qword [rsp + 0x118], r15
lea rcx, [rsp + 0x100]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b8]
call fcn.0116a920
nop
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xd8], r15
lea rcx, [rsp + 0xc0]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b0]
call fcn.0116a920
nop
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x98], r15
lea rcx, [rsp + 0x80]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1a8]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x17e3567
mov rax, qword [rbx]
mov r8b, 1
mov edx, r13d
mov rcx, rbx
call qword [rax + 0x1b0]
mov edi, eax
test eax, eax
jns 0x17e326f
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x30]
call fcn.0116a920
nop
mov qword [rsp + 0x100], r14
mov qword [rsp + 0x118], r15
lea rcx, [rsp + 0x100]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b8]
call fcn.0116a920
nop
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xd8], r15
lea rcx, [rsp + 0xc0]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b0]
call fcn.0116a920
nop
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x98], r15
lea rcx, [rsp + 0x80]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1a8]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x17e3567
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov rcx, qword [r12 + 0x128]
test rcx, rcx
je 0x17e328b
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov qword [r12 + 0x128], rbx
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
xor edi, edi
lea rcx, [rsp + 0x30]
call fcn.0116a920
nop
mov qword [rsp + 0x100], r14
mov qword [rsp + 0x118], r15
lea rcx, [rsp + 0x100]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b8]
call fcn.0116a920
nop
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xd8], r15
lea rcx, [rsp + 0xc0]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b0]
call fcn.0116a920
nop
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x98], r15
lea rcx, [rsp + 0x80]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1a8]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x17e3567
mov qword [rsp + 0x20], 0x1000000f
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 0xc1030001
call fcn.0124e580
mov edi, eax
mov qword [rsp + 0x100], r14
mov qword [rsp + 0x118], r15
lea rcx, [rsp + 0x100]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b8]
call fcn.0116a920
nop
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xd8], r15
lea rcx, [rsp + 0xc0]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b0]
call fcn.0116a920
nop
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x98], r15
lea rcx, [rsp + 0x80]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1a8]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x17e3567
mov qword [rsp + 0x20], 0x1000000f
xor r9d, r9d
xor r8d, r8d
mov edx, r13d
mov ecx, 0xc1030001
call fcn.0124e580
mov edi, eax
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xd8], r15
lea rcx, [rsp + 0xc0]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1b0]
call fcn.0116a920
nop
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x98], r15
lea rcx, [rsp + 0x80]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1a8]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x17e3567
mov qword [rsp + 0x20], 0x1000000f
xor r9d, r9d
xor r8d, r8d
mov edx, r13d
mov ecx, 0xc1030001
call fcn.0124e580
mov edi, eax
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x98], r15
lea rcx, [rsp + 0x80]
call fcn.0116d120
nop
lea rcx, [rsp + 0x1a8]
call fcn.0116a920
nop
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
jmp 0x17e3567
mov qword [rsp + 0x20], 0x1000000f
xor r9d, r9d
xor r8d, r8d
mov edx, r13d
mov ecx, 0xc1030001
call fcn.0124e580
mov edi, eax
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x40]
call fcn.0116d120
nop
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rdx, rbp
call qword [rax + 0x78]
mov eax, edi
mov rbx, qword [rsp + 0x1a0]
add rsp, 0x160
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret