joyce8/EMBER2024-capa huggingface dataset:
Function at 0x46b9ba
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [ebp + 8]
mov ecx, eax
push ebx
mov ebx, dword [ebp + 0xc]
and eax, 0x3f
sar ecx, 6
push esi
push edi
imul edi, eax, 0x38
mov eax, dword [ecx*4 + 0x4880c0]
mov dword [ebp - 0x10], ecx
mov ecx, dword [eax + edi + 0x18]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x46b9fa
cmp byte [ebx], 0xa
jne 0x46b9fa
or byte [eax + edi + 0x28], 4
jmp 0x46b9ff
and byte [eax + edi + 0x28], 0xfb
add ecx, ebx
mov edx, ebx
mov dword [ebp - 0xc], ecx
mov esi, ebx
cmp ebx, ecx
jae 0x46bafd
mov al, byte [edx]
cmp al, 0x1a
je 0x46badf
lea ecx, [edx + 1]
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xc]
cmp al, 0xd
je 0x46ba2e
mov edx, dword [ebp - 8]
mov byte [esi], al
jmp 0x46ba53
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x46ba5d
mov cl, byte [eax]
xor eax, eax
cmp cl, 0xa
sete al
inc eax
add edx, eax
cmp cl, 0xa
sete al
dec al
and al, 3
add al, 0xa
mov byte [esi], al
mov ecx, dword [ebp - 0xc]
inc esi
cmp edx, ecx
jb 0x46ba10
jmp 0x46bafd
push 0
lea eax, [ebp - 0xc]
push eax
push 1
lea eax, [ebp - 1]
push eax
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x46bada
cmp dword [ebp - 0xc], 0
je 0x46bada
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx*4 + 0x4880c0]
test byte [eax + edi + 0x28], 0x48
je 0x46bab4
mov dl, byte [ebp - 1]
lea eax, [esi + 1]
mov dword [ebp - 0x14], eax
cmp dl, 0xa
jne 0x46ba9f
mov byte [esi], dl
jmp 0x46bab0
mov byte [esi], 0xd
mov eax, dword [ecx*4 + 0x4880c0]
mov byte [eax + edi + 0x2a], dl
mov eax, dword [ebp - 0x14]
mov esi, eax
jmp 0x46bafd
cmp byte [ebp - 1], 0xa
jne 0x46bac3
cmp esi, ebx
jne 0x46bac3
mov byte [esi], 0xa
jmp 0x46bafc
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp + 8]
call fcn.004015f5
add esp, 0x10
cmp byte [ebp - 1], 0xa
je 0x46bafd
mov byte [esi], 0xd
jmp 0x46bafc
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx*4 + 0x4880c0]
mov al, byte [ecx + edi + 0x28]
test al, 0x40
jne 0x46baf9
or al, 2
mov byte [ecx + edi + 0x28], al
jmp 0x46bafd
mov byte [esi], 0x1a
inc esi
sub esi, ebx
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret
Function at 0x46bb59
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov ebx, eax
and eax, 0x3f
sar ebx, 6
push edi
imul edi, eax, 0x38
push 0xa
mov eax, dword [ebx*4 + 0x4880c0]
pop edx
mov dword [ebp - 0x14], edx
mov ecx, dword [edi + eax + 0x18]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x46bb9c
cmp word [esi], dx
jne 0x46bb9c
or byte [edi + eax + 0x28], 4
jmp 0x46bba1
and byte [edi + eax + 0x28], 0xfb
lea edx, [esi + ecx*2]
mov eax, esi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
cmp eax, edx
jae 0x46bcf4
mov dword [ebp - 0xc], 0xd
movzx ecx, word [eax]
mov edx, ecx
mov dword [ebp - 0x10], edx
push 0x1a
pop edx
cmp cx, dx
mov edx, dword [ebp - 8]
je 0x46bcd4
add eax, 2
cmp cx, word [ebp - 0xc]
je 0x46bbe3
mov dword [ebp - 4], eax
mov word [esi], cx
jmp 0x46bc19
cmp eax, edx
jae 0x46bc25
movzx eax, word [eax]
xor ecx, ecx
cmp ax, word [ebp - 0x14]
mov edx, eax
push 0xa
sete cl
xor eax, eax
lea ecx, [ecx*2 + 2]
add dword [ebp - 4], ecx
pop ecx
cmp dx, cx
mov edx, dword [ebp - 8]
sete al
dec eax
and eax, 3
add eax, ecx
mov word [esi], ax
mov eax, dword [ebp - 4]
add esi, 2
cmp eax, edx
jb 0x46bbbb
jmp 0x46bcf4
push 0
lea eax, [ebp - 0x14]
push eax
push 2
lea eax, [ebp - 4]
push eax
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x46bcd0
cmp dword [ebp - 0x14], 0
je 0x46bcd0
mov eax, dword [ebx*4 + 0x4880c0]
push 0xa
test byte [edi + eax + 0x28], 0x48
je 0x46bca8
mov dx, word [ebp - 4]
lea eax, [esi + 2]
pop ecx
mov dword [ebp - 0x18], eax
cmp dx, cx
jne 0x46bc71
mov word [esi], cx
jmp 0x46bca4
push 0xd
pop eax
mov word [esi], ax
mov eax, dword [ebx*4 + 0x4880c0]
movzx ecx, dx
shr ecx, 8
push 0xa
mov byte [edi + eax + 0x2a], dl
mov eax, dword [ebx*4 + 0x4880c0]
mov byte [edi + eax + 0x2b], cl
mov eax, dword [ebx*4 + 0x4880c0]
pop ecx
mov byte [edi + eax + 0x2c], cl
mov eax, dword [ebp - 0x18]
mov esi, eax
jmp 0x46bcf4
pop ebx
cmp word [ebp - 4], bx
jne 0x46bcb9
cmp esi, dword [ebp + 0xc]
jne 0x46bcb9
mov word [esi], bx
jmp 0x46bcf1
push 1
push 0xffffffffffffffff
push 0xfffffffffffffffe
push dword [ebp + 8]
call fcn.004015f5
add esp, 0x10
cmp word [ebp - 4], bx
je 0x46bcf4
push 0xd
jmp 0x46bced
mov ecx, dword [ebx*4 + 0x4880c0]
mov al, byte [ecx + edi + 0x28]
test al, 0x40
jne 0x46bceb
or al, 2
mov byte [ecx + edi + 0x28], al
jmp 0x46bcf4
push 0x1a
pop eax
mov word [esi], ax
add esi, 2
sub esi, dword [ebp + 0xc]
and esi, 0xfffffffe
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret
Function at 0x402331
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov dword [0x42c230], 1
cmp dword [0x42cc58], 0
jne 0x40235e
push 2
call dword [sym.imp.MSVCRT20.dll_raise]
add esp, 4
jmp 0x40238f
mov dword [0x42b3fc], 1
push 0
push 2
call dword [sym.imp.MSVCRT20.dll_signal]
add esp, 8
push 0x42f8e8
push 3
call fcn.004093aa
add esp, 8
push 0xb
call dword [sym.imp.MSVCRT20.dll_exit]
add esp, 4
pop edi
pop esi
pop ebx
leave
ret

Function at 0x4023d0
Capabilities:
Execute command

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
call sub.MSVCRT20.dll__kbhit
mov dword [0x42cc58], 0
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.MSVCRT20.dll_system]
add esp, 4
mov dword [0x42cc58], 1
cmp dword [0x42c230], 0
je 0x402413
push 0
call fcn.00402331
add esp, 4
pop edi
pop esi
pop ebx
leave
ret

Function at 0x4081d7
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
call dword [sym.imp.MSVCRT20.dll__errno]
cmp dword [eax], 0
je 0x40824c
mov eax, dword [ebp + 8]
push eax
call fcn.00408160
add esp, 4
test eax, eax
je 0x40824c
push 0x4326d0
push 0
call fcn.004093aa
add esp, 8
call dword [sym.imp.MSVCRT20.dll__errno]
mov eax, dword [eax]
push eax
call dword [sym.imp.MSVCRT20.dll_strerror]
add esp, 4
push eax
call dword [sym.imp.MSVCRT20.dll__errno]
mov eax, dword [eax]
push eax
push 0x4300e0
push 0x44
call fcn.004093aa
add esp, 0x10
push 0x4326d0
push 0x44
call fcn.004093aa
add esp, 8
cmp dword [0x42c1ec], 2
jne 0x408276
call dword [sym.imp.MSVCRT20.dll___p__iob]
add eax, 0x20
push eax
push 0x42f094
push 0x4326ec
call dword [sym.imp.MSVCRT20.dll_freopen]
add esp, 0xc
push 1
call dword [sym.imp.MSVCRT20.dll___p__iob]
add eax, 0x20
push eax
call fcn.0042127e
add esp, 8
call fcn.004173be
lea eax, [ebp + 0xc]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebp + 8]
push eax
push 0x44
call fcn.00408b17
add esp, 0xc
mov dword [ebp - 4], 0
call fcn.004173be
cmp dword [0x42b454], 0
jne 0x4082d1
mov eax, dword [ebp + 8]
push eax
call fcn.0041ec8c
add esp, 4
mov dword [0x42b454], eax
cmp dword [0x42b454], 8
jne 0x4082e3
call fcn.004203c7
mov dword [0x42b3fc], 1
mov eax, dword [0x42b454]
push eax
call dword [sym.imp.MSVCRT20.dll_exit]
add esp, 4
xor eax, eax
jmp 0x408303
pop edi
pop esi
pop ebx
leave
ret
Function at 0x410da5
Capabilities:
Execute command

Disassembly:
push ebp
mov ebp, esp
sub esp, 4
push ebx
push esi
push edi
mov dword [0x42cc58], 0
mov eax, dword [0x42b83c]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
movsx eax, byte [eax]
test eax, eax
jne 0x410dd5
mov dword [ebp - 4], str.arjdisp.exe
mov eax, dword [ebp - 4]
push eax
push 0x42b630
call dword [sym.imp.MSVCRT20.dll__stricmp]
add esp, 8
test eax, eax
je 0x410e36
mov eax, dword [0x42b434]
push eax
mov eax, dword [0x42c0a8]
push eax
mov eax, dword [ebp + 8]
push eax
mov eax, dword [0x42b4bc]
push eax
push 0x42b630
mov eax, dword [0x42b470]
push eax
mov eax, dword [ebp - 4]
push eax
push str._s__s__s__ld__ld__ld__c
mov eax, dword [0x42b460]
push eax
call fcn.004083b8
add esp, 0x24
mov eax, dword [0x42b460]
push eax
call dword [sym.imp.MSVCRT20.dll_system]
add esp, 4
mov dword [0x42cc58], 1
pop edi
pop esi
pop ebx
leave
ret

Function at 0x410e45
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
mov dword [0x42d100], 0xffffffff
push 0x42f098
mov eax, dword [ebp + 8]
push eax
call fcn.0042045e
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x410eda
push 0x1000
call fcn.0041a3d0
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc]
push eax
push 0x1000
push 1
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.MSVCRT20.dll_fread]
add esp, 0x10
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x410ec0
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebp - 8]
push eax
call fcn.00418da1
add esp, 8
jmp 0x410e86
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.MSVCRT20.dll_free]
add esp, 4
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.MSVCRT20.dll_fclose]
add esp, 4
mov eax, dword [0x42d100]
not eax
jmp 0x410ee6
pop edi
pop esi
pop ebx
leave
ret
Function at 0x4166d5
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 4
push ebx
push esi
push edi
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
push 1
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.MSVCRT20.dll_fread]
add esp, 0x10
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jle 0x41671b
mov eax, dword [ebp - 4]
add dword [0x42b544], eax
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.004093f4
add esp, 8
mov eax, dword [ebp - 4]
jmp 0x416723
pop edi
pop esi
pop ebx
leave
ret

Function at 0x416728
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.004093f4
add esp, 8
cmp dword [ebp + 0x10], 0
je 0x416775
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
push 1
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.MSVCRT20.dll_fwrite]
add esp, 0x10
cmp eax, dword [ebp + 0xc]
je 0x416775
push 0x42fa18
call fcn.004081d7
add esp, 4
pop edi
pop esi
pop ebx
leave
ret
Function at 0x417eae
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
cmp dword [0x42b604], 0
je 0x417f71
mov eax, dword [ebp + 0xc]
push eax
call fcn.0041a40d
add esp, 4
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.MSVCRT20.dll_memmove]
add esp, 0xc
mov eax, dword [0x42b128]
push eax
mov eax, dword [ebp + 0xc]
push eax
push 1
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.MSVCRT20.dll_fread]
add esp, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0xc]
cmp dword [ebp - 8], eax
je 0x417f1f
mov dword [0x42b604], 0
jmp 0x417f4f
cmp dword [ebp - 8], 0
jle 0x417f4f
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebp + 8]
push eax
call sub.MSVCRT20.dll_memcmp
add esp, 0xc
test eax, eax
je 0x417f4f
mov dword [0x42b604], 0
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.MSVCRT20.dll_memmove]
add esp, 0xc
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.MSVCRT20.dll_free]
add esp, 4
xor eax, eax
jmp 0x417f78
pop edi
pop esi
pop ebx
leave
ret

Function at 0x4189f2
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
cmp dword [0x42b148], 0
jne 0x418a2f
mov eax, dword [ebp + 0xc]
push eax
push 1
push 4
lea eax, [ebp + 8]
push eax
call dword [sym.imp.MSVCRT20.dll_fwrite]
add esp, 0x10
test eax, eax
jne 0x418a2f
push 0x42fa18
call fcn.004081d7
add esp, 4
pop edi
pop esi
pop ebx
leave
ret

Function at 0x418a34
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
cmp dword [0x42b4a0], 0
jle 0x418b3c
mov eax, dword [0x42b4a0]
add dword [0x42c0a8], eax
mov eax, dword [0x42c0a8]
cmp dword [0x42b544], eax
jae 0x418a8c
cmp dword [0x42c0f8], 0
je 0x418a7d
cmp dword [0x42c368], 0
jne 0x418a8c
mov dword [0x42b3f0], 1
jmp 0x418b32
cmp dword [0x42b148], 0
jne 0x418b32
cmp dword [0x42c0f8], 0
je 0x418aba
mov eax, dword [0x42b4a0]
push eax
mov eax, dword [0x42c354]
push eax
call fcn.0041a490
add esp, 8
cmp dword [0x42c368], 0
je 0x418b02
mov eax, dword [0x42b180]
push eax
mov eax, dword [0x42b4a0]
push eax
push 1
mov eax, dword [0x42c354]
push eax
call dword [sym.imp.MSVCRT20.dll_fwrite]
add esp, 0x10
cmp eax, dword [0x42b4a0]
je 0x418afd
push 0x42fa18
call fcn.004081d7
add esp, 4
jmp 0x418b28
mov eax, dword [0x42b4a0]
push eax
mov eax, dword [0x42c354]
push eax
mov eax, dword [0x42c104]
push eax
call dword [sym.imp.MSVCRT20.dll_memmove]
add esp, 0xc
mov eax, dword [0x42b4a0]
add dword [0x42c104], eax
mov dword [0x42c148], 0x200
mov dword [0x42b4a0], 0
pop edi
pop esi
pop ebx
leave
ret
Function at 0x41b033
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
push 0x6c00
call fcn.0041a3d0
add esp, 4
mov dword [ebp - 8], eax
push 0
push 0
mov eax, dword [0x42c3b4]
push eax
call dword [sym.imp.MSVCRT20.dll_fseek]
add esp, 0xc
cmp dword [ebp + 8], 0
jbe 0x41b0ec
mov eax, dword [ebp + 8]
cmp eax, 0x6c00
jb 0x41b07c
mov eax, 0x6c00
mov dword [ebp - 4], eax
mov eax, dword [0x42c3b4]
push eax
mov eax, dword [ebp - 4]
push eax
push 1
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.MSVCRT20.dll_fread]
add esp, 0x10
cmp eax, dword [ebp - 4]
je 0x41b0ae
push 0x42f988
call fcn.004081d7
add esp, 4
mov eax, dword [0x42b180]
push eax
mov eax, dword [ebp - 4]
push eax
push 1
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.MSVCRT20.dll_fwrite]
add esp, 0x10
cmp eax, dword [ebp - 4]
je 0x41b0dd
push 0x42fa18
call fcn.004081d7
add esp, 4
xor eax, eax
sub eax, dword [ebp - 4]
neg eax
sub dword [ebp + 8], eax
jmp 0x41b05f
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.MSVCRT20.dll_free]
add esp, 4
pop edi
pop esi
pop ebx
leave
ret
Function at 0x41b96b
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
push 0x6c00
call fcn.0041a3d0
add esp, 4
mov dword [ebp - 0x10], eax
call fcn.004203c7
mov dword [0x42b544], 0
mov word [0x42c17c], 0
mov dword [0x42c15c], 0
push 0
call fcn.00417690
add esp, 4
mov dword [0x42d100], 0xffffffff
mov dword [ebp - 0xc], 0x6c00
cmp dword [0x42b5c0], 0
je 0x41b9ea
cmp dword [0x42c368], 0
je 0x41b9ea
mov eax, dword [ebp - 0xc]
push eax
call fcn.0041b69c
add esp, 4
mov dword [ebp - 0xc], eax
cmp dword [0x42c368], 0
je 0x41baa7
mov eax, dword [0x42b53c]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
call fcn.004166d5
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jle 0x41baa2
cmp dword [0x42c0f8], 0
je 0x41ba37
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 0x10]
push eax
call fcn.0041a490
add esp, 8
cmp dword [0x42b148], 0
jne 0x41ba73
mov eax, dword [0x42b180]
push eax
mov eax, dword [ebp - 8]
push eax
push 1
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.MSVCRT20.dll_fwrite]
add esp, 0x10
cmp eax, dword [ebp - 8]
je 0x41ba73
push 0x42fa18
call fcn.004081d7
add esp, 4
mov eax, dword [0x42b544]
push eax
call fcn.00417690
add esp, 4
cmp dword [0x42b5c0], 0
je 0x41ba9d
mov eax, dword [ebp - 0xc]
push eax
call fcn.0041b69c
add esp, 4
mov dword [ebp - 0xc], eax
jmp 0x41b9f7
jmp 0x41bb54
cmp dword [0x42b448], 0
je 0x41bb54
mov eax, dword [0x42b448]
cmp eax, 0x6c00
jb 0x41bac9
mov eax, 0x6c00
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
push eax
mov eax, dword [0x42c348]
push eax
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.MSVCRT20.dll_memmove]
add esp, 0xc
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebp - 0x10]
push eax
call fcn.00418da1
add esp, 8
cmp dword [0x42c0f8], 0
je 0x41bb10
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebp - 0x10]
push eax
call fcn.0041a490
add esp, 8
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [0x42c104]
push eax
call dword [sym.imp.MSVCRT20.dll_memmove]
add esp, 0xc
mov eax, dword [ebp - 4]
add dword [0x42c348], eax
mov eax, dword [ebp - 4]
add dword [0x42c104], eax
mov eax, dword [ebp - 4]
add dword [0x42b544], eax
xor eax, eax
sub eax, dword [ebp - 4]
neg eax
sub dword [0x42b448], eax
jmp 0x41baa7
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.MSVCRT20.dll_free]
add esp, 4
mov eax, dword [0x42b544]
mov dword [0x42c0a8], eax
pop edi
pop esi
pop ebx
leave
ret
Function at 0x41ef6d
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 4
push ebx
push esi
push edi
cmp dword [ebp + 0x10], 1
jne 0x41efda
cmp dword [ebp + 0xc], 0
jl 0x41efda
cmp dword [ebp + 0xc], 0x1000
jg 0x41efda
push 0x1000
call fcn.0041a3d0
add esp, 4
mov dword [ebp - 4], eax
cmp dword [ebp + 0xc], 0
jle 0x41efc8
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp + 0xc]
push eax
push 1
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.MSVCRT20.dll_fread]
add esp, 0x10
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.MSVCRT20.dll_free]
add esp, 4
jmp 0x41efef
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.MSVCRT20.dll_fseek]
add esp, 0xc
pop edi
pop esi
pop ebx
leave
ret

Function at 0x41f203
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
push 0
push 0
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.MSVCRT20.dll_fseek]
add esp, 0xc
cmp dword [ebp + 8], 0
jbe 0x41f2d6
cmp dword [0x42c160], 0
jne 0x41f24c
push 0
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.MSVCRT20.dll_fseek]
add esp, 0xc
jmp 0x41f2d6
push 0x6c00
call fcn.0041a3d0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp + 8], 0
jbe 0x41f2b8
mov eax, dword [ebp + 8]
cmp eax, 0x6c00
jb 0x41f279
mov eax, 0x6c00
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp - 4]
push eax
push 1
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.MSVCRT20.dll_fread]
add esp, 0x10
cmp eax, dword [ebp - 4]
je 0x41f2a9
push 0x430088
call fcn.004081d7
add esp, 4
xor eax, eax
sub eax, dword [ebp - 4]
neg eax
sub dword [ebp + 8], eax
jmp 0x41f25c
push 1
push 0
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.MSVCRT20.dll_fseek]
add esp, 0xc
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.MSVCRT20.dll_free]
add esp, 4
pop edi
pop esi
pop ebx
leave
ret
Function at 0x41f39c
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
mov dword [ebp - 0x14], 0
mov dword [ebp - 0xc], 0x6c00
jmp 0x41f3bf
sub dword [ebp - 0xc], 0x200
cmp dword [ebp - 0xc], 0x200
jb 0x41f3f0
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.MSVCRT20.dll_malloc]
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x41f3eb
jmp 0x41f3f0
jmp 0x41f3b8
cmp dword [ebp - 0x14], 0
jne 0x41f407
push 0x430a58
call fcn.004081d7
add esp, 4
call fcn.004203c7
mov dword [ebp - 8], 0
mov eax, dword [ebp - 8]
push eax
call fcn.00417690
add esp, 4
cmp dword [0x42c368], 0
je 0x41f462
mov eax, dword [0x42c3b4]
push eax
call dword [sym.imp.MSVCRT20.dll_ftell]
add esp, 4
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
sub edx, edx
div dword [ebp - 0xc]
sub ecx, edx
mov eax, dword [0x42c0a8]
cmp ecx, eax
jb 0x41f45a
mov ecx, eax
mov dword [ebp - 4], ecx
jmp 0x41f478
mov eax, dword [ebp - 0xc]
mov ecx, dword [0x42c0a8]
cmp eax, ecx
jb 0x41f475
mov eax, ecx
mov dword [ebp - 4], eax
cmp dword [0x42c0a8], 0
jbe 0x41f56b
cmp dword [0x42c368], 0
je 0x41f4c6
mov eax, dword [0x42c3b4]
push eax
mov eax, dword [ebp - 4]
push eax
push 1
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.MSVCRT20.dll_fread]
add esp, 0x10
cmp eax, dword [ebp - 4]
je 0x41f4c1
push 0x42f988
call fcn.004081d7
add esp, 4
jmp 0x41f4f3
mov eax, dword [ebp - 4]
push eax
mov eax, dword [0x42c104]
push eax
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.MSVCRT20.dll_memmove]
add esp, 0xc
mov eax, dword [ebp - 4]
add dword [0x42c104], eax
xor eax, eax
sub eax, dword [ebp - 4]
neg eax
sub dword [0x42c0dc], eax
cmp dword [0x42c334], 0
je 0x41f510
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebp - 0x14]
push eax
call fcn.0041a4ab
add esp, 8
mov eax, dword [ebp - 4]
add dword [ebp - 8], eax
mov eax, dword [ebp - 8]
push eax
call fcn.00417690
add esp, 4
xor eax, eax
sub eax, dword [ebp - 4]
neg eax
sub dword [0x42c0a8], eax
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebp - 0x14]
push eax
call fcn.0041677a
add esp, 0xc
test eax, eax
je 0x41f550
jmp 0x41f56b
mov eax, dword [ebp - 0xc]
mov ecx, dword [0x42c0a8]
cmp eax, ecx
jb 0x41f563
mov eax, ecx
mov dword [ebp - 4], eax
jmp 0x41f478
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.MSVCRT20.dll_free]
add esp, 4
pop edi
pop esi
pop ebx
leave
ret
Function at 0x41f57d
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
cmp dword [ebp + 8], 3
jne 0x41f665
push 0x6c00
call fcn.0041a3d0
add esp, 4
mov dword [ebp - 0x10], eax
call fcn.004203c7
mov dword [ebp - 8], 0
mov eax, dword [ebp - 8]
push eax
call fcn.00417690
add esp, 4
mov eax, dword [0x42b544]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cmp eax, 0x6c00
jb 0x41f5d3
mov eax, 0x6c00
mov dword [ebp - 4], eax
cmp dword [ebp - 0xc], 0
jbe 0x41f658
mov eax, dword [0x42b128]
push eax
mov eax, dword [ebp - 4]
push eax
push 1
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.MSVCRT20.dll_fread]
add esp, 0x10
cmp eax, dword [ebp - 4]
je 0x41f611
mov dword [0x42b604], 0
jmp 0x41f658
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebp - 0x10]
push eax
call fcn.00418da1
add esp, 8
mov eax, dword [ebp - 4]
add dword [ebp - 8], eax
mov eax, dword [ebp - 8]
push eax
call fcn.00417690
add esp, 4
xor eax, eax
sub eax, dword [ebp - 4]
neg eax
sub dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cmp eax, 0x6c00
jb 0x41f650
mov eax, 0x6c00
mov dword [ebp - 4], eax
jmp 0x41f5d6
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.MSVCRT20.dll_free]
add esp, 4
pop edi
pop esi
pop ebx
leave
ret

Function at 0x41fb6f
Capabilities:
Get memory capacity

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
push edi
mov dword [ebp - 0x20], 0x20
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov eax, dword [ebp - 4]
cmp eax, 0x7fffffff
ja 0x41fb9c
mov eax, 0x7fffffff
jmp 0x41fba1
pop edi
pop esi
pop ebx
leave
ret

Function at 0x41fe38
Capabilities:
Check if file exists
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 4
push ebx
push esi
push edi
cmp dword [ebp + 0xc], 0
jne 0x41fe7e
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffff
jne 0x41fe71
mov eax, 0xffffffff
jmp 0x41fea5
mov eax, dword [ebp - 4]
jmp 0x41fea5
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test eax, eax
jne 0x41fe9e
mov eax, 1
jmp 0x41fea0
xor eax, eax
jmp 0x41fea5
pop edi
pop esi
pop ebx
leave
ret