joyce8/EMBER2024-capa huggingface dataset:
Function at 0x409776
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x70b7c6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push esi
mov esi, ecx
mov dword [esp + 4], esi
mov eax, dword [esi + 0x760]
mov dword [esp + 0x10], 1
test eax, eax
je 0x409795
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [esi + 0x30]
call fcn.00405a60
mov edx, dword [esi + 0x24]
push edx
call fcn.0044f656
mov ecx, dword [esp + 0xc]
add esp, 4
mov dword fs:[0], ecx
pop esi
add esp, 0x10
ret
Function at 0x411db6
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x70c305
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push esi
mov esi, ecx
xor eax, eax
mov dword [esp + 4], esi
mov dword [esi], 0x71a030
mov dword [esi + 4], 0x71a354
mov dword [esi + 8], 0x71a010
mov dword [esi + 0xc], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], eax
mov dword [esp + 0x10], eax
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], eax
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], eax
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], eax
mov dword [esi + 0x78], eax
mov dword [esi + 0x7c], eax
lea ecx, [esi + 0x80]
mov byte [esp + 0x10], 4
call fcn.004eca57
mov ecx, esi
mov byte [esp + 0x10], 5
mov dword [esi], 0x71a320
mov dword [esi + 4], 0x71a304
mov dword [esi + 8], 0x71a2f4
call fcn.00412080
mov ecx, dword [esp + 8]
mov eax, esi
pop esi
mov dword fs:[0], ecx
add esp, 0x10
ret

Function at 0x411f79
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x70c32e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
push esi
mov esi, ecx
push edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x1c], 0
mov eax, dword [esi + 0x80]
push eax
call fcn.0044f656
mov eax, dword [esi + 0x78]
push eax
call fcn.0044f656
mov edi, dword [esi + 0x40]
add esp, 8
test edi, edi
je 0x411fc8
mov eax, dword [esi + 0x3c]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x411fc4
mov eax, dword [ebx]
push eax
call fcn.0044f656
push ebx
call fcn.0044f656
add esp, 8
test edi, edi
jne 0x411fa8
mov eax, dword [esi + 0x3c]
push ebp
push eax
call fcn.0044f656
lea ebp, [esi + 0x30]
add esp, 4
mov dword [esp + 0x14], ebp
mov ebx, dword [ebp + 4]
mov byte [esp + 0x20], 2
test ebx, ebx
je 0x412018
mov ecx, dword [ebp]
dec ebx
mov edi, dword [ecx + ebx*4]
test edi, edi
je 0x412014
mov edx, dword [edi + 0x68]
push edx
call fcn.0044f656
mov eax, dword [edi]
add esp, 4
test eax, eax
je 0x41200b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push edi
call fcn.0044f656
add esp, 4
test ebx, ebx
jne 0x411fe8
mov edx, dword [ebp]
push edx
call fcn.0044f656
mov edi, dword [esi + 0x28]
add esp, 4
test edi, edi
pop ebp
je 0x412056
mov eax, dword [esi + 0x24]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x412052
mov ecx, dword [ebx + 0x34]
push ecx
call fcn.0044f656
mov edx, dword [ebx + 0x10]
push edx
call fcn.0044f656
push ebx
call fcn.0044f656
add esp, 0xc
test edi, edi
jne 0x41202c
mov eax, dword [esi + 0x24]
push eax
call fcn.0044f656
mov ecx, dword [esi + 0x18]
push ecx
call fcn.0044f656
mov ecx, dword [esp + 0x1c]
add esp, 8
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0x14
ret
Function at 0x412880
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x70c3c8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push esi
mov esi, ecx
xor eax, eax
mov dword [esp + 4], esi
mov dword [esi], eax
mov dword [esi + 8], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x20], eax
mov dword [esi + 0x28], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x14], eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x24], eax
mov dword [esi + 0x2c], eax
mov byte [esi + 0x30], al
mov byte [esi + 0x31], al
mov byte [esi + 0x32], al
mov byte [esi + 0x33], al
mov byte [esi + 0x34], al
mov byte [esi + 0x35], al
mov byte [esi + 0x36], al
mov byte [esi + 0x37], al
mov byte [esi + 0x38], al
mov dword [esi + 0x40], eax
mov dword [esi + 0x48], eax
mov dword [esi + 0x50], eax
mov dword [esi + 0x44], eax
mov dword [esi + 0x4c], eax
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], eax
mov dword [esi + 0x60], eax
lea ecx, [esi + 0x68]
mov dword [esp + 0x10], eax
mov dword [esi + 0x5c], eax
mov dword [esi + 0x64], eax
call fcn.004eb948
mov ecx, dword [esp + 8]
mov eax, esi
pop esi
mov dword fs:[0], ecx
add esp, 0x10
ret
Function at 0x415970
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x70c488
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
push ebp
push esi
push 0x7f02
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov ebx, eax
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
push ebp
push esi
mov dword [esp + 0x34], 0
call fcn.005afe50
push esi
call fcn.0043d900
mov eax, dword [0x7c8968]
push 0x18c6
mov cx, word [eax + 0x7ce]
mov edx, dword [eax + 8]
push ecx
push 0x10000040
push 0x773624
push edx
push esi
call fcn.005c1dd0
add esp, 0x24
lea eax, [esp + 0x10]
mov ecx, 0x7c8538
push 0x190
push 0x258
push eax
push str.DlgSelFld
call fcn.005bc700
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x14]
push edx
push eax
push ecx
push esi
call fcn.0043d310
push esi
call fcn.005c39e0
push 0x773664
push esi
call fcn.004136b0
mov eax, dword [esp + 0x30]
add esp, 0x20
cmp eax, 0x80000000
jne 0x415a6e
lea edx, [esp + 0x10]
push edx
push esi
call fcn.005c3a10
mov ecx, dword [0x7c7098]
lea eax, [esp + 0x18]
push 0
push eax
push ecx
call fcn.005b0660
lea edx, [esp + 0x24]
push edx
push esi
call fcn.005c3a90
add esp, 0x1c
push edi
push 0x18b1
push esi
call fcn.005afa20
mov edi, eax
push edi
call fcn.005b02d0
push esi
call fcn.006033f0
push 0
push 0
push 0
push 0
push 0x18b1
push esi
call fcn.0044b2a0
mov eax, dword [0x7c8968]
push 0x77365c
mov cx, word [eax + 0x7c8]
mov edx, dword [eax + 8]
push ecx
push edi
push edx
call fcn.005b6df0
push ebp
push edi
call fcn.00415680
add esp, 0x40
push edi
call fcn.005b6180
push esi
call fcn.00415730
push 0x63
push esi
call fcn.005bf5c0
push 2
push esi
call fcn.005bf5c0
add esp, 0x18
test ebx, ebx
pop edi
je 0x415aec
push ebx
call dword [sym.imp.USER32.dll_SetCursor]
mov ecx, dword [esp + 0x24]
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x24
ret
Function at 0x42dc20
Capabilities:
Encode data using xor

Disassembly:
push ecx
mov eax, dword [esp + 8]
push ebx
push ebp
push esi
test eax, eax
je 0x42dc92
mov cl, byte [eax]
xor ebp, ebp
test cl, cl
je 0x42dc42
cmp cl, 0x1a
je 0x42dc42
mov cl, byte [eax + ebp + 1]
inc ebp
test cl, cl
jne 0x42dc34
xor esi, esi
xor ecx, ecx
test ebp, ebp
mov dword [esp + 0xc], ebp
mov ebx, ebp
jbe 0x42dc9c
push edi
xor edx, edx
mov dl, byte [esi + eax]
mov edi, edx
xor edx, edx
lea eax, [edi + esi]
xor ecx, eax
inc ebp
mov eax, ecx
add edi, ecx
div ebp
mov eax, dword [esp + 0x18]
mov ebp, edx
xor edx, edx
mov dl, byte [eax + ebp + 1]
mov ebp, ecx
add ebp, edx
lea edx, [ebp + edi*2]
mov ebp, dword [esp + 0x10]
add edx, ebx
imul edx, ecx
inc esi
mov ebx, edx
cmp esi, ebp
jb 0x42dc51
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
pop ecx
ret
pop esi
pop ebp
mov eax, 0xc
pop ebx
pop ecx
ret
pop esi
mov eax, ebx
pop ebp
pop ebx
pop ecx
ret

Function at 0x431e80
Capabilities:
Create process on windows

Disassembly:
sub esp, 0x440
push edi
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x40]
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 4]
push 0x400
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x450]
lea eax, [esp + 0x44]
push eax
push ecx
call fcn.005be650
mov edx, dword [esp + 0x454]
add esp, 0xc
lea ecx, [esp + 4]
lea eax, [esp + 0x40]
push ecx
mov dword [esp + 8], 0x3c
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], 1
call dword [sym.imp.SHELL32.dll_ShellExecuteExA]
pop edi
add esp, 0x440
ret

Function at 0x434e10
Capabilities:
Log keystrokes via polling

Disassembly:
sub esp, 0xc
mov al, byte [ecx + 4]
push esi
lea esi, [ecx + 4]
mov dword [esp + 0xc], ecx
test al, al
jne 0x434e8f
push ebx
push edi
mov ecx, 0x40
xor eax, eax
mov edi, esi
mov dword [esp + 0xc], eax
rep stosd dword es:[edi], eax
mov edi, dword [sym.imp.USER32.dll_VkKeyScanA]
mov dword [esp + 0x10], eax
mov ebx, 1
push 0
lea eax, [esp + 0x14]
push 4
lea ecx, [esp + 0x14]
push eax
push ecx
mov byte [esp + 0x1c], bl
call fcn.005be430
mov edx, dword [esp + 0x20]
add esp, 0x10
push edx
call edi
movsx eax, ax
cmp eax, 0x100
jae 0x434e7a
cmp byte [esi + eax], 0
jne 0x434e7a
mov cl, byte [esp + 0xc]
mov byte [esi + eax], cl
inc ebx
cmp ebx, 0x100
jb 0x434e42
mov al, byte [esi]
mov ecx, dword [esp + 0x14]
inc al
pop edi
mov byte [esi], al
pop ebx
mov edx, dword [esp + 0x14]
pop esi
and edx, 0xff
mov al, byte [edx + ecx + 4]
add esp, 0xc
ret 4
Function at 0x436010
Capabilities:
Get disk information

Disassembly:
sub esp, 0x100
lea eax, [esp]
push ebx
push ebp
push esi
push edi
push 0x100
push eax
push 0
call fcn.005b2660
add esp, 0xc
test eax, eax
je 0x436084
mov al, byte [esp + 0x10]
xor esi, esi
test al, al
je 0x436084
mov ebx, dword [esp + 0x114]
mov ebp, dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
cmp esi, 0x100
jae 0x436084
lea edi, [esp + esi + 0x10]
push edi
call ebp
cmp eax, 3
jne 0x43606e
push ebx
push 0x435f80
push edi
push 0
call fcn.0041dbc0
add esp, 0x10
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea esi, [esi + ecx + 1]
mov al, byte [esp + esi + 0x10]
test al, al
jne 0x436049
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x100
ret

Function at 0x4363b0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x70cd18
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
push ebp
push esi
push 0x7f02
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
mov ebp, dword [sym.imp.USER32.dll_SetCursor]
push eax
call ebp
mov ebx, eax
mov dword [esp + 0xc], ebx
mov esi, dword [esp + 0x34]
mov dword [esp + 0x2c], 0
push esi
call fcn.0043d900
mov eax, dword [0x7c8968]
push 0x18b2
mov cx, word [eax + 0x7ce]
mov edx, dword [eax + 8]
push ecx
push 0x10000040
push 0x776428
push edx
push esi
call fcn.005c1dd0
add esp, 0x1c
lea eax, [esp + 0x10]
mov ecx, 0x7c8538
push 0x190
push 0x258
push eax
push str.DlgExclFld
call fcn.005bc700
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x14]
push edx
push eax
push ecx
push esi
call fcn.0043d310
push esi
call fcn.005c39e0
push 0x77647c
push esi
call fcn.004136b0
mov eax, dword [esp + 0x30]
add esp, 0x20
cmp eax, 0x80000000
jne 0x4364a5
lea edx, [esp + 0x10]
push edx
push esi
call fcn.005c3a10
mov ecx, dword [0x7c7098]
lea eax, [esp + 0x18]
push 0
push eax
push ecx
call fcn.005b0660
lea edx, [esp + 0x24]
push edx
push esi
call fcn.005c3a90
add esp, 0x1c
push edi
push 0x18b1
push esi
call fcn.005afa20
mov edi, eax
push edi
call fcn.005b02d0
push esi
call fcn.006033f0
push 4
push 0
push 0
push 0
push 0x18b1
push esi
call fcn.0044b2a0
push edi
call fcn.00436180
add esp, 0x2c
push 0
push 0
push 0x1004
push edi
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jne 0x4364f8
push edi
call fcn.00436090
add esp, 4
push edi
call fcn.005b6180
push esi
call fcn.004362f0
push 0x63
push esi
call fcn.005bf5c0
push 2
push esi
call fcn.005bf5c0
add esp, 0x18
test ebx, ebx
pop edi
je 0x43651f
push ebx
call ebp
mov ecx, dword [esp + 0x24]
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x24
ret
Function at 0x436b30
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x70cd38
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
push ebp
push esi
push 0x7f02
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
mov ebp, dword [sym.imp.USER32.dll_SetCursor]
push eax
call ebp
mov ebx, eax
mov dword [esp + 0xc], ebx
mov esi, dword [esp + 0x34]
mov dword [esp + 0x2c], 0
push esi
call fcn.0043d900
mov eax, dword [0x7c8968]
push 0x18b2
mov cx, word [eax + 0x7ce]
mov edx, dword [eax + 8]
push ecx
push 0x10000040
push 0x776488
push edx
push esi
call fcn.005c1dd0
add esp, 0x1c
lea eax, [esp + 0x10]
mov ecx, 0x7c8538
push 0x190
push 0x258
push eax
push str.DExF
call fcn.005bc700
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x14]
push edx
push eax
push ecx
push esi
call fcn.0043d310
push esi
call fcn.005c39e0
push 0x7764a8
push esi
call fcn.004136b0
mov eax, dword [esp + 0x30]
add esp, 0x20
cmp eax, 0x80000000
jne 0x436c25
lea edx, [esp + 0x10]
push edx
push esi
call fcn.005c3a10
mov ecx, dword [0x7c7098]
lea eax, [esp + 0x18]
push 0
push eax
push ecx
call fcn.005b0660
lea edx, [esp + 0x24]
push edx
push esi
call fcn.005c3a90
add esp, 0x1c
push edi
push 0x18b1
push esi
call fcn.005afa20
mov edi, eax
push edi
call fcn.005b02d0
push esi
call fcn.006033f0
push 4
push 0
push 0
push 0
push 0x18b1
push esi
call fcn.0044b2a0
push edi
call fcn.00436b10
push edi
call fcn.005b6180
push esi
call fcn.004362f0
push 0x63
push esi
call fcn.005bf5c0
push 2
push esi
call fcn.005bf5c0
add esp, 0x44
test ebx, ebx
pop edi
je 0x436c7f
push ebx
call ebp
mov ecx, dword [esp + 0x24]
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x24
ret
Function at 0x437f90
Capabilities:
Check for software breakpoints

Disassembly:
push 0xffffffffffffffff
push 0x70cdd8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x64
push ebx
push ebp
push esi
xor ebx, ebx
push edi
push ebx
lea ecx, [esp + 0x14]
call fcn.005b73a0
mov esi, dword [esp + 0x8c]
mov ecx, 0x13
xor eax, eax
lea edi, [esp + 0x24]
rep stosd dword es:[edi], eax
mov ecx, esi
mov dword [esp + 0x7c], ebx
stosw word es:[edi], ax
call fcn.005b75d0
mov ecx, esi
mov ebp, eax
call fcn.005b75f0
mov esi, eax
cmp esi, ebx
je 0x43806d
cmp ebp, ebx
je 0x43806d
jle 0x43804e
lea eax, [esp + 0x32]
push 0x3c
push eax
push esi
call fcn.005be860
mov eax, dword [esp + 0x94]
add esp, 0xc
lea ecx, [ebx + ebx + 0xcd]
cmp eax, 0xcc
mov word [esp + 0x24], cx
mov dword [esp + 0x26], 0x10000
jne 0x438029
inc word [esp + 0x24]
lea edx, [esp + 0x24]
push 0x4e
push edx
lea ecx, [esp + 0x18]
call fcn.005b74b0
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
inc ebx
cmp ebx, ebp
lea esi, [esi + ecx + 1]
jl 0x437ff2
mov ecx, 0x13
xor eax, eax
lea edi, [esp + 0x24]
push 0x4e
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x28]
lea ecx, [esp + 0x14]
push eax
call fcn.005b74b0
lea ecx, [esp + 0x10]
call fcn.005b7600
lea ecx, [esp + 0x10]
mov esi, eax
mov dword [esp + 0x7c], 0xffffffff
call fcn.005b73c0
mov ecx, dword [esp + 0x74]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x70
ret

Function at 0x43b890
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x70cef6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4d8
push esi
push edi
push 0
lea ecx, [esp + 0xc]
call fcn.005b73a0
push 0
lea ecx, [esp + 0x20]
mov dword [esp + 0x4ec], 0
call fcn.005b73a0
mov ecx, 0x118
xor eax, eax
lea edi, [esp + 0x80]
lea edx, [esp + 0x80]
rep stosd dword es:[edi], eax
inc word [esp + 0x88]
mov esi, dword [esp + 0x88]
lea eax, [esp + 8]
lea ecx, [esp + 0x1c]
push edx
push 0x43b7e0
mov byte [esp + 0x4f0], 1
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
call fcn.0042d630
add esp, 8
test eax, eax
je 0x43b996
cmp si, word [esp + 0x88]
jae 0x43b996
mov ecx, 0x13
xor eax, eax
lea edi, [esp + 0x30]
push 0x4e
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x34]
lea ecx, [esp + 0xc]
push eax
call fcn.005b74b0
lea ecx, [esp + 8]
call fcn.005b7600
lea ecx, [esp + 0x1c]
mov esi, eax
mov byte [esp + 0x4e8], 0
call fcn.005b73c0
lea ecx, [esp + 8]
mov dword [esp + 0x4e8], 0xffffffff
call fcn.005b73c0
mov eax, esi
pop edi
pop esi
mov ecx, dword [esp + 0x4d8]
mov dword fs:[0], ecx
add esp, 0x4e4
ret
lea ecx, [esp + 0x1c]
mov byte [esp + 0x4e8], 0
call fcn.005b73c0
lea ecx, [esp + 8]
mov dword [esp + 0x4e8], 0xffffffff
call fcn.005b73c0
mov ecx, dword [esp + 0x4e0]
pop edi
xor eax, eax
pop esi
mov dword fs:[0], ecx
add esp, 0x4e4
ret
Function at 0x43c870
Capabilities:
Open clipboard
Read clipboard data

Disassembly:
mov eax, dword [esp + 4]
push ebx
push ebp
push esi
push edi
push eax
xor esi, esi
call dword [sym.imp.USER32.dll_OpenClipboard]
mov edi, dword [sym.imp.USER32.dll_GetClipboardData]
push 1
call edi
mov ebp, eax
test ebp, ebp
je 0x43c8db
push ebp
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ebx, eax
test ebx, ebx
je 0x43c917
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
inc edi
push edi
call fcn.005c33c0
mov esi, eax
add esp, 4
test esi, esi
je 0x43c917
push edi
push esi
push ebx
call fcn.005be890
add esp, 0xc
push ebp
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
call dword [sym.imp.USER32.dll_CloseClipboard]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
ret
push 0xd
call edi
mov ebp, eax
test ebp, ebp
je 0x43c91e
push ebp
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ebx, eax
test ebx, ebx
je 0x43c917
push ebx
call fcn.00450270
mov edi, eax
inc edi
push edi
call fcn.005c33c0
mov esi, eax
add esp, 8
test esi, esi
je 0x43c917
push 0
push edi
push esi
push ebx
call fcn.005be3f0
add esp, 0x10
push ebp
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
call dword [sym.imp.USER32.dll_CloseClipboard]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
ret
Function at 0x4421d0
Capabilities:
Copy file

Disassembly:
push 0xffffffffffffffff
push 0x70d11b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc7c
push ebp
push esi
xor esi, esi
lea ecx, [esp + 0xc]
push esi
call fcn.005b73a0
mov eax, dword [esp + 0xc98]
lea edx, [esp + 0x880]
push 0x401
push edx
mov ecx, dword [eax + 0xc]
add eax, 0x450
push eax
mov dword [esp + 0xc98], esi
mov dword [esp + 0x14], ecx
call fcn.005be860
lea eax, [esp + 0x88c]
push 0x401
push eax
push esi
call fcn.005be650
mov eax, dword [esp + 0x20]
mov bp, word [esp + 0xcb4]
add esp, 0x18
cmp eax, esi
je 0x4422f9
call fcn.0043b280
cmp dword [esp + 8], esi
jbe 0x4422f9
mov ecx, dword [0x7c8968]
push esi
mov ecx, dword [ecx + 0x2a0]
call fcn.00449ca0
test eax, eax
je 0x4422ec
lea edx, [esp + 0x40]
lea eax, [esp + 0x47c]
push edx
push 0x401
push eax
push esi
call fcn.0043fe70
mov al, byte [esp + 0x48c]
add esp, 0x10
test al, al
je 0x4422ec
test byte [esp + 0x4f], 0x10
je 0x4422b5
mov ecx, dword [esp + 0x51]
mov eax, dword [esp + 0x55]
or ecx, eax
jne 0x4422ec
test bp, bp
je 0x4422db
jmp 0x4422ba
test bp, bp
je 0x4422db
mov dl, byte [esp + 0x42]
mov eax, dword [0x7c8968]
or dl, 0x60
mov byte [esp + 0x42], dl
mov ecx, dword [eax + 0x2a0]
lea edx, [esp + 0x40]
push edx
push esi
call fcn.00449750
lea ecx, [esp + 0x47c]
push ecx
lea ecx, [esp + 0x10]
call fcn.005b7730
mov eax, dword [esp + 8]
inc esi
cmp esi, eax
jb 0x44225f
lea ecx, [esp + 0xc]
call fcn.005b75d0
test eax, eax
je 0x442409
push edi
push 0
lea ecx, [esp + 0x14]
call fcn.005b7730
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x24]
mov edx, dword [esp + 0xc98]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x10]
mov dword [esp + 0x24], edx
call fcn.005b75f0
mov cx, bp
mov dword [esp + 0x2c], eax
neg cx
sbb ecx, ecx
lea edx, [esp + 0x24]
lea eax, [esp + 0x884]
add ecx, 2
push edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], ecx
mov word [esp + 0x38], 0x200
call dword [sym.imp.SHELL32.dll_SHFileOperationA]
test eax, eax
pop edi
jne 0x4423a9
mov eax, dword [esp + 0x32]
test eax, eax
jne 0x4423a9
push 5
call fcn.0043a360
add esp, 4
test bp, bp
je 0x442409
mov ecx, dword [0x7c7098]
lea eax, [esp + 8]
push eax
push 0x4420a0
push 0x408
push ecx
call fcn.005afff0
add esp, 0x10
jmp 0x442409
test bp, bp
je 0x442409
mov eax, dword [esp + 8]
xor esi, esi
test eax, eax
jbe 0x442409
mov eax, dword [0x7c8968]
lea edx, [esp + 0x40]
push 0x439
push edx
mov ecx, dword [eax + 0x2a0]
push esi
call fcn.00449790
cmp word [esp + 0x40], 0
je 0x442400
mov al, byte [esp + 0x42]
test al, 0x60
je 0x442400
mov edx, dword [0x7c8968]
and al, 0x9f
lea ecx, [esp + 0x40]
mov byte [esp + 0x42], al
push ecx
mov ecx, dword [edx + 0x2a0]
push esi
call fcn.00449750
mov eax, dword [esp + 8]
inc esi
cmp esi, eax
jb 0x4423b8
lea ecx, [esp + 0xc]
mov dword [esp + 0xc8c], 0xffffffff
call fcn.005b73c0
mov ecx, dword [esp + 0xc84]
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0xc88
ret
Function at 0x448a70
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x70d32c
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
lea ecx, [esi + 0x8c]
call fcn.00447930
lea ecx, [esi + 0xac]
mov dword [esp + 0x14], 0
call fcn.00447930
mov ecx, 0x23
xor eax, eax
mov edi, esi
mov edx, 1
rep stosd dword es:[edi], eax
push eax
mov ecx, esi
mov byte [esp + 0x18], dl
mov dword [esi + 0x30], edx
call fcn.00448f50
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x2c]
push ecx
push edx
push eax
mov ecx, esi
call fcn.00448bd0
mov ecx, dword [esp + 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x10
ret 0x1c

Function at 0x45aea5
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
lea eax, [ebp - 4]
push esi
xor esi, esi
push eax
push 0x20019
push esi
push str.CLSIDADB880A6_D8FF_11CF_9377_00AA003B7A11InprocServer32
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x45aefd
lea eax, [ebp - 8]
mov dword [ebp - 8], 0x104
push eax
push dword [ebp + 8]
push esi
push esi
push 0x71ac9c
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x45aef0
push 1
pop esi
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
jmp 0x45aeff
xor eax, eax
pop esi
leave
ret 4
Function at 0x45e720
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
mov esi, dword [esp + 0xc]
xor ebx, ebx
push edi
mov eax, dword [esi + 0x6af6c]
mov dword [esi + 0x6af74], ebx
cmp eax, ebx
jne 0x45e74d
mov dword [esi + 0x6af74], 1
mov dword [esi + 0x6af6c], 0x10000
mov ecx, 0x7fff
xor eax, eax
lea edi, [esi + 0x4af6c]
mov dword [esi + 0x6af68], ebx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x14]
xor ecx, ecx
xor edx, edx
mov cx, word [eax*8 + 0x71adf2]
mov dword [esi + 0x6af94], ecx
mov dx, word [eax*8 + 0x71adf0]
xor ecx, ecx
mov dword [esi + 0x6af98], edx
mov cx, word [eax*8 + 0x71adf4]
xor edx, edx
mov dword [esi + 0x6af9c], ecx
mov dx, word [eax*8 + 0x71adf6]
cmp eax, 2
mov dword [esi + 0x6af90], edx
jg 0x45e7b4
mov eax, dword [esp + 0x18]
or byte [eax], 4
jmp 0x45e7c0
cmp eax, 8
jl 0x45e7c0
mov eax, dword [esp + 0x18]
or byte [eax], 2
mov eax, dword [esi]
lea edi, [esi + 0x1af6c]
push 0x10000
push edi
push eax
mov dword [esi + 0x6af80], ebx
mov dword [esi + 0x6af70], ebx
call dword [esi + 8]
add esp, 0xc
cmp eax, ebx
mov dword [esi + 0x6af8c], eax
je 0x45e83a
cmp eax, 0xffffffff
je 0x45e83a
cmp eax, 0x106
mov dword [esi + 0x6af88], ebx
jae 0x45e806
push esi
call fcn.0045e9b0
add esp, 4
mov dword [esi + 0x6af78], ebx
xor eax, eax
mov edx, dword [esi + 0x6af78]
xor ecx, ecx
mov cl, byte [edi + eax]
and edx, 0x3ff
and ecx, 0x7fff
shl edx, 5
xor ecx, edx
inc eax
cmp eax, 2
mov dword [esi + 0x6af78], ecx
jb 0x45e80e
pop edi
pop esi
pop ebx
ret
mov dword [esi + 0x6af88], 1
mov dword [esi + 0x6af8c], ebx
pop edi
pop esi
pop ebx
ret