Function at 0x12d68c0
Capabilities:
Get thread local storage value

Disassembly:
mov rdi, r13
jmp 0x12d691b
mov ebx, r13d
mov rcx, qword [rdi + 0x30]
mov r8, qword [rcx]
mov rdx, rax
call qword [r8 + 0x78]
jmp 0x12d69e4
mov ebx, r13d
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
mov ebx, r13d
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
mov rax, qword [rsp + 0x48]
jmp 0x12d698d
mov rax, qword [rsp + 0x48]
jmp 0x12d698d
mov qword [rsp + 0x148], 0
lea rdx, [rsp + 0x148]
mov rcx, r13
call fcn.01284cb0
mov ebx, eax
test eax, eax
js 0x12a838d
mov rax, qword [rsp + 0x148]
mov dword [rax + 0x10], ebp
xor ebx, ebx
test ebx, ebx
jns 0x12a83bc
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a83aa
xor r8d, r8d
mov rcx, r13
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
mov r13, qword [rsp + 0x148]
mov r8d, dword [r12]
mov edx, dword [r13 + 0x10]
lea eax, [rdx - 0xfffa]
cmp eax, 4
jbe 0x12a8409
movzx eax, dl
add al, al
mov ecx, 1
sub cl, al
and cl, 7
imul edx, edx, 0x2e
lea eax, [rdx + 1]
shr rax, 3
lea r9, [0x039f5200]
movzx edx, byte [rax + r9 + 0x10d]
shr dl, cl
test dl, 1
je 0x12a841b
jmp 0x12a8410
lea r9, [0x039f5200]
mov word [r13 + 0x30], 3
mov dword [r13 + 0x38], r8d
mov r8d, dword [r12 + 0x38]
mov edx, dword [r13 + 0x10]
lea eax, [rdx - 0xfffa]
cmp eax, 4
jbe 0x12a8458
movzx eax, dl
add al, al
mov ecx, 0xff
sub cl, al
and cl, 7
imul edx, edx, 0x2e
lea eax, [rdx + 7]
shr rax, 3
movzx edx, byte [rax + r9 + 0x10d]
shr dl, cl
test dl, 1
je 0x12a8469
mov word [r13 + 0xc0], 3
mov dword [r13 + 0xc8], r8d
test r15, r15
je 0x12a867e
mov rcx, qword [rsp + 0x140]
mov r14, qword [rcx + 0x70]
test r14, r14
je 0x12a85b8
mov rcx, qword [r14 + 0xe8]
test rcx, rcx
je 0x12a84d4
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x3e8]
mov ebx, eax
test eax, eax
jns 0x12a84d4
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a84c2
xor r8d, r8d
lea rcx, [0x039f5200]
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
cmp ebp, 5
je 0x12a84e7
cmp ebp, 6
je 0x12a84e7
cmp ebp, 8
jne 0x12a85b8
mov rcx, qword [r14 + 0x248]
test rcx, rcx
je 0x12a853f
cmp qword [rcx + 0x68], 0
je 0x12a853f
mov rcx, qword [rcx + 0x68]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x200]
mov ebx, eax
test eax, eax
jns 0x12a853f
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a852d
xor r8d, r8d
lea rcx, [0x039f5200]
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
mov rcx, qword [r12 + 8]
test rcx, rcx
je 0x12a8553
call fcn.015d14f0
mov rcx, rax
jmp 0x12a8565
mov rcx, qword [r12 + 0x10]
test rcx, rcx
je 0x12a85b8
call fcn.015d14f0
mov rcx, rax
test rcx, rcx
je 0x12a85b8
mov rax, qword [rcx]
call qword [rax + VarOr]
mov r8, rax
mov edx, 0x1c
mov rcx, r13
call fcn.012847d0
mov ebx, eax
test eax, eax
jns 0x12a85b8
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a85a6
xor r8d, r8d
lea rcx, [0x039f5200]
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
xor r8d, r8d
mov ecx, dword [r15 + 0x40]
sub ecx, 1
je 0x12a85ee
sub ecx, 1
je 0x12a85e5
sub ecx, 1
je 0x12a85dc
cmp ecx, 1
jne 0x12a85f5
lea r8, [0x0156e790]
jmp 0x12a85f5
lea r8, [0x0156e750]
jmp 0x12a85f5
lea r8, [0x013da888]
jmp 0x12a85f5
lea r8, [0x0156e740]
mov edx, dword [r13 + 0x10]
lea eax, [rdx - 0xfffa]
cmp eax, 4
jbe 0x12a8631
mov ecx, edx
imul ecx, ecx, 0x2e
add ecx, 8
shr rcx, 3
mov al, 0xfe
imul dl
and al, 7
lea rbp, [0x039f5200]
movzx edx, byte [rcx + rbp + 0x10d]
movzx ecx, al
shr dl, cl
test dl, 1
je 0x12a8679
jmp 0x12a8638
lea rbp, [0x039f5200]
or r9d, 0xffffffff
lea edx, [r9 + 9]
mov rcx, r13
call fcn.01284e60
mov ebx, eax
test eax, eax
jns 0x12a8679
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a8667
xor r8d, r8d
mov rcx, rbp
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
mov r14, qword [rsp + 0x50]
mov rbp, qword [r12 + 0x10]
test rbp, rbp
jne 0x12a8696
mov rbp, qword [r12 + 8]
test rbp, rbp
je 0x12a88db
test rbp, rbp
je 0x12a88e5
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 0xd8]
mov r11d, eax
mov r8d, dword [r13 + 0x10]
lea ecx, [r8 - 0xfffa]
cmp ecx, 4
jbe 0x12a86f1
mov edx, r8d
imul edx, edx, 0x2e
add edx, 0xc
shr rdx, 3
mov ecx, 0xfe
sub cl, r8b
add cl, cl
and cl, 7
lea r15, [0x039f5200]
movzx eax, byte [rdx + r15 + 0x10d]
shr al, cl
test al, 1
je 0x12a8709
jmp 0x12a86f8
lea r15, [0x039f5200]
mov word [r13 + 0x138], 3
mov dword [r13 + 0x140], r11d
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + reloc.OLEAUT32.dll_VarFix]
mov r8, rax
mov edx, VariantTimeToDosDateTime
mov rcx, r13
call fcn.012847d0
mov ebx, eax
test eax, eax
jns 0x12a8757
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a8745
xor r8d, r8d
mov rcx, r15
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + VarOr]
mov r8, rax
mov edx, reloc.WS2_32.dll_listen
mov rcx, r13
call fcn.012847d0
mov ebx, eax
test eax, eax
jns 0x12a87a5
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a8793
xor r8d, r8d
mov rcx, r15
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
mov edx, reloc.WS2_32.dll_ntohl
mov rcx, r13
call fcn.01284b70
test al, al
je 0x12a88ef
lea rcx, [rsp + 0x40]
call fcn.0116a950
nop
mov r15, qword [rsp + 0x140]
mov rax, qword [r15 + 0x68]
test rax, rax
je 0x12a87dc
mov rdx, qword [rax + 0x28]
jmp 0x12a87de
xor edx, edx
xor r8d, r8d
lea rcx, [rsp + 0x40]
call fcn.01174500
mov ebx, eax
test eax, eax
jns 0x12a882b
lea rcx, [rsp + 0x40]
call fcn.0116a920
nop
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a8819
xor r8d, r8d
lea rcx, [0x039f5200]
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
mov rax, qword [rbp]
lea rdx, [rsp + 0x40]
mov rcx, rbp
call qword [rax + 0x1f8]
mov ebx, eax
test eax, eax
jns 0x12a887d
lea rcx, [rsp + 0x40]
call fcn.0116a920
nop
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a886b
xor r8d, r8d
lea rcx, [0x039f5200]
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
lea r8, [rsp + 0x40]
mov edx, reloc.WS2_32.dll_ntohl
mov rcx, r13
call fcn.012847d0
mov ebx, eax
test eax, eax
jns 0x12a88cf
lea rcx, [rsp + 0x40]
call fcn.0116a920
nop
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a88bd
xor r8d, r8d
lea rcx, [0x039f5200]
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
lea rcx, [rsp + 0x40]
call fcn.0116a920
jmp 0x12a88f7
mov r15, qword [rsp + 0x140]
jmp 0x12a88f7
mov r15, qword [rsp + 0x140]
jmp 0x12a88f7
mov r15, qword [rsp + 0x140]
cmp qword [r12 + 0x10], 0
jne 0x12a894a
mov rcx, qword [r12 + 8]
test rcx, rcx
je 0x12a894a
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x370]
mov ebx, eax
test eax, eax
jns 0x12a894a
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a8938
xor r8d, r8d
lea rcx, [0x039f5200]
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
mov edx, dword [r13 + 0x10]
lea eax, [rdx - 0xfffa]
cmp eax, 4
jbe 0x12a898a
movzx eax, dl
add al, al
mov ecx, 2
sub cl, al
and cl, 7
imul edx, edx, 0x2e
lea eax, [rdx + 0xa]
shr rax, 3
lea rbp, [0x039f5200]
movzx edx, byte [rax + rbp + 0x10d]
shr dl, cl
test dl, 1
je 0x12a89a9
jmp 0x12a8991
lea rbp, [0x039f5200]
mov word [r13 + 0x108], 3
mov eax, dword [rsp + 0x160]
mov dword [r13 + 0x110], eax
mov r8d, dword [r12 + 0x40]
mov edx, 9
mov rcx, r13
call fcn.013db900
mov ebx, eax
test eax, eax
jns 0x12a89ec
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a89da
xor r8d, r8d
mov rcx, rbp
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
mov r8, qword [r12 + 0x50]
mov edx, 3
mov rcx, r13
call fcn.013db6f0
mov ebx, eax
test eax, eax
jns 0x12a8a2f
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a8a1d
xor r8d, r8d
mov rcx, rbp
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
mov r8, qword [rsp + 0x48]
mov edx, 4
mov rcx, r13
call fcn.013db6f0
mov ebx, eax
test eax, eax
jns 0x12a8a72
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a8a60
xor r8d, r8d
mov rcx, rbp
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
mov r8, r14
mov edx, 5
mov rcx, r13
call fcn.0134b7c0
mov ebx, eax
test eax, eax
jns 0x12a8ab3
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a8aa1
xor r8d, r8d
mov rcx, rbp
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
mov rcx, qword [r15 + 0x70]
call fcn.013db960
mov r8, rax
mov edx, 6
mov rcx, r13
call fcn.0134b7c0
mov ebx, eax
test eax, eax
jns 0x12a8afd
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a8aeb
xor r8d, r8d
mov rcx, rbp
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
xor r14d, r14d
mov r8d, r14d
mov ebp, dword [rsp + 0x168]
test ebp, ebp
setns r8b
lea edx, [r14 + 0x17]
mov rcx, r13
call fcn.013db900
mov ebx, eax
test eax, eax
jns 0x12a8b51
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a8b3f
xor r8d, r8d
lea rcx, [0x039f5200]
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
mov r8d, ebp
mov edx, SafeArrayCopy
mov rcx, r13
call fcn.013db900
mov ebx, eax
test eax, eax
jns 0x12a8b96
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a8b84
xor r8d, r8d
lea rcx, [0x039f5200]
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
mov edx, ebp
mov rcx, qword [0x039f11b0]
call fcn.01348f30
mov r8d, eax
mov edx, socket
mov rcx, r13
call fcn.013db900
mov ebx, eax
test eax, eax
jns 0x12a8be9
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a8bd7
xor r8d, r8d
lea rcx, [0x039f5200]
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
mov edx, VarNumFromParseNum
mov rcx, r13
call fcn.01284b70
test al, al
je 0x12a947b
mov r15d, dword [rsp + 0x178]
test r15d, r15d
je 0x12a93ea
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x60]
call fcn.0118c100
nop
mov edx, dword [reloc.OLEAUT32.dll_VariantInit]
and edx, 7
lea rax, [rdx + rdx*2]
lea r8, [0x01173e98]
movzx ecx, byte [r8 + rax*2 + 5]
movzx eax, byte [r8 + rax*2 + 4]
add eax, ecx
cdqe
movabs r9, 0x7fffffffffffffff
mov rcx, r9
sub rcx, rax
shr rcx, 1
sub rcx, 1
cmp rcx, 0x200
jge 0x12a8ccf
lea r8, [0x012a9510]
mov edx, 0x6f7
lea rcx, [0x015872e0]
call fcn.017eea00
mov ebx, eax
lea rbp, [0x0104ef20]
mov qword [rsp + 0x60], rbp
lea r12, [0x0109b930]
mov qword [rsp + 0x78], r12
lea rcx, [rsp + 0x60]
call fcn.0116d120
nop
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a8cbd
xor r8d, r8d
lea rcx, [0x039f5200]
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
lea rax, [rdx + rdx*2]
movzx ecx, byte [r8 + rax*2 + 5]
movzx eax, byte [r8 + rax*2 + 4]
add ecx, eax
movsxd rbx, ecx
add rbx, 0x402
mov rcx, qword [rdi + 0x30]
cmp rbx, r9
jae 0x12a937a
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + SafeArrayCopy]
test rax, rax
je 0x12a937a
mov rcx, qword [rdi + 0x28]
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x98], rbx
lea rcx, [rsp + 0x40]
call fcn.0116a950
nop
mov r9, qword [rdi + 0x40]
xor r8d, r8d
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x40]
call fcn.0118a2d0
mov ebx, eax
test eax, eax
jns 0x12a8db2
lea rcx, [rsp + 0x40]
call fcn.0116a920
nop
lea rbp, [0x0104ef20]
mov qword [rsp + 0x60], rbp
lea r12, [0x0109b930]
mov qword [rsp + 0x78], r12
lea rcx, [rsp + 0x60]
call fcn.0116d120
nop
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a8da0
xor r8d, r8d
lea rcx, [0x039f5200]
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
mov rax, qword [rsp + 0x188]
mov rcx, qword [rax]
test rcx, rcx
je 0x12a8dd8
movzx eax, byte [rcx - 5]
test al, 0x40
jne 0x12a8dce
test al, 0x20
je 0x12a8dd1
mov rcx, qword [rcx]
mov qword [rsp + 0x50], rcx
jmp 0x12a8ddd
mov qword [rsp + 0x50], r14
lea rbp, [0x0104ef20]
lea r12, [0x0109b930]
mov r14, qword [rsp + 0x180]
cmp r14, 0xffffffffffffffff
jne 0x12a8e96
xor r14d, r14d
mov qword [rsp + 0x28], r14
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [0x0156f348]
mov r8d, r15d
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x140]
mov rcx, qword [rcx + 0x70]
call fcn.02658300
mov ebx, eax
test eax, eax
jns 0x12a923a
lea rcx, [rsp + 0x40]
call fcn.0116a920
nop
lea rbp, [0x0104ef20]
mov qword [rsp + 0x60], rbp
lea r12, [0x0109b930]
mov qword [rsp + 0x78], r12
lea rcx, [rsp + 0x60]
call fcn.0116d120
nop
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a8e84
xor r8d, r8d
lea rcx, [0x039f5200]
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0xa0]
call fcn.0118c100
nop
mov edx, dword [reloc.OLEAUT32.dll_VariantInit]
and edx, 7
lea rax, [rdx + rdx*2]
lea r8, [0x01173e98]
movzx ecx, byte [r8 + rax*2 + 5]
movzx eax, byte [r8 + rax*2 + 4]
add eax, ecx
cdqe
movabs r9, 0x7fffffffffffffff
mov rcx, r9
sub rcx, rax
shr rcx, 1
sub rcx, 1
cmp rcx, 0x40
jge 0x12a8f83
lea r8, [0x012a9510]
mov edx, 0x701
lea rcx, [0x015872e0]
call fcn.017eea00
mov ebx, eax
lea rbp, [0x0104ef20]
mov qword [rsp + 0xa0], rbp
lea r12, [0x0109b930]
mov qword [rsp + 0xb8], r12
lea rcx, [rsp + 0xa0]
call fcn.0116d120
nop
lea rcx, [rsp + 0x40]
call fcn.0116a920
nop
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x78], r12
lea rcx, [rsp + 0x60]
call fcn.0116d120
nop
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a8f71
xor r8d, r8d
lea rcx, [0x039f5200]
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
lea rax, [rdx + rdx*2]
movzx ecx, byte [r8 + rax*2 + 5]
movzx eax, byte [r8 + rax*2 + 4]
add ecx, eax
movsxd rbx, ecx
add rbx, 0x82
mov rcx, qword [rdi + 0x30]
cmp rbx, r9
jae 0x12a92e2
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + SafeArrayCopy]
test rax, rax
je 0x12a92e2
mov rcx, qword [rdi + 0x28]
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xd8], rbx
lea rcx, [rsp + 0x48]
call fcn.0116a950
nop
mov r9, qword [rdi + 0x40]
xor r8d, r8d
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x48]
call fcn.0118a2d0
mov ebx, eax
test eax, eax
jns 0x12a909a
lea rcx, [rsp + 0x48]
call fcn.0116a920
nop
lea rbp, [0x0104ef20]
mov qword [rsp + 0xa0], rbp
lea r12, [0x0109b930]
mov qword [rsp + 0xb8], r12
lea rcx, [rsp + 0xa0]
call fcn.0116d120
nop
lea rcx, [rsp + 0x40]
call fcn.0116a920
nop
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x78], r12
lea rcx, [rsp + 0x60]
call fcn.0116d120
nop
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a9088
xor r8d, r8d
lea rcx, [0x039f5200]
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
xor r8d, r8d
mov edx, r14d
lea rcx, [rsp + 0x48]
call fcn.0132a760
mov ebx, eax
test eax, eax
jns 0x12a913a
lea rcx, [rsp + 0x48]
call fcn.0116a920
nop
lea rbp, [0x0104ef20]
mov qword [rsp + 0xa0], rbp
lea r12, [0x0109b930]
mov qword [rsp + 0xb8], r12
lea rcx, [rsp + 0xa0]
call fcn.0116d120
nop
lea rcx, [rsp + 0x40]
call fcn.0116a920
nop
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x78], r12
lea rcx, [rsp + 0x60]
call fcn.0116d120
nop
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a9128
xor r8d, r8d
lea rcx, [0x039f5200]
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
xor r14d, r14d
mov qword [rsp + 0x38], r14
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rax, [0x0156f348]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea r9, [0x012a9500]
mov r8d, r15d
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x140]
mov rcx, qword [rcx + 0x70]
call fcn.02658300
mov ebx, eax
test eax, eax
jns 0x12a9212
lea rcx, [rsp + 0x48]
call fcn.0116a920
nop
lea rbp, [0x0104ef20]
mov qword [rsp + 0xa0], rbp
lea r12, [0x0109b930]
mov qword [rsp + 0xb8], r12
lea rcx, [rsp + 0xa0]
call fcn.0116d120
nop
lea rcx, [rsp + 0x40]
call fcn.0116a920
nop
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x78], r12
lea rcx, [rsp + 0x60]
call fcn.0116d120
nop
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a9200
xor r8d, r8d
lea rcx, [0x039f5200]
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
lea rcx, [rsp + 0x48]
call fcn.0116a920
nop
mov qword [rsp + 0xa0], rbp
mov qword [rsp + 0xb8], r12
lea rcx, [rsp + 0xa0]
call fcn.0116d120
mov r8, qword [rsp + 0x40]
test r8, r8
je 0x12a9256
movzx eax, byte [r8 - 5]
test al, 0x40
jne 0x12a9251
test al, 0x20
je 0x12a9259
mov r8, qword [r8]
jmp 0x12a9259
mov r8, r14
or r9d, 0xffffffff
lea edx, [r9 + 0x2b]
mov rcx, r13
call fcn.01284e60
mov ebx, eax
test eax, eax
jns 0x12a92be
lea rcx, [rsp + 0x40]
call fcn.0116a920
nop
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x78], r12
lea rcx, [rsp + 0x60]
call fcn.0116d120
nop
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a92ac
xor r8d, r8d
lea rcx, [0x039f5200]
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
lea rcx, [rsp + 0x40]
call fcn.0116a920
nop
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x78], r12
lea rcx, [rsp + 0x60]
call fcn.0116d120
jmp 0x12a947b
mov qword [rsp + 0x20], 0x1000000f
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 0xc1030001
call fcn.0124e580
mov ebx, eax
lea rbp, [0x0104ef20]
mov qword [rsp + 0xa0], rbp
lea r12, [0x0109b930]
mov qword [rsp + 0xb8], r12
lea rcx, [rsp + 0xa0]
call fcn.0116d120
nop
lea rcx, [rsp + 0x40]
call fcn.0116a920
nop
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x78], r12
lea rcx, [rsp + 0x60]
call fcn.0116d120
nop
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a9368
xor r8d, r8d
lea rcx, [0x039f5200]
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
mov qword [rsp + 0x20], 0x1000000f
xor r9d, r9d
xor r8d, r8d
mov edx, r14d
mov ecx, 0xc1030001
call fcn.0124e580
mov ebx, eax
lea rbp, [0x0104ef20]
mov qword [rsp + 0x60], rbp
lea r12, [0x0109b930]
mov qword [rsp + 0x78], r12
lea rcx, [rsp + 0x60]
call fcn.0116d120
nop
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a93d8
xor r8d, r8d
lea rcx, [0x039f5200]
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
mov r8, qword [rsp + 0x170]
test r8, r8
jne 0x12a9436
mov rax, qword [rsp + 0x188]
mov r8, qword [rax]
test r8, r8
je 0x12a947b
movzx eax, byte [r8 - 5]
test al, 0x40
jne 0x12a9419
test al, 0x20
jne 0x12a9419
mov rax, r8
jmp 0x12a941c
mov rax, qword [r8]
test rax, rax
je 0x12a947b
movzx eax, byte [r8 - 5]
test al, 0x40
jne 0x12a942e
test al, 0x20
je 0x12a9431
mov r8, qword [r8]
test r8, r8
je 0x12a947b
or r9d, 0xffffffff
lea edx, [r9 + 0x2b]
mov rcx, r13
call fcn.01284e60
mov ebx, eax
test eax, eax
jns 0x12a947b
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a9469
xor r8d, r8d
lea rcx, [0x039f5200]
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
mov rdx, qword [rsp + 0x148]
lea rbp, [0x039f5200]
mov rcx, rbp
call fcn.01284d30
mov ebx, eax
mov rax, qword [rsp + 0x148]
test ebx, ebx
cmovns rax, r14
mov qword [rsp + 0x148], rax
test ebx, ebx
jns 0x12a94d9
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12a94c7
xor r8d, r8d
mov rcx, rbp
call fcn.012845f0
nop
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
jmp 0x12d69e4
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x12d69d4
xor r8d, r8d
mov rcx, rbp
call fcn.012845f0
jmp 0x12d69d4
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x100
mov qword [rsp + 0xf0], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov ebp, r9d
mov r15, r8
mov r12, rdx
mov rbx, rcx
xor r13d, r13d
mov qword [rax - 0x58], r13
mov rax, qword [0x039f1180]
mov ecx, dword [rax + 8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x12a8302
lea rdi, [rax + 0x20]
jmp 0x12d691b
mov qword [rsp + 0xe0], rdi
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VarBstrFromCy]
mov rsi, rax
mov qword [rsp + 0xe8], rax
cmp dword [r12], 0
je 0x12a830a
mov rax, qword [rbx + 0x70]
test byte [rax + 0x300], 0x80
je 0x12a8320
lea rcx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
cmp ebp, 5
je 0x12e020f
cmp ebp, 5
jbe 0x12a8354
cmp ebp, 8
ja 0x12a834a
cmp qword [r12 + 0x50], 0
je 0x12a8335
mov rax, qword [rsp + 0x48]
jmp 0x12d698d
mov r14, rax
sub r14, qword [r12 + 0x50]
mov qword [rsp + 0x50], r14
lea eax, [rbp - 0xfffa]
lea r13, [0x039f5200]
cmp eax, 4
jbe 0x12a835e
mov rax, rbp
shr rax, 3
movzx ecx, bpl
and cl, 7
movzx eax, byte [rax + r13 + 0x100]
shr al, cl
test al, 1
jne 0x12a835e
xor r14d, r14d
mov ebx, r14d
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x78]
mov eax, ebx
mov rbx, qword [rsp + 0x150]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [rsp + 0x48]
mov qword [r12 + 0x50], rax
jmp 0x12d698d