joyce8/EMBER2024-capa huggingface dataset:
Function at 0x47f708
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffee4
push ebx
push esi
xor edx, edx
mov dword [ebp - 0x118], edx
mov dword [ebp - 0x11c], edx
mov dword [ebp - 4], edx
mov dword [ebp - 0x10], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x47f8f1
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x4e7c20], 0
je 0x47f8c3
lea eax, [ebp - 0x11c]
mov edx, dword [ebx + 0x7de]
call fcn.004049d0
mov eax, dword [ebp - 0x11c]
lea edx, [ebp - 0x118]
call fcn.0040b024
mov edx, dword [ebp - 0x118]
lea eax, [ebp - 4]
mov ecx, 0x47f908
call fcn.00404ae4
mov eax, dword [ebp - 4]
call fcn.0040ae10
test al, al
je 0x47f793
mov eax, dword [ebp - 4]
call fcn.00404c98
push eax
call sub.kernel32.dll_DeleteFileA
mov eax, dword [ebp - 4]
call fcn.0040ace4
mov ebx, eax
test ebx, ebx
jle 0x47f8c3
mov eax, dword [0x4ed054]
mov edx, dword [eax]
call dword [edx + 0x14]
mov dword [ebp - 0xc], eax
lea edx, [ebp - 0xc]
mov ecx, 4
mov eax, ebx
call fcn.0040ad3c
mov dl, 1
mov eax, dword [0x46dbfc]
call fcn.0046de90
mov dword [ebp - 8], eax
mov eax, dword [0x4ed054]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x47f89e
inc eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 0
lea ecx, [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov eax, dword [0x4ed054]
mov esi, dword [eax]
call dword [esi + 0xc]
lea eax, [ebp - 0x114]
mov cl, 0x20
mov edx, 0xff
call fcn.0040338c
mov eax, dword [ebp - 0x10]
call fcn.00404a98
push eax
mov eax, dword [ebp - 0x10]
call fcn.00404c98
lea edx, [ebp - 0x114]
pop ecx
call fcn.00402cb4
lea edx, [ebp - 0x114]
mov ecx, 0xff
mov eax, ebx
call fcn.0040ad3c
mov edx, dword [ebp - 0xc]
mov eax, dword [0x4ed054]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov esi, eax
mov edx, esi
mov ecx, 4
mov eax, ebx
call fcn.0040ad3c
lea edx, [esi + 4]
mov ecx, 4
mov eax, ebx
call fcn.0040ad3c
mov edx, dword [ebp - 0xc]
mov eax, dword [0x4ed054]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0x10]
test ecx, ecx
jns 0x47f885
add ecx, 7
sar ecx, 3
mov edx, dword [eax + 4]
mov eax, ebx
call fcn.0040ad3c
inc dword [ebp - 0xc]
dec dword [ebp - 0x14]
jne 0x47f7ee
mov eax, dword [ebp - 8]
call fcn.004039d4
mov eax, ebx
call fcn.0040ada0
cmp byte [0x4e7c20], 0
je 0x47f8c3
mov edx, dword [ebp - 4]
mov eax, dword [0x4ed054]
mov ecx, dword [eax]
call dword [ecx + 0x38]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47f8f8
lea eax, [ebp - 0x11c]
mov edx, 2
call fcn.004047ec
lea eax, [ebp - 0x10]
call fcn.004047c8
lea eax, [ebp - 4]
call fcn.004047c8
ret
Function at 0x482490
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404c88
mov eax, dword [ebp - 8]
call fcn.00404c88
mov eax, dword [ebp - 0xc]
call fcn.00404c88
mov ebx, 0x4ed1c4
mov esi, 0x4ed198
xor eax, eax
push ebp
push 0x4825f9
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [esi], 0x48242c
xor eax, eax
mov dword [esi + 4], eax
mov dword [esi + 8], 0x482438
mov dword [esi + 0xc], 0x482420
mov dword [esi + 0x10], 0x482418
mov dword [esi + 0x14], 0x482444
xor eax, eax
mov dword [ebx], eax
xor eax, eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], 1
xor eax, eax
mov dword [ebx + 0xc], eax
xor eax, eax
mov dword [ebx + 0x10], eax
xor eax, eax
mov dword [ebx + 0x14], eax
xor eax, eax
mov dword [ebx + 0x18], eax
xor eax, eax
mov dword [ebx + 0x1c], eax
xor eax, eax
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], 1
mov dword [ebx + 0x28], 1
xor eax, eax
mov dword [ebx + 0x2c], eax
xor eax, eax
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x34], 1
xor eax, eax
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
call fcn.00404c98
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp - 8]
call fcn.00404c98
mov dword [ebx + 0x40], eax
push 1
lea eax, [ebp - 0x10]
mov ecx, 1
mov edx, dword [0x482450]
call fcn.00405cdc
add esp, 4
mov eax, dword [ebp - 0xc]
call fcn.00404c98
mov edx, dword [ebp - 0x10]
mov dword [edx], eax
push 1
lea eax, [ebp - 0x14]
mov ecx, 1
mov edx, dword [0x482470]
call fcn.00405cdc
add esp, 4
mov eax, 0x482608
mov edx, dword [ebp - 0x14]
mov dword [edx], eax
push esi
push ebx
mov eax, dword [ebp - 0x14]
push eax
push 0
mov eax, dword [ebp - 0x10]
push eax
push 1
call sub.unzip.dll_Wiz_SingleEntryUnzip
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x482600
lea eax, [ebp - 0x14]
mov edx, dword [0x482470]
call fcn.00405ce8
lea eax, [ebp - 0x10]
mov edx, dword [0x482450]
call fcn.00405ce8
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.004047ec
ret
Function at 0x48522c
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffcd8
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov edi, dword [ebp + 8]
xor ebx, ebx
mov eax, dword [ebp - 4]
cmp byte [eax + 0x30], 0
je 0x4853ae
cmp dword [ebp - 8], 0
je 0x48527d
lea ebx, [ebp - 0x120]
lea eax, [ebp - 0x120]
call fcn.00467a38
lea edx, [ebp - 0x120]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00467a28
jmp 0x48527f
xor ebx, ebx
cmp dword [ebp - 0xc], 0
je 0x4852a9
lea esi, [ebp - 0x224]
lea eax, [ebp - 0x224]
call fcn.00467a38
lea edx, [ebp - 0x224]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00467a28
jmp 0x4852ab
xor esi, esi
cmp dword [ebp + 0xc], 0
je 0x4852d8
lea eax, [ebp - 0x328]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x328]
call fcn.00467a38
lea edx, [ebp - 0x328]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00467a28
jmp 0x4852dd
xor eax, eax
mov dword [ebp - 0x10], eax
test edi, edi
jl 0x485309
mov eax, edi
mov ecx, 0x3e8
cdq
idiv ecx
mov dword [ebp - 0x18], eax
mov eax, edi
mov ecx, 0x3e8
cdq
idiv ecx
imul eax, edx, 0x3e8
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x1c], eax
jmp 0x48530e
xor eax, eax
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x48534e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x10]
push eax
push esi
push ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc eax
push eax
call sub.wsock32.dll_select
mov edx, eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x38]
test eax, eax
setg al
mov ebx, eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48535a
cmp dword [ebp - 8], 0
je 0x485376
lea edx, [ebp - 0x120]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00467a10
mov edx, dword [ebp - 8]
mov byte [edx], al
cmp dword [ebp - 0xc], 0
je 0x485392
lea edx, [ebp - 0x224]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00467a10
mov edx, dword [ebp - 0xc]
mov byte [edx], al
cmp dword [ebp + 0xc], 0
je 0x4853ae
lea edx, [ebp - 0x328]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00467a10
mov edx, dword [ebp + 0xc]
mov byte [edx], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8

Function at 0x4853bc
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov esi, edx
mov ebx, eax
lea ecx, [ebp - 4]
mov edx, esi
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0x34]
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 4]
push eax
push esi
mov eax, dword [ebx + 0x40]
push eax
call sub.wsock32.dll_send
mov edx, eax
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x38]
cmp eax, 0xffffffff
je 0x4853f9
add dword [ebx + 0x38], eax
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 4
Function at 0x48561c
Capabilities:
Resolve dns

Disassembly:
push ebx
push esi
push edi
add esp, 0xffffffe0
mov esi, ecx
mov ebx, edx
mov eax, esi
call fcn.004047c8
test ebx, ebx
je 0x4856bd
mov al, byte [ebx]
add al, 0xd0
sub al, 0xa
jae 0x485658
mov eax, ebx
call fcn.00404c98
push eax
call sub.wsock32.dll_inet_addr
inc eax
je 0x4856c9
mov eax, esi
mov edx, ebx
call fcn.0040481c
jmp 0x4856c9
mov eax, ebx
call fcn.00404c98
push eax
call sub.wsock32.dll_gethostbyname
test eax, eax
je 0x4856c9
mov ebx, eax
push esi
mov eax, dword [ebx + 0xc]
mov edi, dword [eax]
xor eax, eax
mov al, byte [edi]
mov dword [esp + 4], eax
mov byte [esp + 8], 0
xor eax, eax
mov al, byte [edi + 1]
mov dword [esp + 0xc], eax
mov byte [esp + 0x10], 0
xor eax, eax
mov al, byte [edi + 2]
mov dword [esp + 0x14], eax
mov byte [esp + 0x18], 0
xor eax, eax
mov al, byte [edi + 3]
mov dword [esp + 0x1c], eax
mov byte [esp + 0x20], 0
lea edx, [esp + 4]
mov ecx, 3
mov eax, 0x4856d8
call fcn.0040b9ac
jmp 0x4856c9
mov eax, esi
mov edx, 0x4856ec
call fcn.0040481c
add esp, 0x20
pop edi
pop esi
pop ebx
ret

Function at 0x48707c
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd4
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
lea eax, [ebp - 0x2c]
push eax
call sub.kernel32.dll_GetSystemInfo
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
dec ecx
js 0x4870cd
lea eax, [ebp - 0x2c]
cmp word [eax + 0x20], 3
je 0x4870b4
mov eax, dword [edx + ecx*4]
bswap eax
shr eax, 8
mov dword [edx + ecx*4], eax
dec ecx
jns 0x4870a4
jmp 0x4870cd
push ebx
xor ebx, ebx
mov eax, dword [edx + ecx*4]
mov bh, al
mov bl, ah
shr eax, 0x10
shl ebx, 8
mov bl, al
mov dword [edx + ecx*4], ebx
dec ecx
jns 0x4870b5
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x49459c
Capabilities:
Terminate thread

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x38]
call fcn.0041a834
mov esi, eax
xor eax, eax
push ebp
push 0x494616
push dword fs:[eax]
mov dword fs:[eax], esp
mov ebx, dword [esi + 8]
dec ebx
cmp ebx, 0
jl 0x4945fa
mov edx, ebx
mov eax, esi
call fcn.0041a434
test byte [eax + 0x58], 1
je 0x4945f4
push 0
mov edx, ebx
mov eax, esi
call fcn.0041a434
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_TerminateThread
mov edx, ebx
mov eax, esi
call fcn.0041a324
dec ebx
cmp ebx, 0xffffffff
jne 0x4945c8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x49461d
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x38]
call fcn.0041a898
ret
Function at 0x497828
Capabilities:
Check for software breakpoints

Disassembly:
push ebx
mov ebx, eax
cmp dword [ebx + 0x14], 0xca
jne 0x497856
mov eax, ebx
call fcn.004982dc
cmp dword [ebx + 0x40], 0
je 0x49784f
mov dword [ebx + 0x14], 0xcf
mov eax, 1
pop ebx
ret
mov dword [ebx + 0x14], 0xcb
cmp dword [ebx + 0x14], 0xcb
jne 0x4978c7
mov edx, dword [ebx + 0x1b4]
cmp dword [edx + 0x10], 0
je 0x4978b9
cmp dword [ebx + 8], 0
je 0x497878
mov eax, ebx
mov edx, dword [eax + 8]
call dword [edx]
mov eax, ebx
mov edx, dword [eax + 0x1b4]
call dword [edx]
test eax, eax
jne 0x49788a
xor eax, eax
pop ebx
ret
cmp eax, 2
je 0x4978b9
cmp dword [ebx + 8], 0
je 0x49786b
cmp eax, 3
je 0x49789d
dec eax
jne 0x49786b
mov edx, dword [ebx + 8]
inc dword [edx + 4]
mov ecx, dword [edx + 4]
mov eax, dword [ebx + 8]
cmp ecx, dword [eax + 8]
jl 0x49786b
mov edx, dword [ebx + 0x140]
add dword [eax + 8], edx
jmp 0x49786b
mov ecx, dword [ebx + 0x90]
mov dword [ebx + 0x98], ecx
jmp 0x4978e5
cmp dword [ebx + 0x14], 0xcc
je 0x4978e5
mov eax, dword [ebx]
mov dword [eax + 0x14], 0x14
mov edx, dword [ebx + 0x14]
mov dword [eax + 0x18], edx
mov eax, ebx
mov edx, dword [eax]
call dword [edx]
mov eax, ebx
call fcn.004978f0
pop ebx
ret
Function at 0x4bedbc
Capabilities:
Hash data with md5

Disassembly:
push ebx
mov ebx, eax
mov eax, ebx
xor ecx, ecx
mov edx, 0x58
call fcn.0040338c
mov dword [ebx], 0x67452301
mov dword [ebx + 4], 0xefcdab89
mov dword [ebx + 8], 0x98badcfe
mov dword [ebx + 0xc], 0x10325476
pop ebx
ret

Function at 0x4c0260
Capabilities:
Encode data using xor

Disassembly:
push esi
push ebx
xor ebx, ebx
mov esi, eax
xor eax, eax
xor ecx, ecx
mov al, byte [esi]
rol cx, 5
xor cl, byte [eax + ebx + 0x4e8788]
inc esi
dec edx
jne 0x4c026a
mov eax, ecx
pop ebx
pop esi
ret

Function at 0x4c3be0
Capabilities:
Download url
Receive data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404c88
mov eax, dword [ebp - 8]
call fcn.00404c88
xor eax, eax
push ebp
push 0x4c3c6e
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x4c3c47
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0
mov eax, dword [ebp - 8]
call fcn.00404c98
push eax
mov eax, dword [ebp - 4]
call fcn.00404c98
push eax
push 0
call sub.URLMON.DLL_URLDownloadToFileA
test eax, eax
sete bl
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c3c53
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c3c75
lea eax, [ebp - 8]
mov edx, 2
call fcn.004047ec
ret
Function at 0x4c5980
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x91
push 0
push 0
dec ecx
jne 0x4c5989
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov esi, ecx
mov ebx, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404c88
xor eax, eax
push ebp
push 0x4c5bfe
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x60]
xor ecx, ecx
mov edx, 0x44
call fcn.0040338c
mov dword [ebp - 0x60], 0x44
mov dword [ebp - 0x34], 1
mov word [ebp - 0x30], 0
lea eax, [ebp - 0x461]
push eax
push 0x400
call sub.kernel32.dll_GetTempPathA
lea eax, [ebp - 0x461]
call fcn.0040b270
mov ecx, eax
lea edx, [ebp - 0x461]
lea eax, [ebp - 0x14]
call fcn.004048b8
lea edx, [ebp - 0x10]
mov eax, ebx
call fcn.0040a890
jmp 0x4c5a1e
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov edx, 0x4c5c14
call fcn.00404ae4
mov eax, dword [ebp - 0x10]
call fcn.00404a98
cmp eax, 5
jl 0x4c5a0e
push dword [ebp - 0x14]
lea eax, [ebp - 0x468]
push eax
lea edx, [ebp - 0x46c]
mov eax, dword [ebp - 4]
call fcn.0040b0ac
mov eax, dword [ebp - 0x46c]
call fcn.00404a98
sub eax, 4
push eax
lea edx, [ebp - 0x470]
mov eax, dword [ebp - 4]
call fcn.0040b0ac
mov eax, dword [ebp - 0x470]
mov edx, 1
pop ecx
call fcn.00404cf8
push dword [ebp - 0x468]
push 0x4c5c20
push dword [ebp - 0x10]
push 0x4c5c2c
lea eax, [ebp - 8]
mov edx, 5
call fcn.00404b58
push dword [ebp - 0x14]
lea eax, [ebp - 0x474]
push eax
lea edx, [ebp - 0x478]
mov eax, dword [ebp - 4]
call fcn.0040b0ac
mov eax, dword [ebp - 0x478]
call fcn.00404a98
sub eax, 4
push eax
lea edx, [ebp - 0x47c]
mov eax, dword [ebp - 4]
call fcn.0040b0ac
mov eax, dword [ebp - 0x47c]
mov edx, 1
pop ecx
call fcn.00404cf8
push dword [ebp - 0x474]
push 0x4c5c20
push dword [ebp - 0x10]
push 0x4c5c3c
lea eax, [ebp - 0xc]
mov edx, 5
call fcn.00404b58
push 0
lea eax, [ebp - 0x480]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov ecx, 0x4c5c4c
mov edx, 0x4c5c68
mov edi, dword [eax]
call dword [edi]
cmp dword [ebp - 0x480], 0
je 0x4c5b4a
push 0
lea eax, [ebp - 0x484]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov ecx, 0x4c5c78
mov edx, 0x4c5c68
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0x484]
lea eax, [ebp - 0x18]
call fcn.0040505c
jmp 0x4c5b52
lea eax, [ebp - 0x18]
call fcn.00404eb8
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
call fcn.0040ae10
test al, al
jne 0x4c5b9c
lea eax, [ebp - 0x488]
mov edx, dword [ebp - 8]
call fcn.0040505c
mov eax, dword [ebp - 0x488]
push eax
push 1
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x48c]
mov edx, dword [ebp - 4]
call fcn.0040505c
mov eax, dword [ebp - 0x48c]
mov ecx, ebx
mov edx, dword [ebp - 0x18]
call fcn.004b67d8
mov eax, dword [ebp - 8]
call fcn.0040ae10
test al, al
je 0x4c5bb4
mov eax, esi
mov edx, dword [ebp - 8]
call fcn.0040481c
jmp 0x4c5bbb
mov eax, esi
call fcn.004047c8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c5c05
lea eax, [ebp - 0x48c]
mov edx, 2
call fcn.00404ed0
lea eax, [ebp - 0x484]
mov edx, 8
call fcn.004047ec
lea eax, [ebp - 0x18]
call fcn.00404eb8
lea eax, [ebp - 0x14]
mov edx, 5
call fcn.004047ec
ret
Function at 0x4cb110
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 4
push 0
push 0
dec ecx
jne 0x4cb119
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov ebx, eax
mov eax, dword [ebp + 8]
call fcn.00404c88
xor eax, eax
push ebp
push 0x4cb34b
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x4cb35c
push 0
push 0
call fcn.00406d48
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x4cb168
mov eax, dword [ebp + 0xc]
mov dword [eax - 0x68], 0xfffffed4
jmp 0x4cb328
xor edx, edx
push ebp
push 0x4cb321
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, ebx
cmp eax, 0x32
jl 0x4cb182
mov eax, 0x32
test eax, eax
jg 0x4cb18b
mov eax, 1
imul eax, eax, 0x3e8
push eax
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_WaitForSingleObject
cmp eax, 0x102
je 0x4cb30a
xor eax, eax
push ebp
push 0x4cb303
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0xc]
mov edx, esi
call fcn.004049d0
mov eax, dword [ebp - 0xc]
call fcn.0040ae10
test al, al
je 0x4cb1da
mov edx, 0x42
mov eax, esi
call fcn.0046d588
mov ebx, eax
jmp 0x4cb1e8
mov edx, 0x42
mov eax, esi
call fcn.0046d5dc
mov ebx, eax
push 0
push ebx
call sub.kernel32.dll_GetFileSize_1
xor edx, edx
push edx
push eax
mov eax, edi
cdq
cmp edx, dword [esp + 4]
jne 0x4cb20a
cmp eax, dword [esp]
pop edx
pop eax
ja 0x4cb2aa
jmp 0x4cb212
pop edx
pop eax
jg 0x4cb2aa
mov eax, ebx
call fcn.0046d64c
lea eax, [ebp - 0x18]
mov edx, esi
call fcn.004049d0
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x14]
call fcn.0040b024
push dword [ebp - 0x14]
push 0x4cb374
call fcn.0040c68c
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x1c]
call fcn.0040d2c4
push dword [ebp - 0x1c]
push 0x4cb38c
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.00404b58
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x20]
mov edx, esi
call fcn.004049d0
mov eax, dword [ebp - 0x20]
pop edx
call fcn.0040af80
lea eax, [ebp - 0x24]
mov edx, esi
call fcn.004049d0
mov eax, dword [ebp - 0x24]
call fcn.0040ae10
test al, al
je 0x4cb29c
mov edx, 0x42
mov eax, esi
call fcn.0046d588
mov ebx, eax
jmp 0x4cb2aa
mov edx, 0x42
mov eax, esi
call fcn.0046d5dc
mov ebx, eax
push 0
push ebx
call sub.kernel32.dll_GetFileSize_1
xor edx, edx
push edx
push eax
xor edx, edx
mov eax, ebx
call fcn.0046d62c
lea eax, [ebp - 8]
mov edx, dword [ebp + 8]
call fcn.00404860
mov eax, dword [ebp - 8]
call fcn.00404a98
push eax
mov eax, dword [ebp - 8]
call fcn.00404c98
mov edx, eax
mov eax, ebx
pop ecx
call fcn.0046d65c
mov eax, ebx
call fcn.0046d64c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4cb30a
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_ReleaseMutex
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4cb328
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_CloseHandle_1
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4cb352
lea eax, [ebp - 0x24]
mov edx, 8
call fcn.004047ec
lea eax, [ebp + 8]
call fcn.004047c8
ret
Function at 0x4cbbe0
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 4
push 0
push 0
dec ecx
jne 0x4cbbe9
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0x4cbe23
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x4cbe34
push 0
push 0
call fcn.00406d48
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x4cbc30
mov eax, dword [ebp + 0xc]
mov dword [eax - 0x68], 0xfffffed4
jmp 0x4cbe08
xor edx, edx
push ebp
push 0x4cbe01
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, ebx
cmp eax, 0x32
jl 0x4cbc4a
mov eax, 0x32
test eax, eax
jg 0x4cbc53
mov eax, 1
imul eax, eax, 0x3e8
push eax
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_WaitForSingleObject
cmp eax, 0x102
je 0x4cbdea
xor eax, eax
push ebp
push 0x4cbde3
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0xc]
mov edx, esi
call fcn.004049d0
mov eax, dword [ebp - 0xc]
call fcn.0040ae10
test al, al
je 0x4cbca2
mov edx, 0x42
mov eax, esi
call fcn.0046d588
mov ebx, eax
jmp 0x4cbcb0
mov edx, 0x42
mov eax, esi
call fcn.0046d5dc
mov ebx, eax
push 0
push ebx
call sub.kernel32.dll_GetFileSize_1
xor edx, edx
push edx
push eax
mov eax, edi
cdq
cmp edx, dword [esp + 4]
jne 0x4cbcd2
cmp eax, dword [esp]
pop edx
pop eax
ja 0x4cbd72
jmp 0x4cbcda
pop edx
pop eax
jg 0x4cbd72
mov eax, ebx
call fcn.0046d64c
lea eax, [ebp - 0x18]
mov edx, esi
call fcn.004049d0
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x14]
call fcn.0040b024
push dword [ebp - 0x14]
push 0x4cbe4c
call fcn.0040c68c
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x1c]
call fcn.0040d2c4
push dword [ebp - 0x1c]
push 0x4cbe64
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.00404b58
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x20]
mov edx, esi
call fcn.004049d0
mov eax, dword [ebp - 0x20]
pop edx
call fcn.0040af80
lea eax, [ebp - 0x24]
mov edx, esi
call fcn.004049d0
mov eax, dword [ebp - 0x24]
call fcn.0040ae10
test al, al
je 0x4cbd64
mov edx, 0x42
mov eax, esi
call fcn.0046d588
mov ebx, eax
jmp 0x4cbd72
mov edx, 0x42
mov eax, esi
call fcn.0046d5dc
mov ebx, eax
push 0
push ebx
call sub.kernel32.dll_GetFileSize_1
xor edx, edx
push edx
push eax
xor edx, edx
mov eax, ebx
call fcn.0046d62c
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 8]
call fcn.004cacac
pop ecx
cmp byte [ebp + 8], 0
je 0x4cbdaa
lea eax, [ebp - 8]
mov ecx, dword [ebp - 8]
mov edx, 0x4cbe74
call fcn.00404ae4
mov eax, dword [ebp - 8]
call fcn.00404a98
push eax
mov eax, dword [ebp - 8]
call fcn.00404c98
mov edx, eax
mov eax, ebx
pop ecx
call fcn.0046d65c
mov eax, ebx
call fcn.0046d64c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4cbdea
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_ReleaseMutex
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4cbe08
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_CloseHandle_1
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4cbe2a
lea eax, [ebp - 0x24]
mov edx, 8
call fcn.004047ec
ret