joyce8/EMBER2024-capa huggingface dataset:
Function at 0x460060
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
cmp dword [edi + 0x3c], 0x22
je 0x460197
mov eax, dword [edi + 0x1c]
push eax
push edi
xor ecx, ecx
call fcn.004675c0
mov esi, eax
test esi, esi
je 0x460316
mov eax, dword [edi]
cmp byte [eax + 0x8c5], 0
jne 0x4600e3
fldz
mov ecx, dword [0x6a9f00]
mov ebx, dword [eax + 0x784]
fst dword [esp + 0x14]
fcomp dword [ecx + 0xdd4]
fnstsw ax
test ah, 0x44
jnp 0x4600cf
fld dword [ecx + 0xdd4]
push ecx
fstp dword [esp]
call fcn.005af410
fstp dword [esp + 0x18]
add esp, 4
fld dword [esp + 0x14]
push ecx
mov eax, 0x44
fstp dword [esp]
mov ecx, ebx
call fcn.00515020
push 0
mov eax, esi
jmp loc.00795a83
cmp dword [edi + 0x54], 0x32
jne 0x4601eb
mov ecx, dword [edi + 4]
mov edx, dword [edi + 0x12c]
add ecx, 0x90
test edx, edx
je 0x4601eb
movzx eax, dx
cmp eax, dword [ecx + 8]
jae 0x4601eb
imul eax, eax, 0x15c
add eax, dword [ecx]
mov esi, eax
cmp dword [esi + 0x158], edx
jne 0x4601eb
mov edi, esi
mov dword [esi + 0x64], 3
call fcn.0052f440
mov eax, esi
call fcn.00524310
push 0
mov eax, esi
call fcn.0052f6d0
mov edi, dword [ebp + 8]
cmp dword [edi + 0x54], 0x14
jne 0x4602cf
mov esi, dword [edi + 0x1c]
mov edx, dword [edi + 0xc]
imul esi, esi, 0x2710
mov eax, dword [edi + 8]
add edx, 7
mov dword [esp + 0x14], edx
add esi, 0x4af38
push esi
fild dword [esp + 0x18]
sub eax, 0x17
sub esp, 8
mov dword [esp + 0x20], eax
mov eax, dword [edi]
fstp dword [esp + 4]
mov ebx, 0x20
fild dword [esp + 0x20]
fstp dword [esp]
call fcn.00453c30
fld dword [0x6799d8]
push 0x16
fst dword [eax + 0x24]
push esi
fstp dword [eax + 0x34]
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 8]
mov eax, dword [edi]
add ecx, 0x40
mov dword [esp + 0x1c], ecx
fild dword [esp + 0x1c]
mov ecx, dword [eax + 0x820]
mov esi, dword [ecx]
sub esp, 8
add edx, 0x1f
fstp dword [esp + 4]
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fstp dword [esp]
call fcn.00518a70
mov eax, dword [edi]
cmp byte [eax + 0x8c5], 0
jne 0x4602cf
fldz
mov ecx, dword [0x6a9f00]
mov esi, dword [eax + 0x784]
fst dword [esp + 0x14]
fcomp dword [ecx + 0xac8]
fnstsw ax
test ah, 0x44
jnp 0x4602bb
fld dword [ecx + 0xac8]
push ecx
fstp dword [esp]
call fcn.005af410
fstp dword [esp + 0x18]
add esp, 4
fld dword [esp + 0x14]
push ecx
mov eax, 0x35
fstp dword [esp]
mov ecx, esi
call fcn.00515020
cmp dword [edi + 0x54], 0
jne 0x460316
push edi
call fcn.004679b0
mov ecx, dword [edi + 0x12c]
mov edi, dword [edi + 4]
add edi, 0x90
test ecx, ecx
je 0x460316
movzx eax, cx
cmp eax, dword [edi + 8]
jae 0x460316
imul eax, eax, 0x15c
add eax, dword [edi]
mov esi, eax
cmp dword [esi + 0x158], ecx
jne 0x460316
mov ecx, esi
call fcn.00530510
mov eax, esi
call fcn.00530170
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x460420
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor eax, eax
cmp dword [edi + 0x90], eax
jg 0x4605f9
mov edx, dword [edi + 4]
lea esi, [esp + 0x14]
mov byte [esp + 0x13], al
mov dword [esp + 0x14], eax
call fcn.0041c8f0
test al, al
je 0x4604e6
lea esp, [esp]
mov ebx, dword [esp + 0x14]
lea edi, [esp + 0x18]
call fcn.005320b0
mov eax, dword [ebx + 0x1c]
mov edi, dword [ebp + 8]
sub eax, dword [edi + 0x1c]
cmp dword [ebx + 0x24], 0x19
jne 0x46047e
xor eax, eax
cmp byte [ebx + 0xb8], 0
jne 0x4604cf
cmp byte [ebx + 0xec], 0
jne 0x4604cf
mov ebx, dword [ebx + 0x28]
cmp ebx, 1
je 0x4604cf
cmp ebx, 2
je 0x4604cf
cmp ebx, 3
je 0x4604cf
add eax, 1
cmp eax, 2
ja 0x4604cf
fild dword [edi + 0xc]
push 0x78
fadd qword [0x679338]
call fcn.006397d0
mov ecx, dword [edi + 8]
mov edx, eax
lea eax, [esp + 0x1c]
call fcn.0041c850
add esp, 4
test al, al
jne 0x4604e1
mov edx, dword [edi + 4]
lea esi, [esp + 0x14]
call fcn.0041c8f0
test al, al
jne 0x460460
jmp 0x4604e6
mov byte [esp + 0x13], 1
mov eax, dword [edi]
mov ecx, dword [eax + 0x820]
mov eax, dword [edi + 0x94]
mov edx, dword [ecx + 8]
mov ecx, dword [edi + 0x3c]
and eax, 0xffff
lea eax, [eax + eax*4]
shl eax, 5
add eax, dword [edx]
mov esi, 1
cmp ecx, esi
jne 0x460542
cmp byte [esp + 0x13], 0
je 0x4605ee
fld dword [0x679678]
push ecx
fstp dword [esp]
push 3
push str.anim_scared
lea ecx, [esi + 9]
mov eax, edi
mov dword [edi + 0x3c], 0x14
call fcn.0045fd90
jmp 0x4605ee
cmp ecx, 0x14
jne 0x460573
cmp dword [eax + 0x5c], 0
jle 0x4605ee
fldz
push ecx
fstp dword [esp]
mov ecx, 0xa
push 0
push str.anim_scaredidle
mov eax, edi
jmp 0x7948fb
cmp ecx, 0x15
jne 0x4605bb
cmp byte [esp + 0x13], 0
jne 0x4605ee
fld dword [0x679674]
push ecx
fstp dword [esp]
mov dword [edi + 0x3c], 0x16
call fcn.005af410
fadd qword [0x679560]
mov ecx, 0xa
mov eax, edi
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
push 3
push str.anim_grow
call fcn.0045fd90
jmp 0x4605ee
cmp ecx, 0x16
jne 0x4605ee
cmp dword [eax + 0x5c], 0
jle 0x4605ee
fld dword [0x679674]
push ecx
fstp dword [esp]
mov dword [edi + 0x3c], esi
call fcn.005af410
fadd qword [0x679358]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00468280
cmp dword [edi + 0x3c], esi
je 0x4605f9
mov eax, dword [edi + 0x5c]
mov dword [edi + 0x58], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x4035ac
Capabilities:
Generate random numbers using the delphi lcg

Disassembly:
push ebx
xor ebx, ebx
imul edx, dword [ebx + 0x917008], 0x8088405
inc edx
mov dword [ebx + 0x917008], edx
mul edx
mov eax, edx
pop ebx
ret

Function at 0x41d2ec
Capabilities:
Decompress data using aplib

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push ebp
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 8]
cld
mov dl, 0x80
mov al, byte [esi]
add esi, 1
mov byte [edi], al
add edi, 1
mov ebx, 2
add dl, dl
jne 0x41d31d
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x41d305
add dl, dl
jne 0x41d328
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x41d379
xor eax, eax
add dl, dl
jne 0x41d335
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x41d416
add dl, dl
jne 0x41d344
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x41d34f
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x41d35a
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x41d365
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
je 0x41d36f
mov ebx, edi
sub ebx, eax
mov al, byte [ebx]
mov byte [edi], al
inc edi
mov ebx, 2
jmp 0x41d314
mov eax, 1
add dl, dl
jne 0x41d387
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x41d392
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x41d37e
sub eax, ebx
mov ebx, 1
jne 0x41d3c5
mov ecx, 1
add dl, dl
jne 0x41d3ab
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x41d3b6
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x41d3a2
push esi
mov esi, edi
sub esi, ebp
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x41d314
dec eax
shl eax, 8
mov al, byte [esi]
inc esi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x41d3dc
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x41d3e7
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x41d3d3
cmp eax, 0x7d00
sbb ecx, 0xffffffff
cmp eax, 0x500
sbb ecx, 0xffffffff
cmp eax, 0x80
adc ecx, 0
cmp eax, 0x80
adc ecx, 0
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x41d314
mov al, byte [esi]
inc esi
xor ecx, ecx
shr al, 1
je 0x41d437
adc ecx, 2
mov ebp, eax
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
mov ebx, 1
jmp 0x41d314
pop ebp
sub edi, dword [ebp - 8]
mov dword [ebp - 0xc], edi
pop edi
pop esi
pop ebx
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
Function at 0x41f504
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov ebx, edx
xor edx, edx
push ebp
push 0x8fa9f2
push dword fs:[edx]
mov dword fs:[edx], esp
xor edx, edx
mov dword [ebp - 8], edx
mov esi, ebx
xor ecx, ecx
cmp byte [eax + 0x6a], 0
je 0x41f553
mov eax, ebx
xor edx, edx
push edx
push eax
mov eax, dword [esi + 0x3c]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov edx, dword [eax + 0x88]
test edx, edx
je 0x41f572
mov ecx, edx
add ecx, ebx
jmp 0x41f572
mov eax, ebx
xor edx, edx
push edx
push eax
mov eax, dword [esi + 0x3c]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov edx, dword [eax + 0x78]
test edx, edx
je 0x41f572
mov ecx, edx
add ecx, ebx
test ecx, ecx
je 0x41f5e4
mov esi, dword [ecx + 0x18]
mov eax, dword [ecx + 0x1c]
add eax, ebx
mov dword [ebp - 0x10], eax
mov edi, dword [ecx + 0x20]
add edi, ebx
mov eax, dword [ecx + 0x24]
add eax, ebx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
cmp eax, 0xffff
jbe 0x41f5cd
test esi, esi
jbe 0x41f5e4
mov eax, dword [edi]
add eax, ebx
mov edx, dword [ebp - 4]
call fcn.004088f4
test eax, eax
jne 0x41f5bf
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
shl eax, 2
add eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov dword [ebp - 8], eax
jmp 0x41f5e4
add dword [ebp - 0xc], 2
add edi, 4
dec esi
test esi, esi
ja 0x41f59c
jmp 0x41f5e4
mov edx, eax
sub edx, dword [ecx + 0x10]
cmp edx, dword [ecx + 0x14]
jae 0x41f5e4
mov eax, edx
shl eax, 2
add eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov dword [ebp - 8], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8fa9f9
ret
Function at 0x420750
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x10], ebx
mov word [ebp - 4], cx
mov byte [ebp - 1], dl
xor eax, eax
push ebp
push 0x8fbd6b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
call fcn.00404cd0
xor ebx, ebx
mov eax, ebx
and eax, 0x80000001
jns 0x42078b
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x4207a4
lea eax, [ebp - 0x10]
mov edx, dword [0x91973c]
mov edx, dword [edx]
mov edx, dword [edx + 0x14]
call fcn.00404d30
jmp 0x4207b7
lea eax, [ebp - 0x10]
mov edx, dword [0x91973c]
mov edx, dword [edx]
mov edx, dword [edx + 0x18]
call fcn.00404d30
lea eax, [ebp - 0x10]
mov edx, ebx
sar edx, 1
jns 0x4207c3
adc edx, 0
mov edx, dword [edx*4 + 0x918538]
call fcn.00404f20
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
mov eax, dword [ebp - 0x10]
call fcn.00404f04
push eax
call fcn.00406b1c
mov esi, eax
cmp esi, 0xffffffff
je 0x42093d
mov eax, 0x40
call fcn.00403268
mov edi, eax
push 0
lea eax, [ebp - 8]
push eax
push 0x40
push edi
push esi
call fcn.00406d8c
test eax, eax
je 0x420930
mov eax, edi
cmp word [eax], 0x5a4d
jne 0x420930
push 0
push 0
mov eax, dword [eax + 0x3c]
push eax
push esi
call fcn.00406dec
mov eax, edi
call fcn.00403288
mov eax, 0x18
call fcn.00403268
mov edi, eax
push 0
lea eax, [ebp - 8]
push eax
push 0x18
push edi
push esi
call fcn.00406d8c
test eax, eax
je 0x420930
mov eax, edi
cmp dword [eax], 0x4550
jne 0x420930
add eax, 4
mov dword [ebp - 0xc], eax
cmp byte [ebp - 1], 0
je 0x4208ce
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x8664
jne 0x4208ce
mov eax, edi
call fcn.00403288
mov eax, 0xf0
call fcn.00403268
mov edi, eax
push 0
lea eax, [ebp - 8]
push eax
push 0xf0
push edi
push esi
call fcn.00406d8c
test eax, eax
je 0x4208ce
mov eax, edi
mov dx, word [eax + 0x44]
cmp dx, word [ebp - 4]
jne 0x4208ce
mov eax, dword [eax + 0x10]
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
call fcn.00404d0c
cmp byte [ebp - 1], 0
jne 0x420930
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x14c
jb 0x420930
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x150
ja 0x420930
mov eax, edi
call fcn.00403288
mov eax, 0xe0
call fcn.00403268
mov edi, eax
push 0
lea eax, [ebp - 8]
push eax
push 0xe0
push edi
push esi
call fcn.00406d8c
test eax, eax
je 0x420930
mov eax, edi
mov dx, word [eax + 0x44]
cmp dx, word [ebp - 4]
jne 0x420930
mov eax, dword [eax + 0x10]
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
call fcn.00404d0c
mov eax, edi
call fcn.00403288
push esi
call fcn.00406ad4
mov eax, dword [ebp + 8]
mov eax, dword [eax]
xor edx, edx
call fcn.0040502c
jne 0x420955
inc ebx
cmp ebx, 0x19
jne 0x42077d
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8fbd72
lea eax, [ebp - 0x10]
call fcn.00404cd0
ret
Function at 0x1c2183d
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov eax, dword [0x1d01324]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov edi, 0xd
call fcn.01c21910
test al, al
je 0x1c218fc
push 0
call fcn.01c42ac8
add esp, 4
test eax, eax
je 0x1c218dc
mov esi, eax
mov eax, dword [eax]
mov ecx, esi
call dword [eax + 0x18]
lea ebx, [ebp - 0x14]
mov dword [ebx], 0
mov eax, 0x40
push ebx
push eax
push eax
push section..crthunk
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x1c218e3
push 0x1ce0378
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edx, dword [esi]
xor edi, edi
mov ecx, esi
push edi
push 0x40
push section..crthunk
push 0x1c21440
push edi
push str.NtMapViewOfSection
push sym.chrome_elf.dll_Ordinal_0
push eax
call dword [edx + 4]
test eax, eax
js 0x1c218ea
push ebx
push 0x20
push 0x40
push section..crthunk
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
jmp 0x1c218f4
mov edi, 0xe
jmp 0x1c218fc
mov edi, 0xf
jmp 0x1c218f4
mov dword [0x1d02de8], eax
mov edi, 0x10
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.01cb3141
mov eax, edi
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x1c238a0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
xor eax, eax
push eax
push eax
push eax
push 0x1c48ef0
push eax
push eax
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateRemoteThread]
pop ebp
ret

Function at 0x1c24188
Capabilities:
Encode data using xor
Hash data using murmur2

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0xb]
mov esi, dword [eax]
mov edi, dword [eax + 4]
add edi, esi
mov edx, ecx
add edx, eax
test cl, cl
cmovs edx, edi
cmovs eax, esi
sub edx, eax
mov ecx, edx
cmp edx, 4
jb 0x1c241d6
imul esi, dword [eax], 0x5bd1e995
mov edi, esi
shr edi, 0x18
xor edi, esi
imul esi, edi, 0x5bd1e995
imul ecx, ecx, 0x5bd1e995
xor ecx, esi
add eax, 4
add edx, 0xfffffffc
cmp edx, 3
ja 0x1c241b0
cmp edx, 1
je 0x1c241f7
cmp edx, 2
je 0x1c241ee
cmp edx, 3
jne 0x1c24202
movzx edx, byte [eax + 2]
shl edx, 0x10
xor ecx, edx
movzx edx, byte [eax + 1]
shl edx, 8
xor ecx, edx
movzx eax, byte [eax]
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
pop esi
pop edi
pop ebp
ret 4

Function at 0x1c2739c
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x1c273ae
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [ecx + 0xc]
test edx, edx
je 0x1c273d8
mov esi, dword [ecx + 4]
mov edi, dword [edx + 0x3c]
lea ebx, [edi + 0x18]
xor eax, eax
cmp ebx, esi
ja 0x1c273a9
add edx, edi
cmp dword [edx], 0x4550
jne 0x1c273a9
add edx, 4
mov dword [ecx + 0x10], edx
mov eax, edx
jmp 0x1c273a9
mov edx, dword [ecx]
xor eax, eax
test edx, edx
je 0x1c273a9
mov dword [ecx + 0xc], edx
mov esi, dword [ecx + 4]
cmp esi, 0x40
jb 0x1c273f6
movzx edi, word [edx]
cmp edi, 0x5a4d
je 0x1c273b8
mov dword [ecx + 0xc], 0
jmp 0x1c273a9
Function at 0x1c277f8
Capabilities:
Encode data using xor
Hash data using sha1

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x28
mov esi, ecx
xor edi, edi
push dword [esi + edi*4 + 0x28]
call fcn.01cc1845
add esp, 4
mov dword [esi + edi*4 + 0x28], eax
inc edi
cmp edi, 0x10
jne 0x1c27805
xor eax, eax
mov ecx, dword [esi + eax*4 + 0x48]
xor ecx, dword [esi + eax*4 + 0x5c]
xor ecx, dword [esi + eax*4 + 0x30]
xor ecx, dword [esi + eax*4 + 0x28]
rol ecx, 1
mov dword [esi + eax*4 + 0x68], ecx
inc eax
cmp eax, 0x40
jne 0x1c2781d
mov edi, dword [esi + 0x14]
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x20], eax
mov edx, dword [esi + 0x1c]
mov ecx, dword [esi + 0x20]
mov dword [ebp - 0x10], esi
mov eax, dword [esi + 0x24]
xor ebx, ebx
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x1c]
mov esi, edx
mov edx, ecx
mov ecx, edi
rol edi, 5
cmp ebx, 0x14
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], ecx
jae 0x1c278a7
mov ecx, eax
and ecx, esi
add ecx, edi
mov edi, edx
mov edx, eax
not edx
and edx, edi
add ecx, edx
add ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
mov edx, dword [edx + ebx*4 + 0x28]
lea edi, [edx + ecx]
add edi, 0x5a827999
jmp 0x1c2790a
cmp ebx, 0x28
jae 0x1c278c9
mov ecx, esi
xor ecx, edx
xor ecx, eax
add ecx, edi
add ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
mov edx, dword [edx + ebx*4 + 0x28]
lea edi, [edx + ecx]
add edi, 0x6ed9eba1
jmp 0x1c2790a
cmp ebx, 0x3b
ja 0x1c278e4
mov ecx, edx
mov dword [ebp - 0x24], esi
mov edx, dword [ebp - 0x24]
or edx, ecx
and edx, eax
mov ecx, dword [ebp - 0x24]
and ecx, dword [ebp - 0x18]
or ecx, edx
jmp 0x1c278ea
mov ecx, esi
xor ecx, edx
xor ecx, eax
mov edx, dword [ebp - 0x14]
add ecx, edi
add ecx, edx
mov edx, dword [ebp - 0x10]
add ecx, dword [edx + ebx*4 + 0x28]
cmp ebx, 0x3c
mov edi, 0xca62c1d6
mov edx, 0x8f1bbcdc
cmovb edi, edx
add edi, ecx
rol eax, 0x1e
inc ebx
mov ecx, esi
mov edx, eax
cmp ebx, 0x50
jne 0x1c27865
mov ebx, dword [ebp - 0x10]
mov dword [ebx], edi
mov ecx, dword [ebp - 0x28]
add ecx, edi
mov dword [ebx + 0xc], esi
mov dword [ebx + 8], eax
mov edi, dword [ebp - 0x1c]
mov dword [ebx + 4], edi
mov edx, dword [ebp - 0x18]
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x14], ecx
mov ecx, dword [ebp - 0x20]
add ecx, edi
mov dword [ebx + 0x18], ecx
mov ecx, dword [ebp - 0x2c]
add ecx, eax
mov dword [ebx + 0x1c], ecx
mov eax, dword [ebp - 0x30]
add eax, esi
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0x34]
add eax, edx
mov dword [ebx + 0x24], eax
mov dword [ebx + 0x168], 0
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x1c2b7d0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x14
mov dword [ebp - 0x20], ecx
mov eax, dword [0x1d01324]
xor eax, ebp
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x10]
xor eax, eax
dec eax
mov dword [ecx - 4], eax
mov dword [ecx - 8], eax
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x1c], 0xffffffff
mov ecx, dword [edi + 0x24]
mov eax, dword [ecx]
lea edx, [ebp - 0x1c]
push edx
lea edx, [ebp - 0x10]
push edx
lea edx, [ebp - 0x18]
push edx
push dword [edi + 0x28]
call dword [eax + 0x10]
mov ebx, eax
mov esi, dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
sub esi, eax
push dword [edi + 0x20]
push esi
push 1
push eax
call fcn.01ccc467
add esp, 0x10
cmp eax, esi
jne 0x1c2b853
cmp ebx, 1
je 0x1c2b7f5
cmp ebx, 2
mov esi, 0xffffffff
je 0x1c2b856
mov eax, dword [ebp - 0x20]
push dword [eax + 0x20]
call fcn.01ccb49b
add esp, 4
neg eax
sbb esi, esi
jmp 0x1c2b856
xor esi, esi
dec esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.01cb3141
mov eax, esi
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret

Function at 0x1c2b870
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
cmp byte [ecx + 0x2c], 0
je 0x1c2b894
push dword [ecx + 0x20]
push esi
push 1
push eax
call fcn.01ccc467
add esp, 0x14
jmp 0x1c2b8c3
test esi, esi
jle 0x1c2b8bc
mov dword [ebp - 0x10], ecx
xor edi, edi
mov ebx, eax
movzx eax, byte [eax + edi]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx]
push eax
call dword [edx + 0x30]
cmp eax, 0xffffffff
je 0x1c2b8be
inc edi
cmp esi, edi
mov eax, ebx
jne 0x1c2b89d
mov edi, esi
jmp 0x1c2b8be
xor edi, edi
mov eax, edi
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret 8
Function at 0x1c2b8d0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x18
mov ebx, dword [ebp + 8]
mov eax, dword [0x1d01324]
xor eax, ebp
mov dword [ebp - 0x10], eax
xor eax, eax
dec eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
cmp ebx, eax
je 0x1c2b920
mov edi, ecx
mov byte [ebp - 0x19], bl
cmp byte [ecx + 0x2c], 0
je 0x1c2b929
xor esi, esi
inc esi
lea eax, [ebp - 0x19]
push dword [edi + 0x20]
push esi
push esi
push eax
call fcn.01ccc467
add esp, 0x10
cmp eax, esi
mov esi, 0xffffffff
je 0x1c2b922
jmp 0x1c2b9b1
xor ebx, ebx
mov esi, ebx
jmp 0x1c2b9b1
lea eax, [ebp - 0x18]
lea ecx, [ebp - 0x20]
mov dword [ecx], eax
lea esi, [ebp - 0x19]
mov dword [ebp - 0x24], 0xffffffff
mov ecx, dword [edi + 0x24]
mov eax, dword [ecx]
lea edx, [ebp - 0x20]
push edx
lea edx, [ebp - 0x10]
push edx
lea edx, [ebp - 0x18]
push edx
lea edx, [ebp - 0x24]
push edx
lea edx, [ebp - 0x18]
push edx
push esi
push dword [edi + 0x28]
call dword [eax + 8]
cmp dword [ebp - 0x24], esi
je 0x1c2b9ae
mov ebx, eax
cmp eax, 3
je 0x1c2b991
cmp ebx, 1
ja 0x1c2b9ae
mov esi, dword [ebp - 0x20]
lea eax, [ebp - 0x18]
sub esi, eax
push dword [edi + 0x20]
push esi
push 1
push eax
call fcn.01ccc467
add esp, 0x10
cmp eax, esi
jne 0x1c2b9ae
mov esi, dword [ebp - 0x24]
cmp ebx, 1
je 0x1c2b934
jmp 0x1c2b9a6
xor ebx, ebx
inc ebx
push dword [edi + 0x20]
push ebx
push ebx
push esi
call fcn.01ccc467
add esp, 0x10
cmp eax, ebx
jne 0x1c2b9ae
mov ebx, dword [ebp + 8]
jmp 0x1c2b922
xor esi, esi
dec esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.01cb3141
mov eax, esi
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret 4

Function at 0x1c2ba00
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
cmp byte [ecx + 0x2c], 0
je 0x1c2ba24
push dword [ecx + 0x20]
push esi
push 2
push eax
call fcn.01ccc467
add esp, 0x14
jmp 0x1c2ba54
test esi, esi
jle 0x1c2ba4d
mov dword [ebp - 0x10], ecx
xor edi, edi
mov ebx, eax
movzx eax, word [eax + edi*2]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx]
push eax
call dword [edx + 0x30]
cmp ax, 0xffff
je 0x1c2ba4f
inc edi
cmp esi, edi
mov eax, ebx
jne 0x1c2ba2d
mov edi, esi
jmp 0x1c2ba4f
xor edi, edi
mov eax, edi
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret 8