joyce8/EMBER2024-capa huggingface dataset:
Function at 0x44d3d0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x44d4e5
sub esp, 0x2c
mov ecx, dword [esp + 0x30]
test ecx, ecx
setne dl
mov ebx, dword [esp + 0x34]
test ebx, ebx
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x44d4de
mov edx, dword [0xa8f23c]
cmp ebx, edx
setl dl
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp dword [0xa8f238], ecx
xchg esi, ebx
seta bl
xchg esi, ebx
and ebp, esi
or edx, ebp
test dl, dl
je 0x44d4de
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x30], ecx
mov edx, dword fs:[0x14]
mov edx, dword [edx]
mov edx, dword [edx + 0x18]
mov edx, dword [edx + 0x4c]
mov ebx, dword [edx + 0x78]
add ebx, 1
mov ebp, dword [edx + 0x7c]
mov dword [edx + 0x78], ebx
adc ebp, 0
mov dword [edx + 0x7c], ebp
mov ebx, dword [edx + 0x18]
mov ebx, dword [ebx + 0x54]
mov dword [edx + 0x80], ebx
lea edi, [esp + 0x14]
mov ebx, eax
xor eax, eax
call fcn.0045c67a
mov ecx, dword [edx + 0x50]
mov ebp, dword [edx + 0x54]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebp
mov ecx, dword [edx + 0x78]
mov edx, dword [edx + 0x7c]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x30]
shr ecx, 6
mov edx, ebx
shl ebx, 0x1a
or ecx, ebx
mov dword [esp + 0x24], ecx
shr edx, 6
mov dword [esp + 0x28], edx
mov byte [esp], 0x1d
mov dword [esp + 4], 0xffffffff
lea ecx, [esp + 0x14]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 3
call fcn.0044c0a0
add esp, 0x2c
ret
mov eax, ebx
jmp 0x44d43a
call fcn.0045ae90
jmp fcn.0044d3d0
Function at 0x44fcb0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x44fd4f
sub esp, 0x30
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
lea edi, [esp + 0xc]
xor eax, eax
call fcn.0045c677
lea ecx, [0x456630]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x34]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x28], ecx
lea ecx, [esp + 4]
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0xc]
mov dword [esp], ecx
call fcn.0045ad70
mov ecx, dword [esp + 4]
mov dword [esp + 0x44], ecx
add esp, 0x30
ret
call fcn.0045ae90
jmp fcn.0044fcb0
Function at 0x45c290
Capabilities:
Encrypt data using aes via x86 extensions
Hash data using murmur3

Disassembly:
movd xmm0, dword [esp + 8]
pinsrw xmm0, ebx, 4
pshufhw xmm0, xmm0, 0
movdqa xmm1, xmm0
pxor xmm0, xmmword [0xa97780]
aesenc xmm0, xmm0
cmp ebx, 0x10
jb 0x45a91b
je 0x45a96a
cmp ebx, 0x20
jbe 0x45a970
cmp ebx, 0x40
jbe 0x45a9ae
jmp 0x45aa3f
test ebx, ebx
je 0x45a960
add eax, 0x10
test ax, 0xff0
je 0x45a94c
movdqu xmm1, xmmword [eax - 0x10]
add ebx, ebx
pand xmm1, xmmword [ebx*8 + 0x8799e0]
aesenc xmm1, xmm0
aesenc xmm1, xmm1
aesenc xmm1, xmm1
movd dword [edx], xmm1
ret
movdqu xmm1, xmmword [eax + ebx - 0x20]
add ebx, ebx
pshufb xmm1, xmmword [ebx*8 + 0x879ae0]
jmp 0x45a938
aesenc xmm0, xmm0
movd dword [edx], xmm0
ret
movdqu xmm1, xmmword [eax]
jmp 0x45a938
pxor xmm1, xmmword [0xa97790]
aesenc xmm1, xmm1
movdqu xmm2, xmmword [eax]
movdqu xmm3, xmmword [eax + ebx - 0x10]
aesenc xmm2, xmm0
aesenc xmm3, xmm1
aesenc xmm2, xmm2
aesenc xmm3, xmm3
aesenc xmm2, xmm2
aesenc xmm3, xmm3
pxor xmm2, xmm3
movd dword [edx], xmm2
ret
movdqa xmm2, xmm1
movdqa xmm3, xmm1
pxor xmm1, xmmword [0xa97790]
pxor xmm2, xmmword [0xa977a0]
pxor xmm3, xmmword [0xa977b0]
aesenc xmm1, xmm1
aesenc xmm2, xmm2
aesenc xmm3, xmm3
movdqu xmm4, xmmword [eax]
movdqu xmm5, xmmword [eax + 0x10]
movdqu xmm6, xmmword [eax + ebx - 0x20]
movdqu xmm7, xmmword [eax + ebx - 0x10]
aesenc xmm4, xmm0
aesenc xmm5, xmm1
aesenc xmm6, xmm2
aesenc xmm7, xmm3
aesenc xmm4, xmm4
aesenc xmm5, xmm5
aesenc xmm6, xmm6
aesenc xmm7, xmm7
aesenc xmm4, xmm4
aesenc xmm5, xmm5
aesenc xmm6, xmm6
aesenc xmm7, xmm7
pxor xmm4, xmm6
pxor xmm5, xmm7
pxor xmm4, xmm5
movd dword [edx], xmm4
ret
movdqa xmm2, xmm1
movdqa xmm3, xmm1
pxor xmm1, xmmword [0xa97790]
pxor xmm2, xmmword [0xa977a0]
pxor xmm3, xmmword [0xa977b0]
aesenc xmm1, xmm1
aesenc xmm2, xmm2
aesenc xmm3, xmm3
movdqu xmm4, xmmword [eax + ebx - 0x40]
movdqu xmm5, xmmword [eax + ebx - 0x30]
movdqu xmm6, xmmword [eax + ebx - 0x20]
movdqu xmm7, xmmword [eax + ebx - 0x10]
aesenc xmm4, xmm0
aesenc xmm5, xmm1
aesenc xmm6, xmm2
aesenc xmm7, xmm3
dec ebx
shr ebx, 6
movdqu xmm0, xmmword [eax]
movdqu xmm1, xmmword [eax + 0x10]
movdqu xmm2, xmmword [eax + 0x20]
movdqu xmm3, xmmword [eax + 0x30]
aesenc xmm4, xmm0
aesenc xmm5, xmm1
aesenc xmm6, xmm2
aesenc xmm7, xmm3
aesenc xmm4, xmm4
aesenc xmm5, xmm5
aesenc xmm6, xmm6
aesenc xmm7, xmm7
add eax, 0x40
dec ebx
jne 0x45aa9e
aesenc xmm4, xmm4
aesenc xmm5, xmm5
aesenc xmm6, xmm6
aesenc xmm7, xmm7
aesenc xmm4, xmm4
aesenc xmm5, xmm5
aesenc xmm6, xmm6
aesenc xmm7, xmm7
pxor xmm4, xmm6
pxor xmm5, xmm7
pxor xmm4, xmm5
movd dword [edx], xmm4
ret
cmp byte [0xa972e2], 0
je 0x45c2aa
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0xc]
lea edx, [esp + 0x10]
jmp 0x45a8e0
jmp fcn.00407d60
Function at 0x45c310
Capabilities:
Hash data using murmur3

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x408020
mov eax, dword [0xa97690]
mov ecx, dword [esp + 4]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov ebx, dword [esp + 8]
lea eax, [ebx + eax*8]
xor eax, edx
imul eax, eax, 0xbce2d621
rol eax, 0xf
imul eax, eax, 0xc70f85e1
xor ecx, eax
imul eax, ecx, 0xbce2d621
rol eax, 0xf
imul eax, eax, 0xc70f85e1
mov ecx, eax
shr eax, 0x11
xor eax, ecx
imul eax, eax, 0x319bca41
mov ecx, eax
shr eax, 0xd
xor eax, ecx
imul eax, eax, 0x8b421a21
mov ecx, eax
shr eax, 0x10
xor eax, ecx
mov dword [esp + 0xc], eax
ret
call fcn.0045ae90
jmp 0x407fb0
cmp byte [0xa972e2], 0
je 0x45c34b
mov eax, dword [esp + 4]
movq xmm0, qword [eax]
pinsrd xmm0, dword [esp + 8], 2
aesenc xmm0, xmmword [0xa97780]
aesenc xmm0, xmmword [0xa97790]
aesenc xmm0, xmmword [0xa977a0]
movd dword [esp + 0xc], xmm0
ret
jmp 0x407fb0

Function at 0x45d0d0
Capabilities:
Access peb ldr_data

Disassembly:
mov ecx, dword [esp + 4]
mov edx, dword [ecx]
mov eax, esp
mov dword [edx + 4], eax
sub eax, 0x10000
mov dword [edx], eax
add eax, 0xba0
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
lea esi, [ecx + 0x30]
mov dword fs:[0x14], esi
mov dword [edx + 0x18], ecx
mov dword [esi], edx
cld
call fcn.0045c210
call fcn.00435d60
ret

Function at 0x45d1f0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
push dword fs:[0x14]
mov edx, esp
sub esp, 0x21c
mov dword [esp], esp
mov dword [esp + 4], 0x21c
call fcn.0045cba0
lea ecx, [esp + 0x30]
mov dword fs:[0x14], ecx
mov ebx, esp
sub esp, 0xd8
mov dword [ecx], esp
mov dword [ebx], esp
mov dword [esp], esp
mov dword [esp + 4], 0xd8
call fcn.0045cba0
lea ebx, [esp + 0xd8]
mov dword [esp + 0x18], ebx
lea ecx, [esp - 0x8000]
mov dword [esp], ecx
add ecx, 0xba0
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
push eax
push dword [ebp + 0x10]
call dword [ebp + 8]
pop ecx
pop eax
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
mov esp, dword [ecx + 4]
pop dword fs:[0x14]
pop edi
pop esi
pop ebx
pop ebp
ret
Function at 0x47e550
Capabilities:
Hash data using fnv

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x47e588
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 4]
xor ebx, ebx
jmp 0x47e57f
movzx ebp, byte [eax + ebx]
inc ebx
imul edx, edx, 0x1000193
xor edx, ebp
cmp ebx, ecx
jl 0x47e572
mov dword [esp + 0x14], edx
ret
call fcn.0045ae90
jmp fcn.0047e550
Function at 0x4b68f0
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4b6b09
sub esp, 0x48
mov eax, dword [esp + 0x50]
movzx ecx, word [eax + 2]
movzx edx, word [eax + 8]
movzx ebx, word [eax + 0xa]
movzx ebp, word [eax + 0xc]
mov esi, dword [esp + 0x4c]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], 0
mov ecx, dword [0xa766b8]
mov dword [esp + 0x1c], ecx
call fcn.004b30a0
lea esi, [esp + 0x20]
lea edi, [esp + 0x34]
call fcn.0045cb5e
mov edi, esp
lea esi, [esp + 0x34]
call fcn.0045cb5e
call fcn.004afbe0
mov eax, dword [esp + 0x14]
add eax, 0x15180
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
adc ecx, 0
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x93a80
mov dword [esp + 0xc], 0
call fcn.004532a0
mov eax, dword [esp + 0x50]
movzx ecx, word [eax + 4]
mov edx, dword [esp + 0x10]
mov ebx, eax
mov eax, 0xc22e4507
mov ebp, edx
imul edx
lea eax, [ebp + edx]
sar eax, 0x10
sar ebp, 0x1f
sub eax, ebp
sub ecx, eax
test ecx, ecx
jge 0x4b6aeb
lea edx, [ecx + 7]
movzx ebp, word [ebx + 6]
lea esi, [ebp - 1]
cmp esi, 4
jge 0x4b6a67
lea ecx, [ebp + ebp*2]
lea ecx, [ebp + ecx*2]
lea ecx, [edx + ecx - 6]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
test ebx, 0x80000000
je 0x4b6a5d
shl ebx, 1
mov ebp, edx
shr edx, 0x1f
or edx, ebx
shl ebp, 1
mov ebx, edx
shl edx, 1
shr ebp, 0x1f
or edx, ebp
mov ebp, edx
add edx, 0xd7b17f80
shr ebx, 0x1f
add ebp, 0xd7b17f80
adc ebx, 0xd
lea eax, [ecx - 1]
mov ecx, 0x15180
mov ebp, edx
mov esi, eax
mul ecx
mov ecx, eax
add eax, ebp
mov edi, eax
add eax, 0x886e0900
mov dword [esp + 0x54], eax
sar esi, 0x1f
imul esi, esi, 0x15180
add edx, esi
add ecx, ebp
adc edx, ebx
add edi, 0x886e0900
adc edx, 0xfffffff1
mov dword [esp + 0x58], edx
add esp, 0x48
ret
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
jmp 0x4b6a20
movzx eax, word [ebx + 2]
cmp eax, 2
jne 0x4b6ae5
mov ebx, dword [esp + 0x4c]
test ebx, 3
jne 0x4b6adf
mov ecx, eax
mov eax, 0x51eb851f
mov ebp, edx
imul ebx
mov esi, ebx
sar ebx, 0x1f
mov edi, edx
sar edx, 5
sub edx, ebx
imul edx, edx, 0x64
cmp esi, edx
je 0x4b6ab2
mov eax, 0x1d
lea ecx, [ebp + 0x1d]
cmp ecx, eax
jle 0x4b69e8
lea ecx, [ebp + 0x16]
jmp 0x4b69e8
sar edi, 7
sub edi, ebx
imul edx, edi, 0x190
cmp esi, edx
je 0x4b6a9a
cmp ecx, 0xd
jae 0x4b6afc
lea edx, [0xa40dc0]
mov ebx, dword [edx + ecx*4]
lea eax, [ecx - 1]
cmp eax, 0xd
jae 0x4b6af2
sub ebx, dword [edx + ecx*4 - 4]
mov eax, ebx
jmp 0x4b6a9f
mov ecx, eax
mov ebp, edx
jmp 0x4b6ac1
mov ecx, eax
mov ebp, edx
jmp 0x4b6ac1
mov edx, ecx
jmp 0x4b69cc
mov ecx, 0xd
call fcn.0045c460
mov eax, ecx
mov ecx, 0xd
call fcn.0045c460
nop
call fcn.0045ae90
jmp fcn.004b68f0
Function at 0x556990
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x556bcc
sub esp, 0x54
mov eax, dword [esp + 0x58]
test byte [eax], al
lea ecx, [eax + 0x14]
mov dword [esp + 0x20], ecx
mov dword [esp], ecx
call fcn.00472b30
mov eax, dword [esp + 0x58]
test eax, eax
je 0x556b76
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x556b76
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x556b20
lea eax, [0x7b60a0]
mov dword [esp], eax
call fcn.0040b5d0
mov eax, dword [esp + 4]
mov dword [esp + 0x28], eax
lea ecx, [0x779fc0]
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.00404780
mov eax, dword [esp + 8]
mov dword [esp + 0x1c], eax
lea edi, [esp + 0x34]
xor eax, eax
call fcn.0045c678
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x50], eax
mov eax, dword [0xa976a0]
test eax, eax
jne 0x556afd
mov edi, dword [esp + 0x28]
lea esi, [esp + 0x34]
call fcn.0045cb40
mov eax, dword [esp + 0x28]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x58]
mov ecx, dword [ecx + 0xc]
mov dword [esp], ecx
lea ecx, [esp + 0x24]
mov dword [esp + 4], ecx
call fcn.00404960
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.00472ef0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x1c]
mov dword [esp], eax
lea eax, [esp + 0x2c]
mov dword [esp + 4], eax
call fcn.004053c0
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
test al, al
je 0x556ae9
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], edx
add esp, 0x54
ret
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
add esp, 0x54
ret
lea eax, [0x7b60a0]
mov dword [esp], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
lea ecx, [esp + 0x34]
mov dword [esp + 8], ecx
call fcn.00410e20
jmp 0x556a7a
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.00472ef0
lea eax, [0x7f61e3]
mov dword [esp], eax
mov dword [esp + 4], 0x1d
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.004cb4b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
add esp, 0x54
ret
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.00472ef0
lea eax, [0x7f81dc]
mov dword [esp], eax
mov dword [esp + 4], 0x20
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.004cb4b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
add esp, 0x54
ret
call fcn.0045ae90
jmp fcn.00556990
Function at 0x58c380
Capabilities:
Hash data using sha224
Hash data using sha256

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x58c428
mov eax, dword [esp + 4]
movzx ecx, byte [eax + 0x6c]
test cl, cl
je 0x58c3ef
mov dword [eax], 0xc1059ed8
mov dword [eax + 4], 0x367cd507
mov dword [eax + 8], 0x3070dd17
mov dword [eax + 0xc], 0xf70e5939
mov dword [eax + 0x10], 0xffc00b31
mov dword [eax + 0x14], 0x68581511
mov dword [eax + 0x18], 0x64f98fa7
mov dword [eax + 0x1c], 0xbefa4fa4
mov dword [eax + 0x60], 0
mov dword [eax + 0x64], 0
mov dword [eax + 0x68], 0
ret
mov dword [eax], 0x6a09e667
mov dword [eax + 4], 0xbb67ae85
mov dword [eax + 8], 0x3c6ef372
mov dword [eax + 0xc], 0xa54ff53a
mov dword [eax + 0x10], 0x510e527f
mov dword [eax + 0x14], 0x9b05688c
mov dword [eax + 0x18], 0x1f83d9ab
mov dword [eax + 0x1c], 0x5be0cd19
jmp 0x58c3d9
call fcn.0045ae90
jmp fcn.0058c380
Function at 0x5e7f20
Capabilities:
Parse credit card information

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5e80d5
movzx eax, byte [esp + 4]
lea ecx, [eax - 0x61]
cmp cl, 0x19
ja 0x5e7f49
mov byte [esp + 0xc], 0
ret
lea ecx, [eax - 0x41]
cmp cl, 0x19
jbe 0x5e7f43
lea ecx, [eax - 0x30]
cmp cl, 9
jbe 0x5e7f43
mov ecx, dword [esp + 8]
cmp ecx, 3
jne 0x5e80c7
cmp al, 0x2c
ja 0x5e80a4
lea edx, [eax - 0x21]
cmp dl, 1
ja 0x5e7f7d
mov byte [esp + 0xc], 0
ret
cmp al, 0x24
je 0x5e7f77
cmp al, 0x26
jae 0x5e7f77
cmp al, 0x2f
ja 0x5e806a
cmp al, 0x26
ja 0x5e8042
cmp al, 0x24
jne 0x5e8037
cmp ecx, 2
jg 0x5e7ffb
cmp ecx, 1
je 0x5e7ff0
cmp ecx, 2
jne 0x5e7fd2
cmp al, 0x2f
jne 0x5e7fc0
mov eax, 1
mov byte [esp + 0xc], al
ret
cmp al, 0x3b
je 0x5e7fb6
cmp al, 0x2c
je 0x5e7fb6
cmp al, 0x3f
sete al
jmp 0x5e7fbb
cmp ecx, 7
jne 0x5e7fea
cmp al, 0x21
jne 0x5e7fe2
mov byte [esp + 0xc], 0
ret
add eax, 0xffffffd8
cmp al, 2
jbe 0x5e7fdc
mov byte [esp + 0xc], 1
ret
cmp al, 0x3f
sete al
mov byte [esp + 0xc], al
ret
cmp ecx, 5
jne 0x5e8021
cmp al, 0x40
jne 0x5e800f
mov eax, 1
mov byte [esp + 0xc], al
ret
cmp al, 0x2f
je 0x5e8005
cmp al, 0x3f
je 0x5e8005
cmp al, 0x3a
sete al
jmp 0x5e800a
cmp ecx, 6
je 0x5e8031
cmp ecx, 7
jne 0x5e7fd2
mov byte [esp + 0xc], 0
ret
mov byte [esp + 0xc], 1
ret
cmp al, 0x26
je 0x5e7fa2
jmp 0x5e7fd2
lea edx, [eax - 0x2b]
cmp dl, 1
jbe 0x5e7fa2
lea edx, [eax - 0x2d]
cmp dl, 1
ja 0x5e805c
mov byte [esp + 0xc], 0
ret
cmp al, 0x2f
je 0x5e7fa2
jmp 0x5e7fd2
cmp al, 0x3d
ja 0x5e8089
lea edx, [eax - 0x3a]
cmp dl, 1
jbe 0x5e7fa2
cmp al, 0x3d
je 0x5e7fa2
jmp 0x5e7fd2
lea edx, [eax - 0x3f]
cmp dl, 1
jbe 0x5e7fa2
cmp al, 0x5f
je 0x5e8056
cmp al, 0x7e
je 0x5e8056
jmp 0x5e7fd2
lea edx, [eax - 0x3a]
cmp dl, 4
jbe 0x5e7f77
cmp al, 0x5b
je 0x5e7f77
cmp al, 0x5d
je 0x5e7f77
jmp 0x5e7f87
cmp ecx, 4
je 0x5e7f66
jmp 0x5e7f87
call fcn.0045ae90
jmp fcn.005e7f20
Function at 0x73f780
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x73f8e9
sub esp, 0x70
call fcn.0040c070
mov eax, dword [esp]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x78]
test ecx, ecx
jle 0x73f848
mov edx, dword [esp + 0x74]
xor ebx, ebx
jmp 0x73f7c6
mov ebp, dword [esp + 0x3c]
lea edx, [ebp + 0x18]
mov ebx, eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x30], ebx
lea edi, [esp + 0x58]
mov esi, edx
call fcn.0045cb54
lea edi, [esp + 0x40]
lea esi, [esp + 0x58]
call fcn.0045cb54
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x38], ecx
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x2c], ebp
lea edx, [0x78f380]
mov dword [esp], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.00410370
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
mov dword [eax], ecx
mov ecx, dword [0xa976a0]
test ecx, ecx
jne 0x73f8d8
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x30]
inc eax
mov ecx, dword [esp + 0x78]
cmp eax, ecx
jl 0x73f7b9
lea eax, [0x78f380]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
lea eax, [0x7e2bbb]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 2
call fcn.00534b10
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
je 0x73f8aa
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
add esp, 0x70
ret
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00446790
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
add esp, 0x70
ret
lea edi, [eax + 4]
mov eax, dword [esp + 0x38]
call fcn.0045c3e0
jmp 0x73f837
call fcn.0045ae90
jmp fcn.0073f780
Function at 0x401000
Capabilities:
Read file on windows

Disassembly:
cmp dword [esi + 0x3c], 0
jne 0x401053
cmp dword [esi + 4], 0
jne 0x40105c
call fcn.00439914
mov dword [eax], 0
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
push eax
push 0x4000
push 1
push ecx
call fcn.00438c8b
add esp, 0x10
mov dword [esi + 4], eax
test eax, eax
jne 0x401057
mov edx, dword [esi + 0x40]
push edx
mov dword [esi + 0x3c], 1
call fcn.0043e911
add esp, 4
test eax, eax
je 0x401053
mov dword [esi + 0x38], 0xffffffff
or eax, 0xffffffff
ret
mov eax, dword [esi + 0x44]
mov dword [esi], eax
mov eax, dword [esi]
dec dword [esi + 4]
mov cl, byte [eax]
inc eax
mov dword [esi], eax
movzx eax, cl
ret

Function at 0x401070
Capabilities:
Read file on windows

Disassembly:
push esi
mov esi, eax
push edi
mov edi, dword [esi + 4]
cmp edi, 2
jae 0x4010e5
test edi, edi
je 0x401089
mov eax, dword [esi]
mov ecx, dword [esi + 0x44]
mov dl, byte [eax]
mov byte [ecx], dl
call fcn.00439914
mov dword [eax], 0
mov eax, dword [esi + 0x40]
mov ecx, edi
push eax
mov eax, dword [esi + 0x44]
mov edx, 0x4000
sar edx, cl
add eax, edi
push edx
push 1
push eax
call fcn.00438c8b
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x4010cf
mov ecx, dword [esi + 0x40]
push ecx
call fcn.0043e911
add esp, 4
test eax, eax
je 0x4010cf
mov dword [esi + 0x38], 0xffffffff
add dword [esi + 4], edi
mov eax, dword [esi + 4]
mov edx, dword [esi + 0x44]
mov dword [esi], edx
cmp eax, 2
jae 0x4010e5
pop edi
mov dword [esi + 0x58], eax
pop esi
ret
mov eax, dword [esi]
cmp byte [eax], 0x1f
jne 0x4011be
cmp byte [eax + 1], 0x8b
jne 0x4011be
add dword [esi + 4], 0xfffffffe
add eax, 2
push ebx
mov dword [esi], eax
call fcn.00401000
mov edi, eax
call fcn.00401000
mov ebx, eax
cmp edi, 8
jne 0x4011b3
test bl, 0xe0
jne 0x4011b3
mov edi, 6
lea esp, [esp]
call fcn.00401000
sub edi, 1
jne 0x401130
test bl, 4
je 0x401161
call fcn.00401000
mov edi, eax
call fcn.00401000
shl eax, 8
add edi, eax
mov eax, edi
dec edi
test eax, eax
je 0x401161
call fcn.00401000
cmp eax, 0xffffffff
jne 0x401150
test bl, 8
je 0x401174
call fcn.00401000
test eax, eax
je 0x401174
cmp eax, 0xffffffff
jne 0x401166
test bl, 0x10
je 0x40118e
lea esp, [esp]
call fcn.00401000
test eax, eax
je 0x40118e
cmp eax, 0xffffffff
jne 0x401180
test bl, 2
je 0x4011a2
mov edi, 2
call fcn.00401000
sub edi, 1
jne 0x401198
mov ecx, dword [esi + 0x3c]
neg ecx
sbb ecx, ecx
pop ebx
and ecx, 0xfffffffd
pop edi
mov dword [esi + 0x38], ecx
pop esi
ret
pop ebx
pop edi
mov dword [esi + 0x38], 0xfffffffd
pop esi
ret
pop edi
mov dword [esi + 0x58], 1
pop esi
ret
Function at 0x401280
Capabilities:
Write file on windows

Disassembly:
push esi
mov esi, dword [esp + 8]
test esi, esi
je 0x40132b
cmp byte [esi + 0x5c], 0x77
jne 0x40132b
push ebp
mov ebp, dword [esp + 0x10]
push edi
mov edi, dword [esp + 0x18]
mov dword [esi], ebp
mov dword [esi + 4], edi
test edi, edi
je 0x401311
lea ebx, [ebx]
cmp dword [esi + 0x10], 0
jne 0x4012da
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x48]
push ecx
push 0x4000
push 1
push eax
mov dword [esi + 0xc], eax
call fcn.004385f3
add esp, 0x10
cmp eax, 0x4000
jne 0x40130a
mov dword [esi + 0x10], eax
mov edx, dword [esi + 4]
mov eax, dword [esi + 0x10]
add dword [esi + 0x64], edx
add dword [esi + 0x68], eax
push 0
push esi
call fcn.004017e0
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x10]
sub dword [esi + 0x64], ecx
sub dword [esi + 0x68], edx
add esp, 8
mov dword [esi + 0x38], eax
test eax, eax
jne 0x401311
test ecx, ecx
jne 0x4012b0
jmp 0x401311
mov dword [esi + 0x38], 0xffffffff
mov eax, dword [esi + 0x4c]
push edi
push ebp
push eax
call fcn.004033d0
add esp, 0xc
mov dword [esi + 0x4c], eax
mov eax, edi
sub eax, dword [esi + 4]
pop edi
pop ebp
pop esi
ret
mov eax, 0xfffffffe
pop esi
ret

Function at 0x401340
Capabilities:
Write file on windows

Disassembly:
push ebx
push esi
mov esi, eax
xor ebx, ebx
test esi, esi
je 0x4013f4
cmp byte [esi + 0x5c], 0x77
jne 0x4013f4
mov dword [esi + 4], ebx
push edi
lea esp, [esp]
mov edi, 0x4000
sub edi, dword [esi + 0x10]
je 0x40138e
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x48]
push eax
push edi
push 1
push ecx
call fcn.004385f3
add esp, 0x10
cmp eax, edi
jne 0x4013ea
mov edx, dword [esi + 0x48]
mov dword [esi + 0xc], edx
mov dword [esi + 0x10], 0x4000
test ebx, ebx
jne 0x4013da
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 0x10]
add dword [esi + 0x68], eax
push ecx
push esi
call fcn.004017e0
mov ecx, dword [esi + 0x10]
sub dword [esi + 0x68], ecx
add esp, 8
mov dword [esi + 0x38], eax
test edi, edi
jne 0x4013bb
cmp eax, 0xfffffffb
jne 0x4013bb
mov dword [esi + 0x38], edi
test ecx, ecx
jne 0x4013c9
cmp dword [esi + 0x38], 1
je 0x4013c9
xor ebx, ebx
jmp 0x4013ce
mov ebx, 1
mov eax, dword [esi + 0x38]
test eax, eax
je 0x401360
cmp eax, 1
je 0x401360
mov esi, dword [esi + 0x38]
mov eax, esi
dec eax
neg eax
sbb eax, eax
pop edi
and eax, esi
pop esi
pop ebx
ret
or eax, 0xffffffff
pop edi
mov dword [esi + 0x38], eax
pop esi
pop ebx
ret
pop esi
mov eax, 0xfffffffe
pop ebx
ret