joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4b4450
Capabilities:
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x633a08
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push esi
push edi
mov eax, dword [0x6d45e0]
xor eax, esp
push eax
lea eax, [esp + 0x18]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
push dword [edi + 0x38]
lea eax, [edi + 0x30]
push eax
sub esp, 0x18
lea eax, [edi + 0x10]
mov esi, esp
mov dword [esp + 0x30], esi
mov dword [esi + 0x10], 0
mov dword [esp + 0x40], 0
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x4b44ac
mov dword [esi + 0x10], ecx
jmp 0x4b44bc
cmp ecx, eax
mov eax, dword [ecx]
jne 0x4b44b5
push esi
jmp 0x4b44b7
push 0
call dword [eax]
mov dword [esi + 0x10], eax
lea eax, [edi + 0x28]
mov dword [esp + 0x40], 0xffffffff
push eax
mov ecx, edi
call fcn.004a8e90
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x4b59a0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x63205b
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x6d45e0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], ecx
mov ebx, dword [ebp + 8]
lea edi, [ecx + 4]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebx]
lea esi, [ebx + 4]
mov dword [ecx], eax
mov ecx, edi
push esi
call fcn.00496270
mov al, byte [esi + 0xc]
mov byte [edi + 0xc], al
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x14], eax
mov eax, dword [edi]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x1c]
mov dword [edi + 0x1c], eax
mov eax, dword [esi + 0x18]
sub eax, dword [esi]
and eax, 0xfffffff8
add dword [edi + 0x18], eax
mov dword [ebp - 4], 0
mov esi, dword [ebp - 0x10]
mov eax, dword [ebx + 0x24]
mov dword [esi + 0x24], eax
mov eax, dword [ebx + 0x28]
mov dword [esi + 0x28], eax
mov eax, dword [ebx + 0x30]
mov dword [esi + 0x30], eax
mov eax, dword [ebx + 0x34]
mov dword [esi + 0x34], eax
mov ecx, dword [ebx + 0x38]
mov dword [esi + 0x38], ecx
lea ecx, [ebx + 0x40]
push ecx
lea ecx, [esi + 0x40]
call fcn.0048e600
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x4b60c0
Capabilities:
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x626b78
mov eax, dword fs:[0]
push eax
push esi
push edi
mov eax, dword [0x6d45e0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
lea eax, [edi + 0x30]
push eax
sub esp, 0x18
lea eax, [edi + 0x10]
mov esi, esp
mov dword [ebp + 8], esi
mov dword [esi + 0x10], 0
mov dword [ebp - 4], 0
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x4b6110
mov dword [esi + 0x10], ecx
jmp 0x4b6120
cmp ecx, eax
mov eax, dword [ecx]
jne 0x4b6119
push esi
jmp 0x4b611b
push 0
call dword [eax]
mov dword [esi + 0x10], eax
lea eax, [edi + 0x28]
mov dword [ebp - 4], 0xffffffff
push eax
mov ecx, edi
call fcn.004a8c50
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x4b71a0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x634781
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x6d45e0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x24], ecx
mov ebx, dword [ebp + 8]
push dword [0x6f6340]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebx]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x4b71f1
cmp dword [eax], edi
je 0x4b722a
mov eax, dword [eax + 8]
test eax, eax
jne 0x4b71e6
push esi
push 0xd0
mov dword [ebp - 0x38], esi
call fcn.0046ff90
add esp, 8
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 4], 1
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x4b7257
push esi
mov ecx, eax
call fcn.004b7c90
mov edi, eax
jmp 0x4b7259
cmp dword [eax + 4], 0
je 0x4b71f1
push ecx
lea ecx, [ebp - 0x1d]
call fcn.004705f0
push esi
push esi
mov dword [ebp - 4], 0
call fcn.004ba3d0
add esp, 8
lea ecx, [ebp - 0x1d]
call fcn.00470600
jmp 0x4b72f8
xor edi, edi
mov ecx, dword [ebp - 0x24]
push edi
push ebx
mov byte [ebp - 4], 1
call fcn.00475330
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
test al, al
je 0x4b72f0
mov eax, dword [ebx]
xorps xmm0, xmm0
push dword [0x6f6340]
movq qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov esi, dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x1c]
push eax
push dword [0x6f6340]
mov dword [ebp - 0x18], eax
call esi
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx]
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 4
call fcn.005acf90
push 0
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x24]
push edi
push dword [eax + 0x14]
call fcn.004b7d60
add esp, 0x10
lea ecx, [ebp - 0x2c]
call fcn.00474f60
push dword [ebp - 0x14]
push dword [0x6f6340]
call esi
lea ecx, [ebp - 0x38]
call fcn.004b8930
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004c392d
mov esp, ebp
pop ebp
ret 8
Function at 0x4b7320
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6347e1
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x6d45e0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x24], ecx
mov ebx, dword [ebp + 8]
push dword [0x6f6340]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebx]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x4b7371
cmp dword [eax], edi
je 0x4b73aa
mov eax, dword [eax + 8]
test eax, eax
jne 0x4b7366
push esi
push 0xb8
mov dword [ebp - 0x38], esi
call fcn.0046ff90
add esp, 8
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 4], 1
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x4b73d7
push esi
mov ecx, eax
call fcn.004b7ed0
mov edi, eax
jmp 0x4b73d9
cmp dword [eax + 4], 0
je 0x4b7371
push ecx
lea ecx, [ebp - 0x1d]
call fcn.004705f0
push esi
push esi
mov dword [ebp - 4], 0
call fcn.004ba3f0
add esp, 8
lea ecx, [ebp - 0x1d]
call fcn.00470600
jmp 0x4b7470
xor edi, edi
mov ecx, dword [ebp - 0x24]
push edi
push ebx
mov byte [ebp - 4], 1
call fcn.00475330
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
test al, al
je 0x4b7470
mov eax, dword [ebx]
xorps xmm0, xmm0
push dword [0x6f6340]
movq qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov esi, dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x1c]
push eax
push dword [0x6f6340]
mov dword [ebp - 0x18], eax
call esi
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx]
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 4
call fcn.005acf90
push 0
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x24]
push edi
push dword [eax + 0x14]
call fcn.004b7f20
add esp, 0x10
lea ecx, [ebp - 0x2c]
call fcn.00474f60
push dword [ebp - 0x14]
push dword [0x6f6340]
call esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004c392d
mov esp, ebp
pop ebp
ret 8
Function at 0x4b7490
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x634841
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x6d45e0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x24], ecx
mov ebx, dword [ebp + 8]
push dword [0x6f6340]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebx]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x4b74e1
cmp dword [eax], edi
je 0x4b751a
mov eax, dword [eax + 8]
test eax, eax
jne 0x4b74d6
push esi
push 0xb0
mov dword [ebp - 0x38], esi
call fcn.0046ff90
add esp, 8
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 4], 1
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x4b7547
push esi
mov ecx, eax
call fcn.004b80c0
mov edi, eax
jmp 0x4b7549
cmp dword [eax + 4], 0
je 0x4b74e1
push ecx
lea ecx, [ebp - 0x1d]
call fcn.004705f0
push esi
push esi
mov dword [ebp - 4], 0
call fcn.004ba410
add esp, 8
lea ecx, [ebp - 0x1d]
call fcn.00470600
jmp 0x4b75e0
xor edi, edi
mov ecx, dword [ebp - 0x24]
push edi
push ebx
mov byte [ebp - 4], 1
call fcn.00475330
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
test al, al
je 0x4b75e0
mov eax, dword [ebx]
xorps xmm0, xmm0
push dword [0x6f6340]
movq qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov esi, dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x1c]
push eax
push dword [0x6f6340]
mov dword [ebp - 0x18], eax
call esi
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx]
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 4
call fcn.005acf90
push 0
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x24]
push edi
push dword [eax + 0x14]
call fcn.004b8110
add esp, 0x10
lea ecx, [ebp - 0x2c]
call fcn.00474f60
push dword [ebp - 0x14]
push dword [0x6f6340]
call esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004c392d
mov esp, ebp
pop ebp
ret 8
Function at 0x4b7600
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6348a1
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x6d45e0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x24], ecx
mov ebx, dword [ebp + 8]
push dword [0x6f6340]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebx]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x4b7651
cmp dword [eax], edi
je 0x4b768a
mov eax, dword [eax + 8]
test eax, eax
jne 0x4b7646
push esi
push 0x88
mov dword [ebp - 0x38], esi
call fcn.0046ff90
add esp, 8
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 4], 1
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x4b76b7
push esi
mov ecx, eax
call fcn.004b82b0
mov edi, eax
jmp 0x4b76b9
cmp dword [eax + 4], 0
je 0x4b7651
push ecx
lea ecx, [ebp - 0x1d]
call fcn.004705f0
push esi
push esi
mov dword [ebp - 4], 0
call fcn.004ba430
add esp, 8
lea ecx, [ebp - 0x1d]
call fcn.00470600
jmp 0x4b7750
xor edi, edi
mov ecx, dword [ebp - 0x24]
push edi
push ebx
mov byte [ebp - 4], 1
call fcn.00475330
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
test al, al
je 0x4b7750
mov eax, dword [ebx]
xorps xmm0, xmm0
push dword [0x6f6340]
movq qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov esi, dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x1c]
push eax
push dword [0x6f6340]
mov dword [ebp - 0x18], eax
call esi
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx]
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 4
call fcn.005acf90
push 0
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x24]
push edi
push dword [eax + 0x14]
call fcn.004b8300
add esp, 0x10
lea ecx, [ebp - 0x2c]
call fcn.00474f60
push dword [ebp - 0x14]
push dword [0x6f6340]
call esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004c392d
mov esp, ebp
pop ebp
ret 8
Function at 0x4b7770
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x634901
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x6d45e0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x24], ecx
mov ebx, dword [ebp + 8]
push dword [0x6f6340]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebx]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x4b77c1
cmp dword [eax], edi
je 0x4b77fa
mov eax, dword [eax + 8]
test eax, eax
jne 0x4b77b6
push esi
push 0x80
mov dword [ebp - 0x38], esi
call fcn.0046ff90
add esp, 8
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 4], 1
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x4b7827
push esi
mov ecx, eax
call fcn.004b8470
mov edi, eax
jmp 0x4b7829
cmp dword [eax + 4], 0
je 0x4b77c1
push ecx
lea ecx, [ebp - 0x1d]
call fcn.004705f0
push esi
push esi
mov dword [ebp - 4], 0
call fcn.004ba450
add esp, 8
lea ecx, [ebp - 0x1d]
call fcn.00470600
jmp 0x4b78c0
xor edi, edi
mov ecx, dword [ebp - 0x24]
push edi
push ebx
mov byte [ebp - 4], 1
call fcn.00475330
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
test al, al
je 0x4b78c0
mov eax, dword [ebx]
xorps xmm0, xmm0
push dword [0x6f6340]
movq qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov esi, dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x1c]
push eax
push dword [0x6f6340]
mov dword [ebp - 0x18], eax
call esi
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx]
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 4
call fcn.005acf90
push 0
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x24]
push edi
push dword [eax + 0x14]
call fcn.004b84c0
add esp, 0x10
lea ecx, [ebp - 0x2c]
call fcn.00474f60
push dword [ebp - 0x14]
push dword [0x6f6340]
call esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004c392d
mov esp, ebp
pop ebp
ret 8
Function at 0x4b78e0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x634961
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x6d45e0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x24], ecx
mov ebx, dword [ebp + 8]
push dword [0x6f6340]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebx]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x4b7931
cmp dword [eax], edi
je 0x4b796a
mov eax, dword [eax + 8]
test eax, eax
jne 0x4b7926
push esi
push 0xc8
mov dword [ebp - 0x38], esi
call fcn.0046ff90
add esp, 8
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 4], 1
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x4b7997
push esi
mov ecx, eax
call fcn.004b8630
mov edi, eax
jmp 0x4b7999
cmp dword [eax + 4], 0
je 0x4b7931
push ecx
lea ecx, [ebp - 0x1d]
call fcn.004705f0
push esi
push esi
mov dword [ebp - 4], 0
call fcn.004ba470
add esp, 8
lea ecx, [ebp - 0x1d]
call fcn.00470600
jmp 0x4b7a38
xor edi, edi
mov ecx, dword [ebp - 0x24]
push edi
push ebx
mov byte [ebp - 4], 1
call fcn.00475330
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
test al, al
je 0x4b7a30
mov eax, dword [ebx]
xorps xmm0, xmm0
push dword [0x6f6340]
movq qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov esi, dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x1c]
push eax
push dword [0x6f6340]
mov dword [ebp - 0x18], eax
call esi
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx]
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 4
call fcn.005acf90
push 0
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x24]
push edi
push dword [eax + 0x14]
call fcn.004b8680
add esp, 0x10
lea ecx, [ebp - 0x2c]
call fcn.00474f60
push dword [ebp - 0x14]
push dword [0x6f6340]
call esi
lea ecx, [ebp - 0x38]
call fcn.004b89b0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004c392d
mov esp, ebp
pop ebp
ret 8
Function at 0x4b7a60
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6349c1
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x6d45e0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x24], ecx
mov ebx, dword [ebp + 8]
push dword [0x6f6340]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebx]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x4b7ab1
cmp dword [eax], edi
je 0x4b7aea
mov eax, dword [eax + 8]
test eax, eax
jne 0x4b7aa6
push esi
push 0xc0
mov dword [ebp - 0x38], esi
call fcn.0046ff90
add esp, 8
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 4], 1
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x4b7b17
push esi
mov ecx, eax
call fcn.004b87b0
mov edi, eax
jmp 0x4b7b19
cmp dword [eax + 4], 0
je 0x4b7ab1
push ecx
lea ecx, [ebp - 0x1d]
call fcn.004705f0
push esi
push esi
mov dword [ebp - 4], 0
call fcn.004ba490
add esp, 8
lea ecx, [ebp - 0x1d]
call fcn.00470600
jmp 0x4b7bb8
xor edi, edi
mov ecx, dword [ebp - 0x24]
push edi
push ebx
mov byte [ebp - 4], 1
call fcn.00475330
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
test al, al
je 0x4b7bb0
mov eax, dword [ebx]
xorps xmm0, xmm0
push dword [0x6f6340]
movq qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov esi, dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x1c]
push eax
push dword [0x6f6340]
mov dword [ebp - 0x18], eax
call esi
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx]
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 4
call fcn.005acf90
push 0
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x24]
push edi
push dword [eax + 0x14]
call fcn.004b8800
add esp, 0x10
lea ecx, [ebp - 0x2c]
call fcn.00474f60
push dword [ebp - 0x14]
push dword [0x6f6340]
call esi
lea ecx, [ebp - 0x38]
call fcn.004b8a20
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004c392d
mov esp, ebp
pop ebp
ret 8
Function at 0x4b7be0
Capabilities:
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x6349f8
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push esi
push edi
mov eax, dword [0x6d45e0]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
mov eax, dword [ecx + 0x38]
lea edi, [ecx + 8]
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 0x3c]
mov dword [esp + 0x18], eax
mov eax, dword [ecx + 0x40]
push eax
mov dword [esp + 0x24], eax
lea eax, [esp + 0x18]
push eax
sub esp, 0x18
lea eax, [edi + 0x10]
mov esi, esp
mov dword [esp + 0x30], esi
mov dword [esi + 0x10], 0
mov dword [esp + 0x50], 0
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x4b7c50
mov dword [esi + 0x10], ecx
jmp 0x4b7c60
cmp ecx, eax
mov eax, dword [ecx]
jne 0x4b7c59
push esi
jmp 0x4b7c5b
push 0
call dword [eax]
mov dword [esi + 0x10], eax
lea eax, [edi + 0x28]
mov dword [esp + 0x50], 0xffffffff
push eax
mov ecx, edi
call fcn.004a8e90
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x4b7c90
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x633d38
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x6d45e0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp + 8]
lea ecx, [eax + 0x20]
mov dword [eax + 0x14], 0
lea esi, [ecx + 8]
mov dword [eax + 0x18], fcn.004b7d60
mov dword [eax], 0
mov dword [eax + 4], 0
lea edi, [ebx + 8]
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x1c], 0
mov eax, dword [ebx]
mov dword [ebp - 0x14], ecx
mov dword [ecx], eax
mov ecx, esi
push edi
call fcn.00492b10
mov eax, dword [edi + 0x30]
mov dword [esi + 0x30], eax
lea edi, [ebx + 0x40]
mov dword [ebp - 4], 0
mov ebx, dword [ebp - 0x10]
push edi
lea ecx, [ebx + 0x60]
call fcn.0048dd40
mov eax, dword [edi + 0x68]
mov dword [ebx + 0xc8], eax
mov eax, dword [edi + 0x6c]
mov dword [ebx + 0xcc], eax
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x4b8e90
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x633e60
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
push edi
mov eax, dword [0x6d45e0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], edi
mov dword [edi + 0x10], 0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 4], 0
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x4b8edc
mov dword [edi + 0x10], ecx
jmp 0x4b8eec
cmp ecx, eax
mov eax, dword [ecx]
jne 0x4b8ee5
push edi
jmp 0x4b8ee7
push 0
call dword [eax]
mov dword [edi + 0x10], eax
mov esi, dword [ebp + 8]
lea ecx, [edi + 0x30]
mov dword [ebp - 4], 1
mov eax, dword [esi]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 4]
mov dword [edi + 0x1c], eax
mov eax, dword [esi + 8]
mov dword [edi + 0x20], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 0x24], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 0x28], eax
lea eax, [esi + 0x18]
push eax
call fcn.004b58f0
mov eax, dword [esi + 0x58]
mov dword [edi + 0x70], eax
mov eax, dword [esi + 0x5c]
mov dword [edi + 0x74], eax
mov eax, dword [esi + 0x60]
mov dword [edi + 0x78], eax
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8