joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10005b410
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rax, qword [rsp + 0x50]
imul dx, dx, 0x64
mov rbx, rcx
mov qword [rcx + 0x10], rax
movzx eax, r8b
mov byte [rcx + 0x1a], r9b
add dx, ax
mov word [rcx + 0x18], dx
call fcn.100068a00
mov rdi, qword gs:[0x30]
mov rcx, rax
mov rsi, rax
add rdi, rax
call fcn.10006c530
test eax, eax
jne 0x10005b469
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, rax
test rdi, rdi
je 0x10005b47a
mov rcx, qword [rdi + 0xd8]
test rcx, rcx
jne 0x10005b4b1
call fcn.100063d30
call fcn.100068a00
mov rdi, qword gs:[0x30]
mov rcx, rax
mov rsi, rax
add rdi, rax
call fcn.10006c530
test eax, eax
jne 0x10005b4aa
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, rax
mov rcx, qword [rdi + 0xd8]
mov rax, qword [rcx + 0xe8]
mov qword [rbx + 8], rax
mov qword [rcx + 0xe8], rbx
call fcn.1000688c0
mov rsi, qword [rsp + 0x38]
xor rax, rbx
mov qword [rbx], rax
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

Function at 0x10005b4f0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rsi, rcx
call fcn.100068a00
mov rbx, qword gs:[0x30]
mov rcx, rax
mov rdi, rax
add rbx, rax
call fcn.10006c530
test eax, eax
jne 0x10005b52d
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
test rbx, rbx
je 0x10005b53e
mov rax, qword [rbx + 0xd8]
test rax, rax
jne 0x10005b575
call fcn.100063d30
call fcn.100068a00
mov rbx, qword gs:[0x30]
mov rcx, rax
mov rdi, rax
add rbx, rax
call fcn.10006c530
test eax, eax
jne 0x10005b56e
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
mov rax, qword [rbx + 0xd8]
mov rcx, qword [rsi + 8]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov qword [rax + 0xe8], rcx
add rsp, 0x20
pop rdi
ret
Function at 0x10005b5a0
Capabilities:
Access peb ldr_data
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rax, qword [rsp + 0x50]
mov rbx, rcx
mov dword [rcx], edx
mov qword [rcx + 8], rax
mov rax, qword [rsp + 0x58]
mov qword [rcx + 0x18], r8
mov qword [rcx + 0x10], rax
mov rax, qword [rsp + 0x60]
mov qword [rcx + 0x28], r9
mov qword [rcx + 0x20], rax
call fcn.100068a00
mov rdi, qword gs:[0x30]
mov rcx, rax
mov rsi, rax
add rdi, rax
call fcn.10006c530
test eax, eax
jne 0x10005b602
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, rax
test rdi, rdi
je 0x10005b63d
cmp qword [rdi + 0xe8], rdi
jne 0x10005b63d
call fcn.1001672c0
test eax, eax
je 0x10005b63d
call qword [0x1002aaa48]
test eax, eax
je 0x10005b63d
lea rcx, [rbx + 0x30]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp qword [0x1002aab88]
mov eax, dword [0x100003980]
mov rsi, qword [rsp + 0x38]
mov dword [rbx + 0x30], eax
mov eax, dword [0x100003984]
mov dword [rbx + 0x34], eax
mov eax, dword [0x100003988]
mov dword [rbx + 0x38], eax
mov eax, dword [0x10000398c]
mov dword [rbx + 0x3c], eax
mov eax, dword [0x100003990]
mov dword [rbx + 0x40], eax
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

Function at 0x10005c040
Capabilities:
Get thread local storage value

Disassembly:
mov r11, rsp
push rdi
sub rsp, 0x90
mov qword [r11 - 0x60], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov rbx, rdx
mov edi, ecx
mov ecx, 0x80004005
mov dword [rsp + 0x30], ecx
cmp qword [0x100246640], 0
je 0x10005c170
xor edx, edx
lea rax, [fcn.100062040]
mov qword [r11 - 0x78], rax
xor r9d, r9d
xor r8d, r8d
lea rcx, [r11 - 0x30]
call fcn.10005b410
nop
mov rcx, qword [0x100246640]
test rcx, rcx
jne 0x10005c0a6
mov ecx, 0x80004003
call fcn.10005fb00
mov rax, qword [rcx]
mov r9, qword [0x100246648]
mov r8, rbx
mov edx, edi
call qword [rax + 0x18]
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x10005c0dc
mov r9d, eax
lea r8, [0x100004600]
mov edx, 1
mov rcx, qword [0x10029b218]
call fcn.100156ed0
nop
lea rcx, [rsp + 0x68]
call fcn.10005b4f0
nop
call fcn.100068a00
mov rdi, rax
mov rbx, qword gs:[0x30]
add rbx, rax
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x10005c112
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
test rbx, rbx
je 0x10005c123
mov rax, qword [rbx + 0xd8]
test rax, rax
jne 0x10005c15a
call fcn.100063d30
call fcn.100068a00
mov rdi, rax
mov rbx, qword gs:[0x30]
add rbx, rax
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x10005c153
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
mov rax, qword [rbx + 0xd8]
cmp dword [rax + 0x204], 0
je 0x10005c168
call fcn.1000618f0
mov ecx, dword [rsp + 0x30]
test ecx, ecx
jns 0x10005c175
call fcn.1000c8a80
mov rbx, qword [rsp + 0xa0]
add rsp, 0x90
pop rdi
ret
Function at 0x10005c190
Capabilities:
Get thread local storage value

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x90
mov qword [rax - 0x68], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
test rcx, rcx
je 0x10005c1b4
mov ebx, dword [rcx]
jmp 0x10005c1b6
xor ebx, ebx
mov dword [rsp + 0xa0], ebx
xor edx, edx
lea rax, [0x100062180]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rcx, [rsp + 0x60]
call fcn.10005b410
nop
mov rcx, qword [0x100246620]
test rcx, rcx
je 0x10005c1ed
call fcn.100163430
cmp dword [0x10024662c], 0
je 0x10005c221
mov rcx, qword [0x100246640]
test rcx, rcx
sete al
test al, al
sete al
test al, al
je 0x10005c221
test rcx, rcx
jne 0x10005c21b
mov ecx, 0x80004003
call fcn.10005fb00
mov rax, qword [rcx]
call qword [rax + 0x20]
call qword [sym.imp.WS2_32.dll_WSACleanup]
nop
lea rcx, [rsp + 0x60]
call fcn.10005b4f0
nop
jmp 0x10005c23c
call fcn.100068a00
mov rsi, rax
mov rdi, qword gs:[0x30]
add rdi, rax
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x10005c267
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, rax
test rdi, rdi
je 0x10005c278
mov rax, qword [rdi + 0xd8]
test rax, rax
jne 0x10005c2af
call fcn.100063d30
call fcn.100068a00
mov rsi, rax
mov rdi, qword gs:[0x30]
add rdi, rax
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x10005c2a8
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, rax
mov rax, qword [rdi + 0xd8]
cmp dword [rax + 0x204], 0
je 0x10005c2bd
call fcn.1000618f0
mov ecx, ebx
call fcn.1000c8a80
xor eax, eax
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
Function at 0x10005c770
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r14
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 0x30], 0xfffffffffffffffe
mov rdi, rcx
lea rax, [0x100004030]
mov qword [rcx], rax
mov rcx, qword [0x100246640]
test rcx, rcx
je 0x10005c961
cmp dword [0x10022f2bc], 0
je 0x10005c95a
xor r14d, r14d
mov qword [rbp - 0x28], r14
mov dword [rbp - 0x1c], r14d
lea rax, [rbp - 0x18]
mov qword [rbp + 0x38], rax
mov dword [rbp - 0x1c], r14d
call fcn.100068a00
mov rsi, rax
mov rcx, qword gs:[0x30]
lea rbx, [rcx + rax]
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x10005c7f7
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
cmp qword [rbx], r14
jne 0x10005c855
call fcn.100068a00
mov rsi, rax
mov rcx, qword gs:[0x30]
lea rbx, [rcx + rax]
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x10005c828
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
cmp qword [rbx], r14
jne 0x10005c84e
call fcn.1001407c0
call fcn.100068a00
mov rbx, rax
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x10005c84e
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov dword [rbp - 0x28], 1
mov dword [rbp - 0x1c], r14d
lea rax, [rbp - 0x28]
mov qword [rbp - 0x18], rax
lea rax, [rbp - 0x10]
mov qword [rbp + 0x40], rax
cmp dword [rbp - 0x1c], 0
jl 0x10005c898
call fcn.100058b00
test eax, eax
jne 0x10005c886
call fcn.1000589b0
mov dword [rbp - 0x24], 1
jmp 0x10005c88a
mov dword [rbp - 0x24], r14d
mov dword [rbp - 0x1c], r14d
lea rax, [rbp - 0x24]
mov qword [rbp - 0x10], rax
jmp 0x10005c89c
mov qword [rbp - 0x10], r14
lea rax, [rbp - 8]
mov qword [rbp + 0x48], rax
cmp dword [rbp - 0x1c], 0
jl 0x10005c8ca
call fcn.100058ba0
mov dword [rbp - 0x20], eax
mov ecx, 1
call fcn.100058c40
mov dword [rbp - 0x1c], r14d
lea rax, [rbp - 0x20]
mov qword [rbp - 8], rax
jmp 0x10005c8ce
mov qword [rbp - 8], r14
mov rcx, qword [0x100246640]
test rcx, rcx
jne 0x10005c8e5
mov ecx, 0x80004003
call fcn.10005fb00
int3
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
lea rax, [rbp - 0x18]
mov qword [rbp + 0x38], rax
lea rax, [rbp - 0x10]
mov qword [rbp + 0x40], rax
lea rax, [rbp - 8]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp - 8]
test rax, rax
je 0x10005c915
mov ecx, dword [rax]
call fcn.100058c40
nop
mov rax, qword [rbp - 0x10]
test rax, rax
je 0x10005c929
cmp dword [rax], 0
je 0x10005c929
call fcn.100058a50
nop
mov rax, qword [rbp - 0x18]
test rax, rax
je 0x10005c961
cmp dword [rax], 0
je 0x10005c961
call fcn.100068a00
mov rbx, rax
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x10005c953
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
call fcn.10013e1e0
jmp 0x10005c961
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
lea rax, [0x100003e10]
mov qword [rdi], rax
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
Function at 0x10005f85f
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x88
lea rcx, [0x100246780]
call qword [sym.imp.KERNEL32.dll_RtlCaptureContext]
mov rax, qword [0x100246878]
mov qword [rsp + 0x58], rax
xor r8d, r8d
lea rdx, [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call sub.KERNEL32.dll_RtlLookupFunctionEntry
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
je 0x10005f83d
mov qword [rsp + 0x38], 0
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [0x100246780]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
xor ecx, ecx
call sub.KERNEL32.dll_RtlVirtualUnwind
jmp 0x10005f85f
mov rax, qword [rsp + 0x88]
mov qword [0x100246878], rax
lea rax, [rsp + 0x88]
add rax, 8
mov qword [0x100246818], rax
mov rax, qword [0x100246878]
mov qword [0x1002466f0], rax
mov rax, qword [rsp + 0x90]
mov qword [0x100246800], rax
mov dword [0x1002466e0], 0xc0000409
mov dword [0x1002466e4], 1
mov rax, qword [0x10022f440]
mov qword [rsp + 0x68], rax
mov rax, qword [0x10022f448]
mov qword [rsp + 0x70], rax
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
mov dword [0x100246778], eax
mov ecx, 1
call sub.MSVCR100.dll___crt_debugger_hook
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
lea rcx, [0x100004fb8]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
cmp dword [0x100246778], 0
jne 0x10005f8e6
mov ecx, 1
call sub.MSVCR100.dll___crt_debugger_hook
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x88
ret
Function at 0x10005ff90
Capabilities:
Get thread local storage value

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x60
mov qword [rax - 0x38], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rsi, rcx
lea rbp, [0x10022fa50]
mov qword [rax + 0x10], rbp
mov dword [rax - 0x30], 0x80000c2
xor edi, edi
mov qword [rax - 0x28], rdi
mov qword [rax - 0x18], rdi
mov qword [rax - 0x20], rdi
mov qword [rax - 0x10], rdi
lea r8, [rax - 0x30]
or edx, 0xffffffff
mov rcx, rbp
call fcn.10005b250
nop
call fcn.100060c00
test eax, eax
jne 0x10005fff1
jmp 0x10006010e
mov rdx, qword [0x100246e80]
test rdx, rdx
je 0x10006004e
mov rax, rdx
mov r8d, 0x200
and rax, 0xffffffffffffe000
je 0x100060019
cmp word [rax + 4], r8w
jne 0x100060019
mov rax, qword [rax + 0x28]
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x10]
dec rcx
not rcx
and rcx, rdx
je 0x100060037
cmp word [rcx + 4], r8w
jne 0x100060037
mov rcx, qword [rcx + 0x28]
mov rcx, qword [rcx + 8]
test byte [rcx + 0x28], 8
jne 0x100060047
mov rax, qword [rcx]
call qword [rax + 0x28]
mov qword [0x100246e80], rdi
test rsi, rsi
je 0x10006010e
or rcx, 0xffffffffffffffff
mov rbx, rcx
nop
inc rbx
cmp word [rsi + rbx*2], 0
jne 0x100060060
inc rbx
mov eax, 2
mul rbx
mov rdx, rax
cmovo rdx, rcx
cmp rdx, 0xffffffffffffffff
je 0x1000600a4
mov rcx, qword [0x100246638]
mov rax, qword [rcx]
mov byte [rsp + 0x20], 6
mov r9d, 0xa5
lea r8, [0x100005590]
call qword [rax + 0x48]
mov rdi, rax
mov qword [0x100246e80], rdi
test rdi, rdi
je 0x10006010e
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_wcscpy_s]
mov rcx, qword [0x100246e78]
test rcx, rcx
jne 0x1000600d6
mov ecx, 0x80004003
call fcn.10005fb00
int3
mov rax, qword [rcx]
mov rdx, qword [0x100246e80]
call qword [rax + 0xa0]
mov rcx, qword [0x100246e78]
test rcx, rcx
jne 0x1000600fd
mov ecx, 0x80004003
call fcn.10005fb00
int3
mov rax, qword [rcx]
mov rdx, qword [0x100246e80]
call qword [rax + 0xa8]
nop
mov rcx, rbp
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
jmp fcn.10005b360
Function at 0x100060140
Capabilities:
Get thread local storage value

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x60
mov qword [rax - 0x38], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rsi, rcx
lea rbp, [0x10022fa50]
mov qword [rax + 0x10], rbp
mov dword [rax - 0x30], 0x80000c2
xor edi, edi
mov qword [rax - 0x28], rdi
mov qword [rax - 0x18], rdi
mov qword [rax - 0x20], rdi
mov qword [rax - 0x10], rdi
lea r8, [rax - 0x30]
or edx, 0xffffffff
mov rcx, rbp
call fcn.10005b250
nop
call fcn.100060c00
test eax, eax
jne 0x1000601a1
jmp 0x1000602c2
mov rdx, qword [0x100246e88]
test rdx, rdx
je 0x1000601fe
mov rax, rdx
mov r8d, 0x200
and rax, 0xffffffffffffe000
je 0x1000601c9
cmp word [rax + 4], r8w
jne 0x1000601c9
mov rax, qword [rax + 0x28]
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x10]
dec rcx
not rcx
and rcx, rdx
je 0x1000601e7
cmp word [rcx + 4], r8w
jne 0x1000601e7
mov rcx, qword [rcx + 0x28]
mov rcx, qword [rcx + 8]
test byte [rcx + 0x28], 8
jne 0x1000601f7
mov rax, qword [rcx]
call qword [rax + 0x28]
mov qword [0x100246e88], rdi
test rsi, rsi
je 0x1000602c2
or rcx, 0xffffffffffffffff
mov rbx, rcx
nop
inc rbx
cmp word [rsi + rbx*2], 0
jne 0x100060210
inc rbx
mov eax, 2
mul rbx
mov rdx, rax
cmovo rdx, rcx
cmp rdx, 0xffffffffffffffff
je 0x100060254
mov rcx, qword [0x100246638]
mov rax, qword [rcx]
mov byte [rsp + 0x20], 6
mov r9d, 0xc2
lea r8, [0x100005590]
call qword [rax + 0x48]
mov rdi, rax
mov qword [0x100246e88], rdi
test rdi, rdi
je 0x1000602c2
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_wcscpy_s]
mov rcx, qword [0x100246e78]
test rcx, rcx
jne 0x100060286
mov ecx, 0x80004003
call fcn.10005fb00
int3
mov rax, qword [rcx]
lea r8, [rbx + rbx]
mov rdx, qword [0x100246e88]
call qword [rax + 0x50]
mov rcx, qword [0x100246e78]
test rcx, rcx
jne 0x1000602ae
mov ecx, 0x80004003
call fcn.10005fb00
int3
mov rax, qword [rcx]
mov r8d, 8
lea rdx, [0x100246e88]
call qword [rax + 0x50]
nop
mov rcx, rbp
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
jmp fcn.10005b360

Function at 0x1000602f0
Capabilities:
Get thread local storage value

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x50
mov qword [rax - 0x38], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov rbx, rcx
lea rsi, [0x10022fa50]
mov qword [rax + 0x10], rsi
mov dword [rax - 0x30], 0x80000c2
xor edi, edi
mov qword [rax - 0x28], rdi
mov qword [rax - 0x18], rdi
mov qword [rax - 0x20], rdi
mov qword [rax - 0x10], rdi
lea r8, [rax - 0x30]
or edx, 0xffffffff
mov rcx, rsi
call fcn.10005b250
nop
mov edx, 0x104
lea rax, [0x100246e90]
sub rbx, rax
nop
lea rcx, [rdx + 0x7ffffefa]
test rcx, rcx
je 0x100060373
movzx ecx, word [rbx + rax]
test cx, cx
je 0x100060373
mov word [rax], cx
add rax, 2
dec rdx
jne 0x100060350
jmp 0x100060378
test rdx, rdx
jne 0x10006037c
sub rax, 2
mov word [rax], di
mov rcx, rsi
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
jmp fcn.10005b360
Function at 0x1000603a0
Capabilities:
Get thread local storage value

Disassembly:
mov r11, rsp
push rdi
sub rsp, 0x50
mov qword [r11 - 0x38], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
movsxd rbx, edx
mov rdi, rcx
lea rsi, [0x10022fa50]
mov qword [r11 + 0x18], rsi
mov dword [rsp + 0x28], 0x80000c2
xor eax, eax
mov qword [r11 - 0x28], rax
mov qword [r11 - 0x18], rax
mov qword [r11 - 0x20], rax
mov qword [r11 - 0x10], rax
lea r8, [r11 - 0x30]
or edx, 0xffffffff
mov rcx, rsi
call fcn.10005b250
nop
call fcn.100060c00
test eax, eax
jne 0x1000603fe
jmp 0x100060422
mov rcx, qword [0x100246e78]
test rcx, rcx
jne 0x100060415
mov ecx, 0x80004003
call fcn.10005fb00
int3
mov rax, qword [rcx]
mov r8, rbx
mov rdx, rdi
call qword [rax + 0x50]
nop
mov rcx, rsi
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x50
pop rdi
jmp fcn.10005b360

Function at 0x100060440
Capabilities:
Get thread local storage value

Disassembly:
mov r11, rsp
push rdi
sub rsp, 0x50
mov qword [r11 - 0x38], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov rbx, rcx
lea rdi, [0x10022fa50]
mov qword [r11 + 0x10], rdi
mov dword [rsp + 0x28], 0x80000c2
xor eax, eax
mov qword [r11 - 0x28], rax
mov qword [r11 - 0x18], rax
mov qword [r11 - 0x20], rax
mov qword [r11 - 0x10], rax
lea r8, [r11 - 0x30]
or edx, 0xffffffff
mov rcx, rdi
call fcn.10005b250
nop
call fcn.100060c00
test eax, eax
jne 0x100060497
jmp 0x1000604bb
mov rcx, qword [0x100246e78]
test rcx, rcx
jne 0x1000604ae
mov ecx, 0x80004003
call fcn.10005fb00
int3
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 0xc8]
nop
mov rcx, rdi
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rdi
jmp fcn.10005b360

Function at 0x1000604e0
Capabilities:
Get thread local storage value

Disassembly:
mov r11, rsp
push rdi
sub rsp, 0x50
mov qword [r11 - 0x38], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
movsxd rbx, ecx
lea rdi, [0x10022fa50]
mov qword [r11 + 0x10], rdi
mov dword [rsp + 0x28], 0x80000c2
xor eax, eax
mov qword [r11 - 0x28], rax
mov qword [r11 - 0x18], rax
mov qword [r11 - 0x20], rax
mov qword [r11 - 0x10], rax
lea r8, [r11 - 0x30]
or edx, 0xffffffff
mov rcx, rdi
call fcn.10005b250
nop
call fcn.100060c00
test eax, eax
jne 0x100060537
jmp 0x10006055b
mov rcx, qword [0x100246e78]
test rcx, rcx
jne 0x10006054e
mov ecx, 0x80004003
call fcn.10005fb00
int3
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 0x98]
nop
mov rcx, rdi
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rdi
jmp fcn.10005b360
Function at 0x100060580
Capabilities:
Get thread local storage value

Disassembly:
push rdi
sub rsp, 0x270
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x288], rbx
mov rax, qword [0x10022f440]
xor rax, rsp
mov qword [rsp + 0x268], rax
mov rbx, rcx
cmp edx, 0x104
jae 0x1000605d9
lea rcx, [0x1000052f8]
call qword [sym.imp.MSVCR100.dll_wprintf]
mov edx, 0x11
lea ecx, [rdx + 0x13]
lea r9d, [rdx - 0x10]
lea r8d, [rdx + 8]
call fcn.100061c20
xor eax, eax
mov word [rsp + 0x50], ax
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x52]
call sub.MSVCR100.dll_memset
mov r8d, 0x104
lea rdx, [rsp + 0x50]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x10006062b
lea rcx, [0x100005330]
call qword [sym.imp.MSVCR100.dll_wprintf]
mov edx, 0x11
lea ecx, [rdx + 0x13]
lea r9d, [rdx - 0x10]
lea r8d, [rdx + 8]
call fcn.100061c20
lea rcx, [rsp + 0x50]
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea rdx, [0x100005368]
lea rcx, [rsp + 0x50]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
lea rdx, [rsp + 0x50]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathCanonicalizeW]
nop
call fcn.100068a00
mov rdi, rax
mov rbx, qword gs:[0x30]
add rbx, rax
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x100060682
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
test rbx, rbx
je 0x100060693
mov rax, qword [rbx + 0xd8]
test rax, rax
jne 0x1000606ca
call fcn.100063d30
call fcn.100068a00
mov rdi, rax
mov rbx, qword gs:[0x30]
add rbx, rax
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x1000606c3
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
mov rax, qword [rbx + 0xd8]
cmp dword [rax + 0x204], 0
je 0x1000606d8
call fcn.1000618f0
mov rcx, qword [rsp + 0x268]
xor rcx, rsp
call fcn.10005f420
mov rbx, qword [rsp + 0x288]
add rsp, 0x270
pop rdi
ret

Function at 0x100060700
Capabilities:
Get thread local storage value

Disassembly:
push rdi
sub rsp, 0x60
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x70], rbx
mov r8d, edx
mov rdx, rcx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x100060749
lea rcx, [0x100005330]
call qword [sym.imp.MSVCR100.dll_wprintf]
mov edx, 0x11
lea ecx, [rdx + 0x13]
lea r9d, [rdx - 0x10]
lea r8d, [rdx + 8]
call fcn.100061c20
nop
call fcn.100068a00
mov rdi, rax
mov rbx, qword gs:[0x30]
add rbx, rax
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x100060774
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
test rbx, rbx
je 0x100060785
mov rax, qword [rbx + 0xd8]
test rax, rax
jne 0x1000607bc
call fcn.100063d30
call fcn.100068a00
mov rdi, rax
mov rbx, qword gs:[0x30]
add rbx, rax
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x1000607b5
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
mov rax, qword [rbx + 0xd8]
cmp dword [rax + 0x204], 0
je 0x1000607ca
call fcn.1000618f0
mov rbx, qword [rsp + 0x70]
add rsp, 0x60
pop rdi
ret
Function at 0x1000607e0
Capabilities:
Access peb ldr_data
Get ntdll base address
Get thread local storage value

Disassembly:
mov r11, rsp
push rdi
sub rsp, 0x2b0
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x20], rsi
mov rax, qword [0x10022f440]
xor rax, rsp
mov qword [rsp + 0x2a8], rax
mov edi, edx
mov rbx, rcx
xor esi, esi
mov word [rsp + 0x80], si
xor eax, eax
mov dword [rsp + 0x82], eax
mov word [rsp + 0x86], ax
mov word [rsp + 0x90], si
xor edx, edx
mov r8d, 0x208
lea rcx, [r11 - 0x226]
call sub.MSVCR100.dll_memset
mov edx, 0x104
lea rcx, [rsp + 0x90]
call fcn.100060700
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rsi
xor r9d, r9d
lea r8d, [rsi + 3]
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x90]
call qword [sym.imp.MSVCR100.dll__wsplitpath_s]
nop
call fcn.100068a00
mov rdi, rax
mov rbx, qword gs:[0x30]
add rbx, rax
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x1000608be
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
test rbx, rbx
je 0x1000608cf
mov rax, qword [rbx + 0xd8]
test rax, rax
jne 0x100060906
call fcn.100063d30
call fcn.100068a00
mov rdi, rax
mov rbx, qword gs:[0x30]
add rbx, rax
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x1000608ff
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
mov rax, qword [rbx + 0xd8]
cmp dword [rax + 0x204], 0
je 0x100060914
call fcn.1000618f0
mov rcx, qword [rsp + 0x2a8]
xor rcx, rsp
call fcn.10005f420
lea r11, [rsp + 0x2b0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret