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

Disassembly:
push ecx
movzx eax, word [0x260dd88]
mov ecx, dword [0x260de70]
lea eax, [eax + ecx + 0x4b9000]
xor ecx, ecx
cmp byte [eax], 0xff
push esi
sete cl
push edi
lea esi, [ecx*8]
sub esi, ecx
add esi, eax
call fcn.00405680
movzx ecx, word [eax + 0x20c]
movzx edx, word [eax + 0x20a]
movzx eax, word [esi + 0xe]
shl ecx, 4
push eax
add ecx, edx
lea edi, [ecx + 0x4b9000]
push 0
push edi
mov dword [esp + 0x14], 0
call fcn.0048f0e0
movzx ecx, word [esi + 0xc]
movzx edx, byte [esi + 0x20]
movzx eax, word [esi + 0xe]
shl ecx, 7
add ecx, edx
imul ecx, eax
add esp, 0xc
push 0
push 0
push ecx
mov ecx, dword [esi + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
movzx eax, word [esi + 0xe]
mov ecx, dword [esi + 0x18]
push 0
lea edx, [esp + 0xc]
push edx
push eax
push edi
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x411d65
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x411d65
inc byte [esi + 0x20]
mov al, byte [esi + 0x20]
cmp al, 0x80
jb 0x411d4f
mov dl, al
shr dl, 7
movzx dx, dl
add word [esi + 0xc], dx
movzx eax, al
and eax, 0x8000007f
jns 0x411d4c
dec eax
or eax, 0xffffff80
inc eax
mov byte [esi + 0x20], al
movzx edx, word [esi + 0xe]
cmp ecx, edx
sete al
dec al
and al, 3
pop edi
mov byte [0x260dd80], al
pop esi
pop ecx
ret
pop edi
mov byte [0x260dd80], 1
pop esi
pop ecx
ret

Function at 0x411d70
Capabilities:
Get file size
Write file on windows

Disassembly:
push ecx
movzx eax, word [0x260dd88]
mov ecx, dword [0x260de70]
lea eax, [eax + ecx + 0x4b9000]
xor ecx, ecx
cmp byte [eax], 0xff
push esi
sete cl
push edi
lea esi, [ecx*8]
sub esi, ecx
add esi, eax
call fcn.00405680
movzx edi, word [eax + 0x20c]
movzx edx, word [eax + 0x20a]
movzx eax, word [esi + 0xc]
movzx ecx, byte [esi + 0x20]
shl edi, 4
shl eax, 7
add edi, edx
movzx edx, word [esi + 0xe]
add eax, ecx
imul eax, edx
push 0
push 0
push eax
mov eax, dword [esi + 0x18]
push eax
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
movzx edx, word [esi + 0xe]
push 0
lea ecx, [esp + 0xc]
push ecx
mov ecx, dword [esi + 0x18]
push edx
lea eax, [edi + 0x4b9000]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [esi + 0x18]
push 0
push edx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [esi + 0x10], eax
movzx eax, word [esi + 0xe]
cmp dword [esp + 8], eax
je 0x411e1e
pop edi
mov byte [0x260dd80], 1
pop esi
pop ecx
ret
inc byte [esi + 0x20]
mov al, byte [esi + 0x20]
cmp al, 0x80
jb 0x411e47
mov cl, al
shr cl, 7
movzx dx, cl
add word [esi + 0xc], dx
movzx eax, al
and eax, 0x8000007f
jns 0x411e44
dec eax
or eax, 0xffffff80
inc eax
mov byte [esi + 0x20], al
pop edi
mov byte [0x260dd80], 0
pop esi
pop ecx
ret
Function at 0x412380
Capabilities:
Read file on windows

Disassembly:
push ecx
movzx eax, word [0x260dd88]
mov ecx, dword [0x260de70]
lea eax, [eax + ecx + 0x4b9000]
xor ecx, ecx
cmp byte [eax], 0xff
push esi
sete cl
lea esi, [ecx*8]
sub esi, ecx
movzx ecx, word [esi + eax + 0xe]
add esi, eax
mov eax, dword [esi + 0x21]
cmp cx, 0x40
jb 0x4123bc
and eax, 0xffffff
movzx ecx, cx
imul ecx, eax
mov edx, eax
shr edx, 7
mov word [esi + 0xc], dx
mov dl, al
push 0
and dl, 0x7f
push 0
mov byte [esi + 0x20], dl
mov edx, dword [esi + 0x18]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
je 0x412457
push edi
call fcn.00405680
movzx ecx, word [eax + 0x20c]
movzx eax, word [eax + 0x20a]
shl ecx, 4
add ecx, eax
lea edi, [ecx + 0x4b9000]
movzx ecx, word [esi + 0xe]
push ecx
push 0
push edi
call fcn.0048f0e0
movzx eax, word [esi + 0xe]
mov ecx, dword [esi + 0x18]
add esp, 0xc
push 0
lea edx, [esp + 0xc]
push edx
push eax
push edi
push ecx
mov dword [esp + 0x1c], 0
call dword [sym.imp.KERNEL32.dll_ReadFile]
pop edi
test eax, eax
je 0x412457
mov eax, dword [esp + 4]
test eax, eax
je 0x412457
movzx edx, word [esi + 0xe]
cmp eax, edx
sete al
dec al
and al, 3
mov byte [0x260dd80], al
pop esi
pop ecx
ret
mov byte [0x260dd80], 1
pop esi
pop ecx
ret

Function at 0x412470
Capabilities:
Get file size
Write file on windows

Disassembly:
push ecx
movzx eax, word [0x260dd88]
mov ecx, dword [0x260de70]
lea eax, [eax + ecx + 0x4b9000]
xor ecx, ecx
cmp byte [eax], 0xff
push esi
sete cl
lea esi, [ecx*8]
sub esi, ecx
movzx ecx, word [esi + eax + 0xe]
add esi, eax
mov eax, dword [esi + 0x21]
cmp cx, 0x40
jb 0x4124ac
and eax, 0xffffff
movzx ecx, cx
imul ecx, eax
mov edx, eax
shr edx, 7
mov word [esi + 0xc], dx
mov dl, al
push 0
and dl, 0x7f
push 0
mov byte [esi + 0x20], dl
mov edx, dword [esi + 0x18]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x4124e1
mov byte [0x260dd80], 1
pop esi
pop ecx
ret
call fcn.00405680
movzx ecx, word [eax + 0x20c]
movzx eax, word [eax + 0x20a]
shl ecx, 4
push 0
add ecx, eax
movzx eax, word [esi + 0xe]
lea edx, [esp + 8]
push edx
mov edx, dword [esi + 0x18]
push eax
lea ecx, [ecx + 0x4b9000]
push ecx
push edx
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [esi + 0x18]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
movzx ecx, word [esi + 0xe]
cmp dword [esp + 4], ecx
mov dword [esi + 0x10], eax
setne dl
mov byte [0x260dd80], dl
pop esi
pop ecx
ret
Function at 0x412550
Capabilities:
Get file size

Disassembly:
movzx eax, word [0x260dd88]
mov ecx, dword [0x260de70]
lea eax, [eax + ecx + 0x4b9000]
xor ecx, ecx
cmp byte [eax], 0xff
push esi
sete cl
push edi
lea esi, [ecx*8]
sub esi, ecx
add esi, eax
call fcn.004064d0
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
cmp edi, 0xffffffff
jne 0x4125a8
pop edi
mov byte [0x260dd80], 0xff
pop esi
ret
push ebx
push ebp
push 0
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
movzx ecx, word [esi + 0xe]
movzx ebx, cx
xor edx, edx
div ebx
mov ebp, eax
xor eax, eax
test edx, edx
setne al
add eax, ebp
pop ebp
mov edx, eax
pop ebx
cmp cx, 0x40
jb 0x4125e0
mov eax, dword [esi + 0x21]
xor eax, edx
and eax, 0xffffff
xor eax, dword [esi + 0x21]
push edi
mov dword [esi + 0x21], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
mov byte [0x260dd80], 0
pop esi
ret

Function at 0x4126c0
Capabilities:
Read file on windows

Disassembly:
push ecx
movzx eax, word [0x260dd88]
mov ecx, dword [0x260de70]
lea eax, [eax + ecx + 0x4b9000]
xor ecx, ecx
cmp byte [eax], 0xff
push ebx
sete cl
push esi
lea esi, [ecx*8]
sub esi, ecx
mov ebx, dword [esi + eax + 0x21]
add esi, eax
movzx eax, word [esi + 0xe]
cmp ax, 0x40
jb 0x4126fe
and ebx, 0xffffff
movzx edx, ax
mov eax, dword [esi + 0x18]
imul edx, ebx
push 0
push 0
push edx
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x412732
mov edx, ebx
shr edx, 7
and bl, 0x7f
mov byte [esi + 0x20], bl
mov word [esi + 0xc], dx
pop esi
mov byte [0x260dd80], 1
pop ebx
pop ecx
ret
cmp word [0x260dd84], 0
jne 0x412756
mov edx, ebx
shr edx, 7
and bl, 0x7f
mov byte [esi + 0x20], bl
mov word [esi + 0xc], dx
pop esi
mov byte [0x260dd80], 0
pop ebx
pop ecx
ret
push ebp
push edi
call fcn.00405680
movzx ecx, word [eax + 0x20c]
movzx edx, word [eax + 0x20a]
movzx eax, word [esi + 0xe]
movzx edi, word [0x260dd84]
imul edi, eax
shl ecx, 4
add ecx, edx
push edi
lea ebp, [ecx + 0x4b9000]
push 0
push ebp
call fcn.0048f0e0
mov edx, dword [esi + 0x18]
add esp, 0xc
push 0
lea ecx, [esp + 0x14]
push ecx
push edi
push ebp
push edx
mov dword [esp + 0x24], 0
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x41280b
mov eax, dword [esp + 0x10]
test eax, eax
je 0x41280b
movzx ecx, word [esi + 0xe]
xor edx, edx
movzx ebp, cx
div ebp
mov ebp, edx
xor edx, edx
test ebp, ebp
setne dl
add dx, ax
movzx edx, dx
movzx eax, dx
add ebx, eax
cmp cx, 0x40
jb 0x4127eb
mov eax, dword [esi + 0x21]
xor eax, ebx
and eax, 0xffffff
xor eax, dword [esi + 0x21]
jmp 0x4127ed
mov eax, ebx
cmp dword [esp + 0x10], edi
mov dword [esi + 0x21], eax
sete cl
dec cl
and cl, 3
mov byte [0x260dd80], cl
mov word [0x260dd84], dx
jmp 0x412812
mov byte [0x260dd80], 1
mov edx, ebx
pop edi
shr edx, 7
and bl, 0x7f
pop ebp
mov byte [esi + 0x20], bl
mov word [esi + 0xc], dx
pop esi
pop ebx
pop ecx
ret
Function at 0x412830
Capabilities:
Get file size
Write file on windows

Disassembly:
push ecx
movzx eax, word [0x260dd88]
mov ecx, dword [0x260de70]
lea eax, [eax + ecx + 0x4b9000]
xor ecx, ecx
cmp byte [eax], 0xff
push ebx
sete cl
push esi
lea esi, [ecx*8]
sub esi, ecx
mov ebx, dword [esi + eax + 0x21]
add esi, eax
movzx eax, word [esi + 0xe]
cmp ax, 0x40
jb 0x41286e
and ebx, 0xffffff
movzx edx, ax
mov eax, dword [esi + 0x18]
imul edx, ebx
push 0
push 0
push edx
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x4128a2
mov edx, ebx
shr edx, 7
and bl, 0x7f
mov byte [esi + 0x20], bl
mov word [esi + 0xc], dx
pop esi
mov byte [0x260dd80], 1
pop ebx
pop ecx
ret
cmp word [0x260dd84], 0
jne 0x4128e3
mov ecx, dword [esi + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
je 0x412888
mov edx, dword [esi + 0x18]
push 0
push edx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edx, ebx
shr edx, 7
and bl, 0x7f
mov byte [esi + 0x20], bl
mov dword [esi + 0x10], eax
mov word [esi + 0xc], dx
pop esi
mov byte [0x260dd80], 0
pop ebx
pop ecx
ret
push ebp
push edi
call fcn.00405680
movzx edx, word [esi + 0xe]
movzx edi, word [0x260dd84]
movzx ecx, word [eax + 0x20c]
imul edi, edx
movzx eax, word [eax + 0x20a]
mov edx, dword [esi + 0x18]
shl ecx, 4
push 0
add ecx, eax
lea eax, [esp + 0x14]
push eax
push edi
lea ecx, [ecx + 0x4b9000]
push ecx
push edx
mov dword [esp + 0x24], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [esi + 0x18]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
movzx ecx, word [esi + 0xe]
xor edx, edx
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x10]
movzx ebp, cx
div ebp
mov ebp, edx
xor edx, edx
test ebp, ebp
setne dl
add dx, ax
movzx eax, dx
movzx edx, ax
add ebx, edx
cmp cx, 0x40
jb 0x412974
mov ecx, dword [esi + 0x21]
xor ecx, ebx
and ecx, 0xffffff
xor ecx, dword [esi + 0x21]
jmp 0x412976
mov ecx, ebx
cmp dword [esp + 0x10], edi
mov edx, ebx
mov dword [esi + 0x21], ecx
setne cl
pop edi
shr edx, 7
and bl, 0x7f
pop ebp
mov byte [esi + 0x20], bl
mov word [esi + 0xc], dx
pop esi
mov byte [0x260dd80], cl
mov word [0x260dd84], ax
pop ebx
pop ecx
ret
Function at 0x413460
Capabilities:
Get common file path

Disassembly:
sub esp, 0x108
mov eax, dword [0x4b2a8c]
xor eax, esp
mov dword [esp + 0x104], eax
movzx eax, byte [0x260dd80]
push ebx
mov bl, 3
cmp eax, 7
ja case.default.0x413487
jmp dword [eax*4 + 0x413600]
mov al, byte [0x26112ba]
mov byte [0x260dd88], al
pop ebx
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.00482caa
add esp, 0x108
ret
mov cl, byte [0x260dd88]
mov byte [0x26112ba], cl
pop ebx
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.00482caa
add esp, 0x108
ret
mov al, byte [0x26112ba]
mov dl, byte [0x260dd88]
mov byte [0x26112ba], dl
mov byte [0x260dd88], al
pop ebx
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.00482caa
add esp, 0x108
ret
push 0x104
lea eax, [esp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
je 0x41354c
mov al, byte [esp + 4]
mov cl, al
sub cl, 0x61
cmp cl, 0x19
ja 0x41353e
sub al, 0x60
mov bl, al
mov byte [0x260dd88], bl
pop ebx
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.00482caa
add esp, 0x108
ret
mov dl, al
sub dl, 0x41
cmp dl, 0x19
ja 0x41354c
sub al, 0x40
mov bl, al
mov byte [0x260dd88], bl
pop ebx
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.00482caa
add esp, 0x108
ret
mov byte [0x260dd8c], 7
mov byte [0x260dd8d], 0xa
mov byte [0x260dd88], 0
mov byte [0x260dd89], 0x10
pop ebx
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.00482caa
add esp, 0x108
ret
mov al, byte [0x260dd88]
test al, al
jne 0x4135c0
and byte [0x4b9886], 0xdf
pop ebx
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.00482caa
add esp, 0x108
ret
cmp al, 1
jne case.0x413487.3
or byte [0x4b9886], 0x20
pop ebx
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.00482caa
add esp, 0x108
ret
mov byte [0x260dd80], 0xff
mov ecx, dword [esp + 0x108]
pop ebx
xor ecx, esp
call fcn.00482caa
add esp, 0x108
ret
Function at 0x413880
Capabilities:
Get geographical location

Disassembly:
sub esp, 0x54
mov eax, dword [0x4b2a8c]
xor eax, esp
mov dword [esp + 0x50], eax
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
push 0x50
mov dword [esi + 0x14], eax
lea eax, [esp + 8]
push eax
push 0x19
push edi
call ebx
lea ecx, [esp + 4]
push ecx
call fcn.004841e3
add esp, 4
push 0x50
lea edx, [esp + 8]
push edx
push 0x1b
push edi
mov byte [esi + 0x10], al
call ebx
movzx eax, byte [esp + 4]
push 0x50
lea ecx, [esp + 8]
push ecx
push 0x21
sub al, 0x30
push edi
mov byte [esi + 0xf], al
call ebx
movsx dx, byte [esp + 4]
push 0x50
lea eax, [esp + 8]
push eax
push 0x14
sub dx, 0x30
push edi
mov word [esi], dx
call ebx
mov ecx, dword [esp + 4]
push 0x50
lea edx, [esp + 8]
push edx
push 0x1d
push edi
mov dword [esi + 2], ecx
call ebx
movzx eax, byte [esp + 4]
push 0x50
lea ecx, [esp + 8]
push ecx
push 0xe
push edi
mov byte [esi + 0xb], al
call ebx
movzx edx, byte [esp + 4]
push 0x50
lea eax, [esp + 8]
push eax
push 0xc
push edi
mov byte [esi + 9], dl
call ebx
mov cl, byte [esp + 4]
push 0x50
lea edx, [esp + 8]
push edx
push 0xf
push edi
mov byte [esi + 0x16], cl
call ebx
movzx eax, byte [esp + 4]
push 0x50
lea ecx, [esp + 8]
mov byte [esi + 7], al
push ecx
push 0x1e
push edi
call ebx
movzx edx, byte [esp + 4]
push 0x50
lea eax, [esp + 8]
push eax
push 0x1003
push edi
mov byte [esi + 0xd], dl
call ebx
lea ecx, [esp + 4]
push 0x48
push ecx
call fcn.00484060
add esp, 8
test eax, eax
je 0x41398f
mov byte [esi + 0x11], 1
push 0x50
lea ecx, [esp + 8]
push ecx
push 5
mov edx, 0xa
mov eax, 0xfffc
push edi
mov word [esi + 0x12], dx
mov word [esi + 0x14], ax
call ebx
lea edx, [esp + 4]
push edx
call fcn.004841e3
mov ecx, dword [esp + 0x58]
add esp, 4
pop ebx
xor ecx, esp
call fcn.00482caa
add esp, 0x54
ret
Function at 0x413df0
Capabilities:
Get file attributes
Set file attributes

Disassembly:
movzx eax, word [0x260dd88]
mov ecx, dword [0x260de70]
sub esp, 8
push ebx
push ebp
push esi
xor esi, esi
push esi
lea eax, [eax + ecx + 0x4b9000]
push esi
push eax
call fcn.00405f50
add esp, 0xc
mov edx, 0x2616118
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x413e20
push 0x2616118
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push 0x2616118
mov ebp, eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], esi
call fcn.00406910
add esp, 4
test al, al
je 0x413e6f
push edi
lea edx, [esp + 0x10]
push edx
push 0x8001
lea edi, [esp + 0x1c]
mov esi, 0x2616118
call fcn.004077d0
add esp, 8
pop edi
jmp 0x413e86
push 0x180
push 0x8302
push 0x2616118
call fcn.004839c6
add esp, 0xc
mov ebx, eax
cmp ebx, 0xffffffff
je 0x413f06
cmp ebp, 0xffffffff
jne 0x413e9b
mov ebp, dword [0x260dd84]
and ebp, 0x36
push ebp
push 0x2616118
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
movzx edx, word [0x4b8be8]
push eax
push ecx
push edx
mov esi, 0x2616118
mov word [0x260dd80], bx
call fcn.00407870
movzx eax, ax
push eax
push 2
push ebx
call fcn.00483c77
add esp, 4
push eax
push ebx
mov ecx, esi
call fcn.00407900
movzx eax, word [0x4b8be8]
add esp, 0x1c
test eax, eax
je 0x413f2d
cmp ebx, 0x14
jge 0x413f2d
pop esi
shl eax, 4
pop ebp
mov byte [eax + ebx + 0x4b9018], bl
pop ebx
add esp, 8
ret
call fcn.00483f70
mov ecx, dword [eax]
mov eax, ecx
sub eax, 0x50
je 0x413f19
sub eax, 0x67
jne 0x413f1e
mov ecx, 5
or word [0x260ddac], 1
mov word [0x260dd80], cx
pop esi
pop ebp
pop ebx
add esp, 8
ret
Function at 0x414610
Capabilities:
Clear file content

Disassembly:
push ecx
push esi
call fcn.00405680
movzx ecx, word [0x4b8be8]
movzx esi, word [0x260dd8c]
test ecx, ecx
je 0x414639
cmp esi, 0x14
jge 0x414639
shl ecx, 4
movzx esi, byte [ecx + esi + 0x4b9018]
cmp esi, dword [eax + 0x210]
jge 0x414791
lea ecx, [esi + esi*8]
shl ecx, 5
cmp dword [ecx + 0x24b9114], 0
je 0x414791
mov eax, dword [ecx + 0x24b9120]
shl eax, 4
cmp dword [eax + 0x4a6210], 0
je 0x41477a
mov ax, word [0x260dd84]
test ax, ax
je 0x4146f8
cmp dword [ecx + 0x24b911c], 0
je 0x4146cc
xor ecx, ecx
xor esi, esi
cmp cx, ax
jae 0x41479e
nop
movzx edx, word [0x260dd88]
add edx, dword [0x260de70]
push 0x40
movzx eax, byte [edx + esi + 0x4b9000]
push eax
mov ecx, 0x21
call fcn.004085a0
mov ax, word [0x260dd84]
movzx ecx, ax
inc esi
add esp, 8
cmp esi, ecx
jl 0x414690
mov word [0x260dd80], ax
pop esi
pop ecx
ret
mov ecx, dword [0x260de70]
movzx edx, ax
movzx eax, word [0x260dd88]
push edx
lea edx, [eax + ecx + 0x4b9000]
push edx
mov eax, esi
call fcn.00408390
add esp, 8
mov word [0x260dd80], ax
pop esi
pop ecx
ret
push ebp
push esi
call fcn.004839b0
push 2
push 0
push esi
mov ebp, eax
call fcn.00486e1b
push esi
call fcn.004839b0
add esp, 0x14
cmp eax, ebp
jbe 0x41473e
push 0
push ebp
push esi
call fcn.00486e1b
push esi
call fcn.004869b8
add esp, 0x10
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
xor ecx, ecx
pop ebp
mov word [0x260dd80], cx
pop esi
pop ecx
ret
jae 0x414761
push edi
mov edi, ebp
sub edi, eax
lea eax, [esp + 0xf]
push 1
push eax
mov eax, esi
mov byte [esp + 0x17], 0
call fcn.00408390
add esp, 8
sub edi, 1
jne 0x414745
pop edi
push 0
push ebp
push esi
call fcn.00486e1b
add esp, 0xc
xor ecx, ecx
pop ebp
mov word [0x260dd80], cx
pop esi
pop ecx
ret
or word [0x260ddac], 1
mov edx, 5
mov word [0x260dd80], dx
pop esi
pop ecx
ret
or word [0x260ddac], 1
mov eax, 6
mov word [0x260dd80], ax
pop esi
pop ecx
ret
Function at 0x4162e0
Capabilities:
Read file on windows

Disassembly:
movzx eax, word [0x260dd88]
mov ecx, dword [0x260de70]
mov dl, byte [0x260dd80]
lea ecx, [eax + ecx + 0x4b9000]
movzx eax, dl
cmp eax, 0xfe
ja case.0x41630f.2
movzx eax, byte [eax + 0x4164d4]
jmp dword [eax*4 + 0x4164c4]
movzx eax, word [0x260dd8c]
movzx edx, dl
push 0
push edx
mov edx, dword [0x260de28]
lea eax, [eax + edx + 0x4b9000]
push eax
call fcn.00409e80
add esp, 0xc
test eax, eax
je 0x4163ee
or word [0x260ddac], 1
mov ecx, 2
mov word [0x260dd80], cx
ret
push esi
push 0
push 0x8000
push ecx
call fcn.004839c6
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
jne 0x416384
or word [0x260ddac], 1
mov edx, 2
mov word [0x260dd80], dx
pop esi
ret
push ebx
push ebp
push 0x100000
push 0x24f2200
push esi
call fcn.00485576
push esi
mov ebx, eax
call fcn.004899fd
movzx eax, word [0x260dd8c]
mov ecx, dword [0x260de28]
lea ebp, [eax + ecx + 0x4b9000]
mov ax, word [0x24f2200]
mov edx, 0x4d5a
add esp, 0x10
cmp ax, dx
je 0x4163ef
mov ecx, 0x5a4d
cmp ax, cx
je 0x4163ef
movzx edx, word [ebp]
push ebx
shl edx, 4
add edx, 0x4b9000
push 0x24f2200
push edx
call fcn.004904e0
add esp, 0xc
pop ebp
pop ebx
pop esi
ret
movzx edx, word [0x24f2208]
push edi
mov edi, dword [0x24f2204]
and edi, 0x7ff
shl edx, 4
shl edi, 9
sub edi, edx
lea eax, [edi + edx]
cmp eax, 0x200
jge 0x41641c
mov edi, 0x200
sub edi, edx
mov eax, ebx
sub eax, edx
cmp edi, eax
jl 0x416426
mov edi, eax
movzx ebx, word [ebp + 2]
xor eax, eax
xor ecx, ecx
cmp ax, word [0x24f2206]
jae 0x416478
jmp 0x416440
movzx eax, word [0x24f2218]
lea eax, [eax + ecx*4]
movzx esi, word [eax + 0x24f2200]
movzx eax, word [eax + 0x24f2202]
shl eax, 4
add eax, esi
add word [eax + edx + 0x24f2200], bx
lea eax, [eax + edx + 0x24f2200]
movzx eax, word [0x24f2206]
inc ecx
cmp ecx, eax
jl 0x416440
lea ecx, [edx + 0x24f2200]
movzx edx, word [ebp]
push edi
shl edx, 4
push ecx
add edx, 0x4b9000
push edx
call fcn.004904e0
add esp, 0xc
pop edi
pop ebp
pop ebx
pop esi
ret
mov eax, 1
or word [0x260ddac], ax
mov word [0x260dd80], ax
ret
mov ecx, 1
or word [0x260ddac], cx
mov word [0x260dd80], cx
ret
Function at 0x416dd0
Capabilities:
Timestomp file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
movzx eax, word [0x260dd8c]
sub esp, 0x10
push ebx
push ebp
push esi
push edi
push eax
call fcn.004869b8
mov ebp, eax
add esp, 4
cmp ebp, 0xffffffff
je 0x416e69
mov cl, byte [0x260dd80]
movzx eax, cl
xor ebx, ebx
xor edi, edi
xor esi, esi
cmp eax, 7
ja case.0x416e0c.2
jmp dword [eax*4 + 0x416f10]
lea ebx, [esp + 0x10]
jmp 0x416e23
lea edi, [esp + 0x10]
jmp 0x416e23
lea esi, [esp + 0x10]
test cl, 1
je 0x416ead
movzx eax, word [0x260dd84]
movzx ecx, word [0x260dd88]
lea edx, [esp + 0x18]
push edx
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_DosDateTimeToFileTime]
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFileTimeToFileTime]
push ebx
push edi
push esi
push ebp
call dword [sym.imp.KERNEL32.dll_SetFileTime]
test eax, eax
jne 0x416f05
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
sub ecx, 0x50
je 0x416e91
sub ecx, 0x67
je 0x416e91
mov word [0x260dd80], ax
or word [0x260ddac], 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
or word [0x260ddac], 1
mov ecx, 5
mov word [0x260dd80], cx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
push edi
push esi
push ebp
call dword [sym.imp.KERNEL32.dll_GetFileTime]
test eax, eax
jne 0x416ec6
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
push 0x260dd84
push 0x260dd88
lea edx, [esp + 0x20]
push edx
call dword [sym.imp.KERNEL32.dll_FileTimeToDosDateTime]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 1
or word [0x260ddac], ax
mov word [0x260dd80], ax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret