joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4e3780
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 8
push ebp
push edi
mov edi, ecx
mov eax, dword [edi + 0x1c]
mov ecx, dword [eax + 0x18]
xor ebp, ebp
cmp ecx, ebp
mov dword [edi + 0x50], ebp
jl 0x4e38f7
add eax, ecx
mov dword [edi + 0x28], eax
cmp dword [eax], ebp
jle 0x4e38f7
lea ecx, [eax + 0x10]
mov dword [esp + 8], ecx
mov ecx, dword [edi + 4]
mov edx, dword [ecx + 0x118]
mov ecx, dword [ecx + 0x140]
lea edx, [ecx + edx*8]
mov dword [edi + 0x18], edx
cmp dword [eax], ebp
mov dword [esp + 0xc], ebp
jle 0x4e38f7
push ebx
push esi
jmp 0x4e37d5
xor ebp, ebp
cmp dword [edi + 0x40], ebp
je 0x4e37e9
mov eax, dword [edi + 0x5c]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [ecx + edx*8]
jmp 0x4e3808
mov eax, dword [edi + 4]
mov ecx, dword [eax + 0x11c]
mov edx, dword [eax + 0x144]
lea ebx, [edx + ecx*4]
inc ecx
mov dword [eax + 0x11c], ecx
mov eax, dword [esp + 0x10]
mov dword [ebx], eax
mov eax, dword [edi + 4]
mov ecx, dword [eax + 0x118]
mov edx, dword [eax + 0x140]
lea edx, [edx + ecx*8]
inc ecx
mov dword [eax + 0x118], ecx
mov eax, dword [edi + 4]
mov esi, dword [eax + 0x120]
mov ecx, dword [eax + 0x148]
shl esi, 5
add esi, ecx
mov dword [esi + 0x18], ebp
mov dword [esi + 8], ebp
mov dword [esi + 0x1c], 0x7fff
mov dword [esi + 0xc], 0xffffd8f0
inc dword [eax + 0x120]
mov dword [edx], ebx
mov ebp, dword [ebx]
xor eax, eax
mov al, byte [ebp + 3]
and eax, 0xf
sub eax, 0
je 0x4e386a
dec eax
je 0x4e38fd
dec eax
jne 0x4e3890
mov eax, dword [ebp + 0xc]
mov ecx, 0xfff
test ecx, eax
jne 0x4e387c
mov eax, dword [ebx]
or dword [eax + 0xc], 1
mov eax, dword [edx]
mov ebp, dword [eax]
test dword [ebp + 0x14], ecx
jne 0x4e3890
mov eax, ebp
mov ecx, dword [eax + 0x14]
or ecx, 1
mov dword [eax + 0x14], ecx
mov dword [edx + 4], esi
xor eax, eax
mov dword [esi + 4], eax
mov dword [esi], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], 0x7fff
mov edx, dword [edi + 0x40]
mov eax, dword [ebx]
mov ebp, dword [eax + 8]
shl edx, 0xb
or edx, ebp
mov dword [esi + 0x10], edx
mov ecx, dword [edi + 0x40]
mov edx, dword [ebx]
push ecx
mov ecx, dword [edi + 4]
push edx
call fcn.004e2de0
mov edx, dword [esp + 0x10]
mov dword [esi + 0x14], eax
inc dword [edi + 0x50]
mov eax, dword [ebx]
xor ecx, ecx
mov cl, byte [eax + 6]
and ecx, 0xf
lea eax, [edx + ecx*4 + 0x18]
mov ecx, dword [edi + 0x28]
mov edx, dword [ecx]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, edx
mov dword [esp + 0x14], eax
jl 0x4e37d3
pop esi
pop ebx
pop edi
pop ebp
add esp, 8
ret
test dword [ebp + 0xc], 0xfff
mov ebp, 1
jne 0x4e3910
mov eax, dword [ebx]
or dword [eax + 0xc], ebp
mov eax, dword [edx]
mov ecx, dword [eax]
test dword [ecx + 0x10], 0xfff
jne 0x4e3922
mov eax, ecx
or dword [eax + 0x10], ebp
mov eax, dword [edx]
mov ecx, dword [eax]
test dword [ecx + 0x14], 0xfff
jne 0x4e3890
mov eax, ecx
mov ecx, dword [eax + 0x14]
or ecx, ebp
jmp 0x4e388d
Function at 0x4eb610
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x86d0ad
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
xor ebx, ebx
push esi
mov esi, ecx
mov dword [esp + 8], esi
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], ebx
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x40], ebx
push ebx
push ebx
push ebx
lea ecx, [esi + 0x48]
mov dword [esp + 0x20], ebx
mov dword [esi], 0x899090
mov dword [esi + 0x44], ebx
call fcn.004ab370
push ebx
push ebx
push ebx
lea ecx, [esi + 0xd0]
mov byte [esp + 0x20], 1
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x78], ebx
mov dword [esi + 0x7c], ebx
mov byte [esi + 0x80], bl
mov dword [esi + 0xc8], ebx
call fcn.004ab370
push ebx
push ebx
push ebx
lea ecx, [esi + 0xe4]
mov byte [esp + 0x20], 2
call fcn.004d5730
push ebx
push ebx
push ebx
lea ecx, [esi + 0xf8]
mov byte [esp + 0x20], 3
call fcn.004d57f0
push ebx
push ebx
push ebx
lea ecx, [esi + 0x10c]
mov byte [esp + 0x20], 4
call fcn.004d5910
mov ecx, dword [esp + 0xc]
mov eax, 2
mov dword [esi + 0xb0], eax
mov dword [esi + 0xac], eax
mov dword [esi + 0x44], ebx
mov dword [esi + 0x78], ebx
mov dword [esi + 0x7c], ebx
mov dword [esi + 0xc8], ebx
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x74], ebx
mov dword [esi + 0xb4], ebx
mov dword [esi + 0xb8], ebx
mov dword [esi + 0xbc], ebx
mov dword [esi + 0xc0], ebx
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret

Function at 0x4f537b
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x86d538
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
xor ebx, ebx
push esi
mov esi, ecx
mov word [esi + 0x1c], bx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 4], ebx
mov byte [esi + 8], bl
push edi
mov dword [esp + 0xc], esi
mov dword [0x9142d8], ebx
mov dword [0x9142dc], ebx
push ebx
push ecx
mov dword [esp + 0x18], esp
mov edi, esp
push 0x894b1c
mov dword [esp + 0x28], ebx
mov dword [esi], 0x899320
call fcn.005cc240
add esp, 4
push 0x4ebd90
push esi
mov dword [edi], eax
call fcn.004eb060
mov ecx, dword [esp + 0x24]
add esp, 0x10
mov dword [esi + 0x34], eax
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], ebx
pop edi
mov eax, esi
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0x14
ret
Function at 0x4f55c9
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x86d5ae
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
xor ebx, ebx
push esi
mov esi, ecx
mov word [esi + 0x1c], bx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 4], ebx
mov byte [esi + 8], bl
mov dword [0x9142d8], ebx
mov dword [0x9142dc], ebx
mov dword [esp + 8], esi
mov dword [esi + 0x24], ebx
lea ecx, [esi + 0x3c]
mov dword [esp + 0x14], ebx
mov dword [esi], 0x899388
call fcn.004b0280
lea ecx, [esi + 0x7c]
mov byte [esp + 0x14], 1
call fcn.004ba280
push 3
lea ecx, [esi + 0x100]
mov byte [esp + 0x18], 2
call fcn.0065c540
mov ecx, dword [esp + 0xc]
mov dword [esi + 0x38], ebx
mov dword [esi + 0x34], ebx
mov byte [esi + 0x28], bl
mov byte [esi + 0x78], bl
mov dword [esi + 0x68], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0xf8], ebx
mov dword [esi + 0x58], ebx
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret

Function at 0x4f59d6
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x86d670
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push esi
mov esi, ecx
push edi
mov dword [esp + 8], esi
mov dword [esi], 0x89945c
mov edi, dword [esi + 0x30]
test edi, edi
mov dword [esp + 0x14], 0
je 0x4f5a07
mov ecx, dword [edi]
test ecx, ecx
je 0x4f59fe
call fcn.00831782
push edi
call fcn.00831682
add esp, 4
mov dword [esi + 0x30], 0
mov dword [esi], 0x8983e8
push esi
mov ecx, 0x912328
mov dword [esp + 0x18], 1
call fcn.004ca430
mov ecx, dword [esp + 0xc]
mov dword [esi], 0x8967fc
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x10
ret

Function at 0x4f5eab
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x86d6f3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
xor ebx, ebx
push esi
mov esi, ecx
mov word [esi + 0x1c], bx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 4], ebx
mov byte [esi + 8], bl
mov dword [0x9142d8], ebx
mov dword [0x9142dc], ebx
push edi
mov dword [esp + 0xc], esi
mov dword [esi + 0x24], ebx
lea ecx, [esi + 0x34]
mov dword [esp + 0x1c], ebx
mov dword [esi], 0x899664
call fcn.004b0280
push ebx
push ecx
mov dword [esp + 0x18], esp
mov edi, esp
push str.FRONT_BARRIER
mov byte [esp + 0x28], 1
call fcn.005cc240
add esp, 4
push 0x4dc840
push esi
mov dword [edi], eax
call fcn.004eb0f0
add esp, 0x10
push ebx
push ecx
mov dword [esp + 0x18], esp
mov edi, esp
push 0x8987b0
mov dword [esi + 0x54], eax
call fcn.005cc240
add esp, 4
push 0x4e69b0
push esi
mov dword [edi], eax
call fcn.004eb0f0
mov ecx, dword [esp + 0x24]
add esp, 0x10
mov dword [esi + 0x58], eax
mov dword [esi + 0x50], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x2c], ebx
pop edi
mov eax, esi
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0x14
ret
Function at 0x4f6019
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x86d738
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
xor ebx, ebx
push esi
mov esi, ecx
mov word [esi + 0x1c], bx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 4], ebx
mov byte [esi + 8], bl
mov dword [0x9142d8], ebx
mov dword [0x9142dc], ebx
mov dword [esp + 8], esi
mov dword [esi + 0x24], ebx
lea ecx, [esi + 0x44]
mov dword [esp + 0x14], ebx
mov dword [esi], 0x899698
call fcn.004b0280
mov ecx, dword [esp + 0xc]
mov dword [esi + 0x28], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x40], ebx
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret

Function at 0x4f6290
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x86d7b0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push esi
mov esi, ecx
push edi
mov dword [esp + 0xc], esi
mov dword [esi], 0x899704
mov ecx, dword [esi + 0x30]
xor ebx, ebx
cmp ecx, ebx
mov dword [esp + 0x18], ebx
je 0x4f62cb
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x30], ebx
mov edi, dword [esi + 0x38]
cmp edi, ebx
je 0x4f62e9
mov ecx, dword [edi]
cmp ecx, ebx
je 0x4f62dd
call fcn.00831782
push edi
call fcn.00831682
add esp, 4
mov dword [esi + 0x38], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi], 0x8983e8
push esi
mov ecx, 0x912328
mov dword [esp + 0x1c], 1
call fcn.004ca430
mov ecx, dword [esp + 0x10]
pop edi
mov dword [esi], 0x8967fc
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret

Function at 0x4f6766
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x86d870
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push esi
mov esi, ecx
push edi
mov dword [esp + 8], esi
mov dword [esi], 0x89983c
mov edi, dword [esi + 0x28]
test edi, edi
mov dword [esp + 0x14], 0
je 0x4f6797
mov ecx, dword [edi]
test ecx, ecx
je 0x4f678e
call fcn.00831782
push edi
call fcn.00831682
add esp, 4
mov dword [esi + 0x28], 0
mov dword [esi + 0x30], 0
mov dword [esi], 0x8983e8
push esi
mov ecx, 0x912328
mov dword [esp + 0x18], 1
call fcn.004ca430
mov ecx, dword [esp + 0xc]
mov dword [esi], 0x8967fc
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x10
ret
Function at 0x4f72a0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push 0xffffffffffffffff
push 0x86d988
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
xor ebx, ebx
push esi
mov esi, ecx
mov word [esi + 0x1c], bx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 4], ebx
mov byte [esi + 8], bl
mov dword [0x9142d8], ebx
mov dword [0x9142dc], ebx
push edi
mov dword [esp + 0x18], esi
mov dword [esi + 0x24], ebx
push ebx
push ecx
mov dword [esp + 0x24], esp
mov edi, esp
push str.MomentStrm
mov dword [esp + 0x38], ebx
mov dword [esi], 0x899a24
call fcn.005cc240
add esp, 4
push 0x4f0ba0
push esi
mov dword [edi], eax
call fcn.004eb2a0
add esp, 0x10
push ebx
push ecx
mov dword [esp + 0x24], esp
mov edi, esp
push str.PursuitBreaker
mov dword [esi + 0x28], eax
call fcn.005cc240
add esp, 4
push 0x4f0fb0
push esi
mov dword [edi], eax
call fcn.004eb330
mov ecx, dword [esp + 0x34]
mov dword [esi + 0x2c], eax
mov dword [esi + 0x34], ebx
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x30], 0x899200
mov dword [esi + 0x540], ebx
mov dword [esi + 0x544], 3
mov dword [esi + 0x550], ebx
mov dword [esi + 0x554], ebx
mov dword [esi + 0x558], ebx
mov dword [esi + 0x560], ebx
mov dword [esi + 0x564], ebx
mov dword [esi + 0x568], ebx
mov dword [esi + 0x570], ebx
mov dword [esi + 0x574], ebx
mov dword [esi + 0x578], ebx
mov dword [esi + 0x580], ebx
mov byte [esi + 0x588], bl
mov dword [esi + 0x584], ebx
add esp, 0x10
mov byte [0x914354], bl
mov dword [0x91435c], esi
mov dword [esi + 0x58c], ebx
mov byte [esi + 0x590], bl
pop edi
mov eax, esi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x4f7600
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push 0xffffffffffffffff
push 0x86da18
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
push ebx
xor ebx, ebx
push esi
mov esi, ecx
mov word [esi + 0x1c], bx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 4], ebx
mov byte [esi + 8], bl
mov dword [0x9142d8], ebx
mov dword [0x9142dc], ebx
mov dword [esp + 0xc], esi
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], 0xc1200000
push ebx
lea ecx, [esi + 0x60]
mov dword [esp + 0x20], ebx
mov dword [esi], 0x899ac0
call fcn.00786940
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x30], ebx
mov dword [esi + 0x40], ebx
mov dword [esi + 0x44], ebx
mov dword [esi + 0x48], ebx
mov dword [esi + 0x50], ebx
mov dword [esi + 0x54], ebx
mov dword [esi + 0x58], ebx
mov eax, esi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x4fd079
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 8
mov eax, dword [esp + 0x14]
push ebx
push ebp
push esi
mov esi, ecx
xor ecx, ecx
xor ebx, ebx
cmp eax, 1
push edi
mov dword [esp + 0x10], ecx
jle 0x4fd0a0
lea ebx, [ebx]
inc ecx
mov edx, 1
shl edx, cl
cmp edx, eax
jl 0x4fd090
mov dword [esp + 0x10], ecx
mov ebp, dword [esp + 0x28]
xor ecx, ecx
cmp ebp, 1
mov dword [esp + 0x14], ecx
jle 0x4fd0c0
nop
inc ecx
mov edx, 1
shl edx, cl
cmp edx, ebp
jl 0x4fd0b0
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x2c]
add ecx, 0xfffffffc
xor edi, edi
cmp ecx, 0x7d
ja case.0x4fd0d5.5
movzx ecx, byte [ecx + 0x4fd1f4]
jmp dword [ecx*4 + 0x4fd1dc]
mov edi, eax
jmp 0x4fd103
mov edi, eax
imul edi, ebp
shl edi, 1
jmp case.0x4fd0d5.5
mov edi, eax
imul edi, ebp
lea edi, [edi + edi*2]
jmp case.0x4fd0d5.5
mov edi, eax
imul edi, ebp
shl edi, 2
jmp case.0x4fd0d5.5
lea edi, [eax - 1]
and edi, 1
imul edi, ebp
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
lea edx, [esi + 0xc]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov ecx, dword [eax + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [eax + 0x10]
mov dword [edx + 0x10], ecx
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0x1c]
mov dword [edx + 0x14], eax
push ecx
mov byte [esi + 0x23], bl
call fcn.00460bf0
mov cx, word [esp + 0x38]
mov dx, word [esp + 0x28]
mov dword [esi + 0x24], eax
mov al, byte [esp + 0x30]
mov byte [esi + 0x4a], al
mov al, byte [esp + 0x18]
mov word [esi + 0x44], dx
mov dl, byte [esp + 0x14]
mov word [esi + 0x4c], cx
mov cl, byte [esp + 0x3c]
mov byte [esi + 0x49], al
mov eax, 0x100
add esp, 4
mov byte [esi + 0x48], dl
mov dl, byte [esp + 0x3c]
mov byte [esi + 0x55], cl
mov ecx, dword [esp + 0x30]
mov word [esi + 0x62], ax
mov word [esi + 0x64], ax
mov eax, dword [esp + 0x20]
mov dword [esi + 0x40], edi
mov dword [esi + 0x38], edi
pop edi
mov word [esi + 0x46], bp
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], ebx
mov dword [esi + 0x3c], ebx
mov byte [esi + 0x4b], bl
mov byte [esi + 0x54], bl
mov byte [esi + 0x51], bl
mov byte [esi + 0x4f], bl
mov byte [esi + 0x57], bl
mov byte [esi + 0x52], bl
mov word [esi + 0x5e], bx
mov word [esi + 0x60], bx
mov dword [esi + 0x68], ebx
mov byte [esi + 0x4e], 1
mov byte [esi + 0x56], dl
mov dword [esi + 0x6c], esi
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], 1
pop esi
pop ebp
pop ebx
add esp, 8
ret 0x28
Function at 0x50c160
Capabilities:
Access peb ldr_data
Check for peb beingdebugged flag
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x86e04e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push esi
mov esi, ecx
push edi
xor edi, edi
lea eax, [esi + 0x80]
mov dword [esi + 8], 1
mov dword [esi + 0xc], edi
mov dword [esp + 0xc], esi
mov dword [eax], eax
mov dword [eax + 4], eax
mov eax, dword [esp + 0x20]
push eax
mov ecx, 0x9166c0
mov dword [esp + 0x1c], edi
call fcn.0050bef0
mov dword [esi + 0x7c], eax
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], edi
mov ebx, 0x3f800000
push 0x8f29e8
push 0x4f000000
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], edi
mov dword [esi + 0x28], edi
mov dword [esi + 0x2c], edi
mov dword [esi + 0x30], edi
mov dword [esi + 0x34], ebx
mov dword [esi + 0x38], edi
mov dword [esi + 0x3c], edi
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], edi
mov dword [esi + 0x48], ebx
mov dword [esi + 0x4c], edi
mov dword [esi + 0x50], edi
mov dword [esi + 0x54], edi
mov dword [esi + 0x58], edi
mov dword [esi + 0x5c], ebx
call fcn.0045d9e0
add esp, 8
call fcn.007c4b80
mov edx, dword [esi + 0x7c]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x18]
and ecx, 0xffff0000
mov dword [esi + 0x18], ecx
mov dword [esi + 0x70], edi
mov dword [esi + 0x74], ebx
mov dword [esi + 0x8c], eax
mov dword [esi + 0x88], edi
mov word [esi + 0x1c], di
mov eax, dword [edx + 8]
mov cx, word [eax + 0x9c]
mov dword [esi + 0x78], edi
add cx, 2
mov word [esi + 0x1e], cx
mov ecx, dword [esp + 0x10]
pop edi
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret 8
Function at 0x50c177
Capabilities:
Access peb ldr_data
Check for peb beingdebugged flag
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x86e04e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push esi
mov esi, ecx
push edi
xor edi, edi
lea eax, [esi + 0x80]
mov dword [esi + 8], 1
mov dword [esi + 0xc], edi
mov dword [esp + 0xc], esi
mov dword [eax], eax
mov dword [eax + 4], eax
mov eax, dword [esp + 0x20]
push eax
mov ecx, 0x9166c0
mov dword [esp + 0x1c], edi
call fcn.0050bef0
mov dword [esi + 0x7c], eax
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], edi
mov ebx, 0x3f800000
push 0x8f29e8
push 0x4f000000
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], edi
mov dword [esi + 0x28], edi
mov dword [esi + 0x2c], edi
mov dword [esi + 0x30], edi
mov dword [esi + 0x34], ebx
mov dword [esi + 0x38], edi
mov dword [esi + 0x3c], edi
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], edi
mov dword [esi + 0x48], ebx
mov dword [esi + 0x4c], edi
mov dword [esi + 0x50], edi
mov dword [esi + 0x54], edi
mov dword [esi + 0x58], edi
mov dword [esi + 0x5c], ebx
call fcn.0045d9e0
add esp, 8
call fcn.007c4b80
mov edx, dword [esi + 0x7c]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x18]
and ecx, 0xffff0000
mov dword [esi + 0x18], ecx
mov dword [esi + 0x70], edi
mov dword [esi + 0x74], ebx
mov dword [esi + 0x8c], eax
mov dword [esi + 0x88], edi
mov word [esi + 0x1c], di
mov eax, dword [edx + 8]
mov cx, word [eax + 0x9c]
mov dword [esi + 0x78], edi
add cx, 2
mov word [esi + 0x1e], cx
mov ecx, dword [esp + 0x10]
pop edi
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret 8

Function at 0x51a2f0
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x86e3d9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push esi
mov esi, ecx
push 0x50e0f0
push 0x50e0d0
xor ebx, ebx
push 3
push 0x30
lea eax, [esi + 0x30]
push eax
mov dword [esp + 0x1c], esi
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
call fcn.007c90a0
push 0x50e0f0
push 0x50e0d0
push 3
push 0x30
lea ecx, [esi + 0xe0]
push ecx
mov dword [esp + 0x28], ebx
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xc4], ebx
mov dword [esi + 0xc8], ebx
mov dword [esi + 0xcc], ebx
mov dword [esi + 0xd0], ebx
mov dword [esi + 0xd4], ebx
mov dword [esi + 0xd8], ebx
mov dword [esi + 0xdc], ebx
call fcn.007c90a0
push 0x50e0f0
push 0x50e0d0
push 3
push 0x30
lea edx, [esi + 0x190]
push edx
mov byte [esp + 0x28], 1
mov dword [esi + 0x170], ebx
mov dword [esi + 0x174], ebx
mov dword [esi + 0x178], ebx
mov dword [esi + 0x17c], ebx
mov dword [esi + 0x180], ebx
mov dword [esi + 0x184], ebx
mov dword [esi + 0x188], ebx
mov dword [esi + 0x18c], ebx
call fcn.007c90a0
mov ecx, dword [esp + 0xc]
mov dword [esi + 0x220], ebx
mov byte [esi], bl
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret
Function at 0x51a307
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x86e3d9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push esi
mov esi, ecx
push 0x50e0f0
push 0x50e0d0
xor ebx, ebx
push 3
push 0x30
lea eax, [esi + 0x30]
push eax
mov dword [esp + 0x1c], esi
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
call fcn.007c90a0
push 0x50e0f0
push 0x50e0d0
push 3
push 0x30
lea ecx, [esi + 0xe0]
push ecx
mov dword [esp + 0x28], ebx
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xc4], ebx
mov dword [esi + 0xc8], ebx
mov dword [esi + 0xcc], ebx
mov dword [esi + 0xd0], ebx
mov dword [esi + 0xd4], ebx
mov dword [esi + 0xd8], ebx
mov dword [esi + 0xdc], ebx
call fcn.007c90a0
push 0x50e0f0
push 0x50e0d0
push 3
push 0x30
lea edx, [esi + 0x190]
push edx
mov byte [esp + 0x28], 1
mov dword [esi + 0x170], ebx
mov dword [esi + 0x174], ebx
mov dword [esi + 0x178], ebx
mov dword [esi + 0x17c], ebx
mov dword [esi + 0x180], ebx
mov dword [esi + 0x184], ebx
mov dword [esi + 0x188], ebx
mov dword [esi + 0x18c], ebx
call fcn.007c90a0
mov ecx, dword [esp + 0xc]
mov dword [esi + 0x220], ebx
mov byte [esi], bl
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret

Function at 0x5268a0
Capabilities:
Enumerate files on windows
Get common file path

Disassembly:
sub esp, 0x240
push ebp
push esi
lea eax, [esp + 8]
push eax
push 0
push 0
push 0x801c
push 0
mov ebp, ecx
call dword [sym.imp.SHFOLDER.dll_SHGetFolderPathA]
lea ecx, [esp + 8]
push 0x89b6f4
push ecx
mov edx, ecx
push edx
call fcn.00460ed0
lea eax, [esp + 0x14]
push str.NFS_Underground_2
push eax
mov ecx, eax
push ecx
call fcn.00460ed0
lea edx, [esp + 0x20]
push 0x89b6dc
push edx
mov eax, edx
push eax
call fcn.00460ed0
add esp, 0x24
lea ecx, [esp + 0x108]
push ecx
lea edx, [esp + 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x518bf8
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_FindNextFileA]
push edi
lea eax, [esp + 0x110]
push eax
push esi
mov edi, 1
call ebx
test eax, eax
je 0x518bef
nop
lea ecx, [esp + 0x110]
push ecx
push esi
inc edi
call ebx
test eax, eax
jne 0x518bd0
cmp edi, 2
jbe 0x518bef
mov edx, dword [0x91cb20]
mov byte [edx + 0x1c], 1
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
pop edi
pop ebx
mov ecx, ebp
call fcn.00518570
pop esi
pop ebp
add esp, 0x240
ret
mov byte [ecx + 0x1d], 1
jmp 0x518b40