joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1004f240
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1008bbeb
mov eax, dword fs:[0]
push eax
sub esp, 0xe8
mov eax, dword [0x100bb758]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
mov dword [ebp - 0xf4], esi
mov dword [ebp - 0xf0], esi
mov dword [ebp - 0xec], 0x740068
mov dword [ebp - 0xe8], 0x700074
mov dword [ebp - 0xe4], 0x2f003a
mov dword [ebp - 0xe0], 0x77002f
mov dword [ebp - 0xdc], 0x770077
mov dword [ebp - 0xd8], 0x2e0031
mov dword [ebp - 0xd4], 0x690064
mov dword [ebp - 0xd0], 0x610064
mov dword [ebp - 0xcc], 0x610070
mov dword [ebp - 0xc8], 0x650070
mov dword [ebp - 0xc4], 0x2e0072
mov dword [ebp - 0xc0], 0x6f0063
mov dword [ebp - 0xbc], 0x2f006d
mov dword [ebp - 0xb8], 0x700061
mov dword [ebp - 0xb4], 0x2f0069
mov dword [ebp - 0xb0], 0x650073
mov dword [ebp - 0xac], 0x760072
mov dword [ebp - 0xa8], 0x630069
mov dword [ebp - 0xa4], 0x2f0065
mov dword [ebp - 0xa0], 0x660063
mov dword [ebp - 0x9c], 0x2e0067
mov dword [ebp - 0x98], 0x680070
mov dword [ebp - 0x94], 0x3f0070
mov dword [ebp - 0x90], 0x720066
mov dword [ebp - 0x8c], 0x6d006f
mov dword [ebp - 0x88], 0x25003d
mov dword [ebp - 0x84], 0x260073
mov dword [ebp - 0x80], 0x700061
mov dword [ebp - 0x7c], 0x760070
mov dword [ebp - 0x78], 0x720065
mov dword [ebp - 0x74], 0x25003d
mov dword [ebp - 0x70], 0x260073
mov dword [ebp - 0x6c], 0x690070
mov dword [ebp - 0x68], 0x3d0064
mov dword [ebp - 0x64], 0x730025
mov dword [ebp - 0x60], 0x6d0026
mov dword [ebp - 0x5c], 0x64006f
mov dword [ebp - 0x58], 0x650076
mov dword [ebp - 0x54], 0x3d0072
mov dword [ebp - 0x50], 0x730025
mov dword [ebp - 0x4c], 0x6d0026
mov dword [ebp - 0x48], 0x640069
mov dword [ebp - 0x44], 0x25003d
mov dword [ebp - 0x40], 0x260073
mov dword [ebp - 0x3c], 0x69006d
mov dword [ebp - 0x38], 0x320064
mov dword [ebp - 0x34], 0x25003d
mov dword [ebp - 0x30], 0x260073
mov dword [ebp - 0x2c], 0x610068
mov dword [ebp - 0x28], 0x680073
mov dword [ebp - 0x24], 0x25003d
mov dword [ebp - 0x20], 0x260073
mov dword [ebp - 0x1c], 0x73006f
mov dword [ebp - 0x18], 0x25003d
mov dword [ebp - 0x14], 0x73
call fcn.10006430
mov ecx, eax
test ecx, ecx
je 0x1004f4c4
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
lea eax, [ebp - 0xec]
mov dword [ebp - 4], 0
push eax
mov ecx, esi
call fcn.100069b0
test al, al
jne 0x1004f4a4
lea ecx, [ebp - 0xec]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1004f486
sub ecx, edx
lea eax, [ebp - 0xec]
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.10006650
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100561dc
mov esp, ebp
pop ebp
ret 4
push 0x80004005
call fcn.100060c0
int3
Function at 0x1004f4d0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1008b51b
mov eax, dword fs:[0]
push eax
sub esp, 0x88
mov eax, dword [0x100bb758]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x90], 0x6f0043
mov dword [ebp - 0x8c], 0x66006e
mov dword [ebp - 0x88], 0x670069
mov dword [ebp - 0x84], 0x650043
mov dword [ebp - 0x80], 0x74006e
mov dword [ebp - 0x7c], 0x720065
mov dword [ebp - 0x78], 0x690053
mov dword [ebp - 0x74], 0x6c006e
mov dword [ebp - 0x70], 0x650067
mov dword [ebp - 0x6c], 0x6e0049
mov dword [ebp - 0x68], 0x740073
mov dword [ebp - 0x64], 0x6e0061
mov dword [ebp - 0x60], 0x650063
mov dword [ebp - 0x5c], 0x32005f
mov dword [ebp - 0x58], 0x390039
mov dword [ebp - 0x54], 0x370039
mov dword [ebp - 0x50], 0x360045
mov dword [ebp - 0x4c], 0x2d0045
mov dword [ebp - 0x48], 0x330033
mov dword [ebp - 0x44], 0x340036
mov dword [ebp - 0x40], 0x34002d
mov dword [ebp - 0x3c], 0x330030
mov dword [ebp - 0x38], 0x2d0038
mov dword [ebp - 0x34], 0x440038
mov dword [ebp - 0x30], 0x310038
mov dword [ebp - 0x2c], 0x44002d
mov dword [ebp - 0x28], 0x330046
mov dword [ebp - 0x24], 0x420045
mov dword [ebp - 0x20], 0x360046
mov dword [ebp - 0x1c], 0x320038
mov dword [ebp - 0x18], 0x420036
mov dword [ebp - 0x14], 0x45
call fcn.10006430
mov ecx, eax
test ecx, ecx
je 0x1004f66e
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
lea eax, [ebp - 0x90]
mov dword [ebp - 4], 0
push eax
mov ecx, esi
call fcn.100069b0
test al, al
jne 0x1004f64e
lea ecx, [ebp - 0x90]
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1004f630
sub ecx, edx
lea eax, [ebp - 0x90]
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.10006650
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100561dc
mov esp, ebp
pop ebp
ret 4
push 0x80004005
call fcn.100060c0
int3
Function at 0x1004f680
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1008bc28
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x100bb758]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], 0x6f0053
mov dword [ebp - 0x3c], 0x740066
mov dword [ebp - 0x38], 0x610077
mov dword [ebp - 0x34], 0x650072
mov dword [ebp - 0x30], 0x44005c
mov dword [ebp - 0x2c], 0x440069
mov dword [ebp - 0x28], 0x570061
mov dword [ebp - 0x24], 0x6c0061
mov dword [ebp - 0x20], 0x50006c
mov dword [ebp - 0x1c], 0x700061
mov dword [ebp - 0x18], 0x720065
mov word [ebp - 0x14], ax
call fcn.10006430
mov ecx, eax
test ecx, ecx
je 0x1004f770
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 0
push eax
mov ecx, esi
call fcn.100069b0
test al, al
jne 0x1004f750
lea ecx, [ebp - 0x40]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1004f735
sub ecx, edx
lea eax, [ebp - 0x40]
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.10006650
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100561dc
mov esp, ebp
pop ebp
ret 4
push 0x80004005
call fcn.100060c0
int3
Function at 0x1004f850
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1008b218
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x100bb758]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x64], 0x4a0059
mov dword [ebp - 0x60], 0x420048
mov dword [ebp - 0x5c], 0x43005a
mov dword [ebp - 0x58], 0x6e006f
mov dword [ebp - 0x54], 0x690066
mov dword [ebp - 0x50], 0x430067
mov dword [ebp - 0x4c], 0x6e0065
mov dword [ebp - 0x48], 0x650074
mov dword [ebp - 0x44], 0x530072
mov dword [ebp - 0x40], 0x750074
mov dword [ebp - 0x3c], 0x500062
mov dword [ebp - 0x38], 0x650072
mov dword [ebp - 0x34], 0x690066
mov dword [ebp - 0x30], 0x570078
mov dword [ebp - 0x2c], 0x64006e
mov dword [ebp - 0x28], 0x6c0043
mov dword [ebp - 0x24], 0x730061
mov dword [ebp - 0x20], 0x4e0073
mov dword [ebp - 0x1c], 0x6d0061
mov dword [ebp - 0x18], 0x5f0065
mov word [ebp - 0x14], ax
call fcn.10006430
mov ecx, eax
test ecx, ecx
je 0x1004f97f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
lea eax, [ebp - 0x64]
mov dword [ebp - 4], 0
push eax
mov ecx, esi
call fcn.100069b0
test al, al
jne 0x1004f95f
lea ecx, [ebp - 0x64]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1004f944
sub ecx, edx
lea eax, [ebp - 0x64]
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.10006650
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100561dc
mov esp, ebp
pop ebp
ret 4
push 0x80004005
call fcn.100060c0
int3
Function at 0x1004fa60
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1008b6e8
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [0x100bb758]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], 0x740068
mov dword [ebp - 0x64], 0x700074
mov dword [ebp - 0x60], 0x2f003a
mov dword [ebp - 0x5c], 0x6c002f
mov dword [ebp - 0x58], 0x70002e
mov dword [ebp - 0x54], 0x620075
mov dword [ebp - 0x50], 0x69006c
mov dword [ebp - 0x4c], 0x2e0063
mov dword [ebp - 0x48], 0x610068
mov dword [ebp - 0x44], 0x6f006c
mov dword [ebp - 0x40], 0x610070
mov dword [ebp - 0x3c], 0x650070
mov dword [ebp - 0x38], 0x2e0072
mov dword [ebp - 0x34], 0x6e0063
mov dword [ebp - 0x30], 0x70002f
mov dword [ebp - 0x2c], 0x2f0063
mov dword [ebp - 0x28], 0x700075
mov dword [ebp - 0x24], 0x610064
mov dword [ebp - 0x20], 0x610074
mov dword [ebp - 0x1c], 0x64002f
mov dword [ebp - 0x18], 0x6d0075
mov dword [ebp - 0x14], 0x70
call fcn.10006430
mov ecx, eax
test ecx, ecx
je 0x1004fb9b
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
lea eax, [ebp - 0x68]
mov dword [ebp - 4], 0
push eax
mov ecx, esi
call fcn.100069b0
test al, al
jne 0x1004fb7b
lea ecx, [ebp - 0x68]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1004fb60
sub ecx, edx
lea eax, [ebp - 0x68]
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.10006650
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100561dc
mov esp, ebp
pop ebp
ret 4
push 0x80004005
call fcn.100060c0
int3
Function at 0x1004fbb0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1008b51b
mov eax, dword fs:[0]
push eax
sub esp, 0x88
mov eax, dword [0x100bb758]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x90], 0x6f0043
mov dword [ebp - 0x8c], 0x66006e
mov dword [ebp - 0x88], 0x670069
mov dword [ebp - 0x84], 0x650043
mov dword [ebp - 0x80], 0x74006e
mov dword [ebp - 0x7c], 0x720065
mov dword [ebp - 0x78], 0x690053
mov dword [ebp - 0x74], 0x6c006e
mov dword [ebp - 0x70], 0x650067
mov dword [ebp - 0x6c], 0x6e0049
mov dword [ebp - 0x68], 0x740073
mov dword [ebp - 0x64], 0x6e0061
mov dword [ebp - 0x60], 0x650063
mov dword [ebp - 0x5c], 0x37005f
mov dword [ebp - 0x58], 0x360045
mov dword [ebp - 0x54], 0x340043
mov dword [ebp - 0x50], 0x340045
mov dword [ebp - 0x4c], 0x2d0032
mov dword [ebp - 0x48], 0x340035
mov dword [ebp - 0x44], 0x300033
mov dword [ebp - 0x40], 0x34002d
mov dword [ebp - 0x3c], 0x340041
mov dword [ebp - 0x38], 0x2d0042
mov dword [ebp - 0x34], 0x310039
mov dword [ebp - 0x30], 0x420036
mov dword [ebp - 0x2c], 0x30002d
mov dword [ebp - 0x28], 0x390031
mov dword [ebp - 0x24], 0x350034
mov dword [ebp - 0x20], 0x460039
mov dword [ebp - 0x1c], 0x370045
mov dword [ebp - 0x18], 0x300031
mov dword [ebp - 0x14], 0x44
call fcn.10006430
mov ecx, eax
test ecx, ecx
je 0x1004fd4e
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
lea eax, [ebp - 0x90]
mov dword [ebp - 4], 0
push eax
mov ecx, esi
call fcn.100069b0
test al, al
jne 0x1004fd2e
lea ecx, [ebp - 0x90]
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1004fd10
sub ecx, edx
lea eax, [ebp - 0x90]
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.10006650
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100561dc
mov esp, ebp
pop ebp
ret 4
push 0x80004005
call fcn.100060c0
int3
Function at 0x1004fd60
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1008bb38
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x100bb758]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], 0x4f0053
mov dword [ebp - 0x3c], 0x540046
mov dword [ebp - 0x38], 0x410057
mov dword [ebp - 0x34], 0x450052
mov dword [ebp - 0x30], 0x48005c
mov dword [ebp - 0x2c], 0x6c0061
mov dword [ebp - 0x28], 0x57006f
mov dword [ebp - 0x24], 0x6c0061
mov dword [ebp - 0x20], 0x50006c
mov dword [ebp - 0x1c], 0x700061
mov dword [ebp - 0x18], 0x720065
mov word [ebp - 0x14], ax
call fcn.10006430
mov ecx, eax
test ecx, ecx
je 0x1004fe4e
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 0
push eax
mov ecx, esi
call fcn.100069b0
test al, al
jne 0x1004fe2f
lea ecx, [ebp - 0x40]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1004fe14
sub ecx, edx
lea eax, [ebp - 0x40]
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.10006650
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100561dc
mov esp, ebp
pop ebp
ret 4
push 0x80004005
call fcn.100060c0
int3
Function at 0x100516c0
Capabilities:
Check if file exists
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x430
mov eax, dword [0x100bb758]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
test esi, esi
js 0x10051829
push 0x208
lea eax, [ebp - 0x228]
push 0
push eax
call fcn.100609f0
add esp, 0xc
lea eax, [ebp - 0x228]
push 0x104
push eax
push 0x10000000
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov edi, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x228]
push eax
call edi
test esi, esi
jle 0x1005172f
lea eax, [ebp - 0x228]
push eax
call edi
sub esi, 1
jne 0x10051721
mov eax, dword [0x100be3d4]
mov esi, dword [eax]
cmp esi, eax
je 0x10051829
mov edi, dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
nop word [eax + eax]
push 0x208
lea eax, [ebp - 0x430]
push 0
push eax
call fcn.100609f0
add esp, 0xc
lea eax, [ebp - 0x228]
push dword [esi + 0x14]
push eax
lea eax, [ebp - 0x430]
push eax
call edi
lea eax, [ebp - 0x430]
push eax
call ebx
mov ecx, dword [esi + 0x10]
test eax, eax
jne 0x10051850
mov dword [ebp - 0x20], 0x360033
mov dword [ebp - 0x1c], 0x770030
mov dword [ebp - 0x18], 0x610070
mov dword [ebp - 0x14], 0x700070
mov dword [ebp - 0x10], 0x65002e
mov dword [ebp - 0xc], 0x650078
mov word [ebp - 8], ax
cmp ecx, 3
jne 0x100517e1
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x430]
push eax
call edi
lea eax, [ebp - 0x430]
push eax
call ebx
test eax, eax
jne 0x1005183c
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x10051807
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x10051803
cmp esi, dword [eax + 8]
jne 0x10051803
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x100517f3
mov esi, eax
jmp 0x1005181d
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x1005181d
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x10051811
cmp esi, dword [0x100be3d4]
jne 0x10051750
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100561dc
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x10]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100561dc
mov esp, ebp
pop ebp
ret
mov eax, ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100561dc
mov esp, ebp
pop ebp
ret
Function at 0x10052ee0
Capabilities:
Check if file exists
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1008c320
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [0x100bb758]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, dword [ebp + 8]
test edi, edi
je 0x100530a7
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x100530a7
push edi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x100530a7
push edi
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x100530a7
xor ebx, ebx
push ebx
push 0x80
push 3
push ebx
push 5
push SysReAllocString
push edi
mov dword [ebp - 0x14], ebx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
mov dword [ebp - 0x18], edi
cmp edi, 0xffffffff
jne 0x10052f8d
push 0x1e
push str..._src_file_utils.cc
push str.FALSE
call fcn.10073194
add esp, 0xc
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x20]
xorps xmm0, xmm0
push eax
push edi
movq qword [ebp - 0x20], xmm0
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x10052fd3
push 0x24
push str..._src_file_utils.cc
push str.FALSE
call fcn.10073194
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x1c], ebx
je 0x10053007
push 0x29
push str..._src_file_utils.cc
push str._L_file_too_large__
call fcn.10073194
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x10]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 4], 0
cmp eax, ecx
ja 0x1005302b
mov dword [esi + 0x10], eax
mov ecx, esi
cmp dword [esi + 0x14], 0x10
jb 0x10053025
mov ecx, dword [esi]
mov byte [ecx + eax], 0
jmp 0x10053037
sub eax, ecx
mov ecx, esi
push 0
push eax
call fcn.1001a9d0
push 0
lea eax, [ebp + 8]
mov dword [ebp + 8], 0
push eax
push dword [ebp - 0x20]
mov ecx, esi
push 0
call fcn.1003e962
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp + 8]
jne 0x1005308c
push edi
mov ebx, 1
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x10054290
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1008c43a
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x100bb758]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
mov dword [esi], vtable.LogUtils::LogAppender.0
lea edi, [esi + 0x14]
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov byte [esi + 0xc], 1
mov dword [esi + 0x10], 0
call fcn.10006430
mov ecx, eax
test ecx, ecx
je 0x10054454
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov dword [ebp - 4], 0
lea ebx, [esi + 0x18]
call fcn.10006430
mov ecx, eax
test ecx, ecx
je 0x1005445e
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebx], eax
mov byte [ebp - 4], 1
call fcn.10006430
mov ecx, eax
test ecx, ecx
je 0x10054468
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], 0xffffffff
lea eax, [esi + 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov byte [ebp - 4], 5
mov dword [esi + 0x10], eax
test edx, edx
jne 0x10054372
xor ecx, ecx
jmp 0x10054390
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp + 0x10], eax
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10054380
sub ecx, dword [ebp + 0x10]
sar ecx, 1
push ecx
push edx
mov ecx, edi
call fcn.10006650
push edi
mov ecx, ebx
call fcn.100068a0
mov edx, dword [ebp + 0xc]
test edx, edx
jne 0x100543ac
xor ecx, ecx
jmp 0x100543c4
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp + 0x10], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100543b4
sub ecx, dword [ebp + 0x10]
sar ecx, 1
push ecx
push edx
lea ecx, [esi + 0x1c]
call fcn.10006650
push ebx
lea eax, [ebp + 0x10]
mov ecx, esi
push eax
call fcn.10054cd0
push eax
mov ecx, ebx
mov byte [ebp - 4], 6
call fcn.100068a0
mov edx, dword [ebp + 0x10]
or eax, 0xffffffff
mov byte [ebp - 4], 5
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10054405
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebx]
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [esi + 4], eax
test eax, eax
je 0x1005443e
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x1005443e
cmp dword [esi + 0x10], 0
je 0x10054435
push dword [edi]
call fcn.10073409
add esp, 4
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0x80004005
call fcn.100060c0
push 0x80004005
call fcn.100060c0
push 0x80004005
call fcn.100060c0
int3