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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
push esi
push edi
mov edi, ecx
cmp dword [edi + 0x38], 0
je 0x40ba73
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00403632
jmp 0x40bb42
mov eax, dword [edi + 0x1c]
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x18], esi
mov eax, dword [eax]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
test eax, eax
je 0x40ba95
mov eax, dword [edi + 0x2c]
mov eax, dword [eax]
jmp 0x40ba97
xor eax, eax
cdq
mov dword [esp + 0xc], eax
mov ecx, edx
mov dword [esp + 0x10], ecx
test ebx, ebx
jl 0x40bb36
jg 0x40bab4
test esi, esi
je 0x40bb36
test ecx, ecx
jl 0x40bb01
jg 0x40babe
test eax, eax
je 0x40bb01
cmp ebx, ecx
jg 0x40bad2
jl 0x40bac8
cmp esi, eax
jae 0x40bad2
mov eax, esi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
push eax
push dword [esp + 0x18]
push dword [ebp + 8]
call fcn.004277d0
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov edx, dword [ebp + 8]
mov eax, dword [edi + 0x2c]
add edx, ecx
sub esi, ecx
mov dword [esp + 0xc], edx
sbb ebx, dword [esp + 0x10]
sub dword [eax], ecx
mov eax, dword [edi + 0x1c]
add dword [eax], ecx
jmp 0x40bb08
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], eax
test ebx, ebx
jl 0x40bb36
jg 0x40bb12
test esi, esi
je 0x40bb36
cmp dword [edi + 0x4c], 0
je 0x40bb36
mov ecx, edi
call fcn.0040bf8f
push dword [edi + 0x4c]
push esi
push 1
push dword [esp + 0x18]
call fcn.0042e3fe
add esp, 0x10
sub esi, eax
sbb ebx, 0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
sub eax, esi
sbb edx, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc

Function at 0x40bfda
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x46c068]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
push edi
cmp dword [esi + 0x38], 0
je 0x40c05c
cmp byte [esi + 0x3d], 0
je 0x40c05c
mov eax, dword [esi]
push 0xffffffffffffffff
call dword [eax + 0xc]
cmp eax, 0xffffffff
je 0x40c02e
mov ecx, dword [esi + 0x38]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 4]
push eax
mov edx, dword [ecx]
lea eax, [ebp - 0x24]
push eax
lea eax, [esi + 0x40]
push eax
call dword [edx + 0x20]
sub eax, 0
je 0x40c032
sub eax, 1
je 0x40c036
dec eax
sub eax, 1
je 0x40c05c
xor al, al
jmp 0x40c05e
mov byte [esi + 0x3d], 0
mov edi, dword [ebp - 0x28]
lea eax, [ebp - 0x24]
sub edi, eax
je 0x40c053
push dword [esi + 0x4c]
push edi
push 1
push eax
call fcn.0042de16
add esp, 0x10
cmp edi, eax
jne 0x40c02e
cmp byte [esi + 0x3d], 0
sete al
jmp 0x40c05e
mov al, 1
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00425c6e
leave
ret
Function at 0x40d96b
Capabilities:
Check mutex on windows

Disassembly:
push 0xa4
mov eax, 0x449e8c
call fcn.00426550
mov edi, ecx
push str.Global_MSIExecute
xor ebx, ebx
push ebx
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
mov esi, eax
mov byte [ebp - 0x14], 1
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], ebx
test esi, esi
je 0x40da1d
push edi
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0x10], eax
test edi, edi
je 0x40da16
cmp dword [0x46ee38], 1
jg 0x40da16
push ecx
push ecx
lea ecx, [ebp - 0xb0]
call fcn.00402ff8
mov edx, str.finish_waiting_for_mutex:
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb0]
call fcn.00405a4e
push dword [ebp - 0x10]
lea ecx, [ebp - 0xb0]
call fcn.004047aa
lea eax, [ebp - 0xb0]
mov ecx, 0x46ee38
push eax
push str.msi::waitForInstallationCompletion
push 0x1c8
push str.c:_jenkins_workspace_8_2_build_windows_amd64_cygwin_jdk8u261_295_install_src_windows_common_MsiUtils.cpp
push 1
call fcn.00406215
lea ecx, [ebp - 0xb0]
call fcn.004025f1
mov eax, dword [ebp - 0x10]
cmp eax, 0x102
je 0x40da1f
mov bl, 1
push esi
mov dword [ebp - 4], 3
call fcn.00414fe9
pop ecx
mov al, bl
call fcn.00426519
ret

Function at 0x40e4ec
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push 0x24
lea eax, [ebp - 0x24]
push 0
push eax
call fcn.00428d20
add esp, 0xc
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
cmp word [ebp - 0x24], 9
sete al
leave
ret
Function at 0x40ea0b
Capabilities:
Get common file path

Disassembly:
push ebp
lea ebp, [esp - 0x148]
sub esp, 0x148
push 0xffffffffffffffff
push 0x44a281
mov eax, dword fs:[0]
push eax
sub esp, 0xb8
mov eax, dword [0x46c068]
xor eax, ebp
mov dword [ebp + 0x144], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
push 0x104
xor ebx, ebx
mov dword [ebp - 0x10], esi
lea eax, [ebp + 0x40]
push ebx
push eax
call fcn.00428d20
add esp, 0xc
lea eax, [ebp + 0x40]
push eax
push ebx
push ebx
push 0x8023
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
mov edi, eax
test edi, edi
jne 0x40eac5
lea eax, [ebp + 0x40]
push eax
lea ecx, [ebp + 0x28]
call fcn.00402f5d
lea edx, [ebp + 0x28]
mov dword [ebp - 4], 2
mov ecx, esi
call fcn.0040b164
lea ecx, [ebp + 0x28]
call fcn.00403a8e
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 + 0x144]
xor ecx, ebp
call fcn.00425c6e
add ebp, 0x148
leave
ret
lea ecx, [ebp - 0xc4]
call fcn.0040259d
push edi
push 0x45db38
push ecx
push str.__mode
push 0x23
push ecx
push str.SHGetFolderPath_0x
mov ecx, eax
mov dword [ebp - 4], ebx
call fcn.0040420a
mov ecx, eax
call fcn.0040dfbe
mov ecx, eax
call fcn.0040c167
mov ecx, eax
call fcn.0040420a
mov ecx, eax
call fcn.0040ef29
mov ecx, eax
call fcn.0040420a
push eax
lea ecx, [ebp - 0x2c]
call fcn.00415cf9
mov edx, eax
push 0x1bf
push str.SysInfo::SHGetFolderPathAdapter
push str.c:_jenkins_workspace_8_2_build_windows_amd64_cygwin_jdk8u261_295_install_src_windows_common_SysInfo.cpp
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.0040263d
push eax
lea ecx, [ebp]
call fcn.0040ef39
lea eax, [ebp]
mov dword [esp], 0x46a6ec
push eax
call fcn.0042906d
int3
Function at 0x414738
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
lea ebp, [esp - 0xac]
sub esp, 0xac
push 0xffffffffffffffff
push 0x44af93
mov eax, dword fs:[0]
push eax
sub esp, 0xc8
mov eax, dword [0x46c068]
xor eax, ebp
mov dword [ebp + 0xa8], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x24], ebx
mov esi, dword [ebp + 0xb4]
lea ecx, [ebp + 0x78]
mov edi, dword [ebp + 0xb8]
mov eax, dword [ebp + 0xbc]
mov dword [ebp - 0x20], esi
push edi
mov dword [ebp - 0x20], eax
call fcn.004140ff
and dword [ebp - 4], 0
cmp dword [ebp + 0x88], 0
je 0x4147d5
push ecx
lea eax, [ebp + 0x78]
push eax
push ebx
lea ecx, [ebp + 0x3c]
call fcn.004142cd
push dword [ebp - 0x20]
lea ecx, [ebp + 0x90]
mov byte [ebp - 4], 1
push ecx
push esi
mov ecx, eax
call fcn.00414738
lea ecx, [ebp + 0x3c]
call fcn.0041435b
jmp 0x41484d
xor ecx, ecx
xor edx, edx
and dword [ebp - 0x10], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], edx
mov byte [ebp - 4], 2
mov eax, edx
sub eax, ecx
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp ecx, edx
cmove ecx, eax
cmp dword [edi + 0x14], 0x10
mov eax, edi
jb 0x4147fe
mov eax, dword [edi]
lea edx, [ebp - 0x1c]
push edx
push ecx
push dword [ebp - 0x20]
push 0
push eax
push dword [ebx]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov ebx, eax
cmp ebx, 0xea
je 0x414887
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
jne 0x4148a4
test ebx, ebx
jne 0x4148a8
test ecx, ecx
jne 0x41488a
lea eax, [ebp - 0x18]
push eax
push ecx
mov ecx, eax
call fcn.00406682
lea eax, [ebp - 0x18]
mov ecx, esi
push eax
call fcn.00406655
lea ecx, [ebp - 0x18]
call fcn.00406581
lea ecx, [ebp + 0x90]
call fcn.00403a8e
lea ecx, [ebp + 0x78]
call fcn.00403a8e
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 + 0xa8]
xor ecx, ebp
call fcn.00425c6e
add ebp, 0xac
leave
ret 0xc
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
push eax
push ecx
mov ecx, eax
call fcn.00406682
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x24]
jmp 0x4147e6
test ebx, ebx
je 0x41482e
push str.query_value
lea ecx, [ebp + 0x60]
call fcn.00402f5d
lea ecx, [ebp]
call fcn.00402f8a
mov ecx, dword [ebp - 0x24]
push eax
push edi
lea eax, [ebp + 0x60]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp + 0x48]
push eax
call fcn.00414939
push eax
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 5
call fcn.0040df60
push str.System_error
push ebx
mov byte [ebp - 4], 6
lea eax, [ebp - 0xd4]
push dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea ecx, [ebp - 0x30]
push eax
call fcn.0041548f
mov edx, eax
push 0x12b
push str.Registry::getValue
push str.c:_jenkins_workspace_8_2_build_windows_amd64_cygwin_jdk8u261_295_install_src_windows_common_Registry.cpp
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 7
call fcn.0040263d
push eax
lea ecx, [ebp + 0x18]
call fcn.004065a4
lea eax, [ebp + 0x18]
mov dword [esp], 0x46a4fc
push eax
call fcn.0042906d
int3
Function at 0x41592b
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push pe_nt_image_headers32
mov eax, 0x44b358
call fcn.00426584
mov edi, ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x6c], eax
call fcn.0041590d
mov ebx, eax
test ebx, ebx
je 0x415a19
mov esi, dword [sym.imp.KERNEL32.dll_LoadResource]
push ebx
push dword [edi + 0x38]
call esi
test eax, eax
jne 0x4159d1
push str.cannot_load_resource
lea ecx, [ebp - 0x2c]
call fcn.00402f5d
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 4
push eax
lea eax, [ebp - 0x68]
mov ecx, edi
push eax
call fcn.0041584f
push eax
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 5
call fcn.0040df60
push str.System_error
mov byte [ebp - 4], 6
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x84]
call fcn.0041548f
mov edx, eax
push 0x46
push str.Resource::getPtr
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x78]
push str.c:_jenkins_workspace_8_2_build_windows_amd64_cygwin_jdk8u261_295_install_src_windows_common_Resources.cpp
jmp 0x415a86
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
cmp dword [edi + 0x34], 6
mov esi, eax
jne 0x415a00
mov ecx, dword [edi + 0x18]
and ecx, 0xf
jbe 0x4159f6
movzx eax, word [esi]
lea esi, [esi + eax*2]
add esi, 2
sub ecx, 1
jne 0x4159e8
movzx eax, word [esi]
add eax, eax
add esi, 2
jmp 0x415a0a
push ebx
push dword [edi + 0x38]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov eax, esi
call fcn.0042652e
ret 4
push str.cannot_find_resource
lea ecx, [ebp - 0x2c]
call fcn.00402f5d
and dword [ebp - 4], 0
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x68]
mov ecx, edi
push eax
call fcn.0041584f
push eax
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 1
call fcn.0040df60
push str.System_error
mov byte [ebp - 4], 2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [sym.imp.KERNEL32.dll_FindResourceA]
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x78]
call fcn.0041548f
mov edx, eax
push 0x41
push str.Resource::getPtr
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x84]
push str.c:_jenkins_workspace_8_2_build_windows_amd64_cygwin_jdk8u261_295_install_src_windows_common_Resources.cpp
call fcn.0040263d
push eax
lea ecx, [ebp - 0x50]
call fcn.004065a4
lea eax, [ebp - 0x50]
mov dword [esp], 0x46a4fc
push eax
call fcn.0042906d
int3
Function at 0x418575
Capabilities:
Write file on windows

Disassembly:
push 0xe8
mov eax, 0x44bca3
call fcn.00426584
mov esi, ecx
mov ebx, dword [ebp + 8]
and dword [ebp - 4], 0
push ecx
push ecx
lea ecx, [ebp - 0xec]
mov dword [ebp - 0xf4], 0x460954
call fcn.00402ff8
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xec]
mov eax, dword [ebp - 0xec]
push 0
mov eax, dword [eax + 4]
add ecx, eax
push dword [ecx + 0xc]
mov dword [ecx + 0x10], 6
call fcn.00402426
mov dword [ebp - 4], 2
lea eax, [ebp - 0xf4]
push dword [esi + 4]
lea ecx, [ebp - 0x34]
mov byte [ebp - 0x34], 1
mov dword [ebp - 0x30], eax
call fcn.0041d618
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xe8]
call fcn.00403cbb
mov ecx, ebx
mov byte [ebp - 4], 3
call fcn.0041afce
cmp dword [ebp - 0x18], 0
jne 0x41861f
mov esi, 0x45def0
push esi
call fcn.0042c7a0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.00403b2d
push ecx
push ecx
mov edx, ebx
lea ecx, [ebp - 0x3c]
call fcn.0041aef5
pop ecx
pop ecx
mov cl, byte [eax + 4]
mov edi, dword [eax]
mov byte [eax + 4], 0
mov dword [ebp - 0x44], edi
mov byte [ebp - 0x40], cl
mov byte [ebp - 4], 4
cmp byte [ebp - 0x38], 0
je 0x418659
cmp dword [ebp - 0x3c], 0
mov byte [ebp - 0x38], 0
je 0x418659
push dword [ebp - 0x3c]
call fcn.0042d853
pop ecx
mov edx, ebx
test edi, edi
jne 0x4186d2
lea ecx, [ebp - 0x34]
call fcn.0041aeae
mov cl, byte [eax + 4]
mov ebx, dword [eax]
mov byte [ebp - 0x29], cl
mov byte [eax + 4], 0
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x38], cl
mov byte [ebp - 4], 5
cmp byte [ebp - 0x30], 0
je 0x418696
cmp dword [ebp - 0x34], 0xffffffff
mov byte [ebp - 0x30], 0
je 0x418696
push dword [ebp - 0x34]
call fcn.0042f464
pop ecx
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
mov esi, dword [ebp - 0x18]
cmovae eax, dword [ebp - 0x28]
push 0x132
push esi
push eax
push ebx
call fcn.0042fd14
add esp, 0xc
mov edx, esi
mov ecx, eax
call fcn.0041989d
cmp byte [ebp - 0x29], 0
pop ecx
je 0x41873e
cmp ebx, 0xffffffff
je 0x41873e
push ebx
call fcn.0042f464
pop ecx
jmp 0x41873e
lea eax, [ebp - 0x44]
push eax
push ecx
lea ecx, [ebp - 0x34]
call fcn.0041af20
pop ecx
pop ecx
mov bl, byte [eax + 4]
mov esi, dword [eax]
mov byte [eax + 4], 0
mov dword [ebp - 0x3c], esi
mov byte [ebp - 0x38], bl
mov byte [ebp - 4], 6
cmp byte [ebp - 0x30], 0
je 0x41870d
cmp dword [ebp - 0x34], 0
mov byte [ebp - 0x30], 0
je 0x41870d
push dword [ebp - 0x34]
call fcn.0042d853
pop ecx
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
push esi
cmovae eax, dword [ebp - 0x28]
push 1
push dword [ebp - 0x18]
push eax
call fcn.0042de16
add esp, 0x10
cmp eax, 1
jne 0x41876a
test bl, bl
je 0x41873b
test esi, esi
je 0x41873b
push esi
call fcn.0042d853
pop ecx
mov edi, dword [ebp - 0x44]
cmp byte [ebp - 0x40], 0
je 0x41874f
test edi, edi
je 0x41874f
push edi
call fcn.0042d853
pop ecx
lea ecx, [ebp - 0x28]
call fcn.00403a8e
lea ecx, [ebp - 0xec]
call fcn.004025f1
call fcn.0042652e
ret 4
push 0x132
lea ecx, [ebp - 0x54]
call fcn.00415f92
push 0x46a72c
lea eax, [ebp - 0x54]
push eax
call fcn.0042906d
int3
Function at 0x419fa1
Capabilities:
Read file on windows

Disassembly:
push 0x2c
mov eax, 0x44c02a
call fcn.00426550
mov eax, edx
mov edi, ecx
mov dword [ebp - 0x14], edi
push ecx
mov edx, 0x4608e4
mov ecx, eax
call fcn.0041ce7a
mov esi, eax
mov ecx, esi
call fcn.0041b208
pop ecx
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x18], 1
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 1
push eax
push 0x100001
mov ecx, eax
call fcn.0040ab53
push esi
mov ebx, 0x100000
push ebx
push 1
push dword [ebp - 0x28]
call fcn.0042e3fe
add esp, 0x10
mov dword [ebp - 0x10], eax
cmp eax, ebx
ja 0x41a07c
push esi
call fcn.0043375f
pop ecx
test eax, eax
je 0x41a021
push 0x133
jmp 0x41a081
push esi
call fcn.00433733
pop ecx
test eax, eax
jne 0x41a033
push 0x13b
jmp 0x41a081
mov ebx, dword [ebp - 0x28]
mov ecx, ebx
mov edx, dword [ebp - 0x10]
call fcn.00419f6d
mov ecx, dword [ebp - 0x10]
and dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
lea eax, [ebx + ecx]
cmp ebx, eax
je 0x41a061
push ecx
push ebx
mov ecx, edi
call fcn.00403b2d
lea ecx, [ebp - 0x28]
call fcn.00406581
test esi, esi
je 0x41a074
push esi
call fcn.0042d853
pop ecx
mov eax, edi
call fcn.00426519
ret
push 0xc8
lea ecx, [ebp - 0x38]
call fcn.00415f92
push 0x46a72c
lea eax, [ebp - 0x38]
push eax
call fcn.0042906d
int3
Function at 0x41afce
Capabilities:
Create directory

Disassembly:
push ebp
lea ebp, [esp - 0x80]
sub esp, 0x80
push 0xffffffffffffffff
push 0x44c31a
mov eax, dword fs:[0]
push eax
sub esp, 0xc
mov eax, dword [0x46c068]
xor eax, ebp
mov dword [ebp + 0x7c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp byte [ecx + 0x30], 0
je 0x41b153
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
lea edx, [ebp - 0x18]
mov dword [ebp - 4], eax
call fcn.0041aa87
mov edi, dword [ebp - 0x14]
mov eax, edi
mov ebx, dword [ebp - 0x18]
sub eax, ebx
push 0x18
cdq
pop ecx
idiv ecx
imul esi, eax, 0x18
add esi, ebx
jmp 0x41b044
push esi
lea ecx, [esi - 0x18]
call fcn.00402f10
add esi, 0x18
cmp esi, edi
jne 0x41b038
add edi, 0xffffffe8
mov ecx, edi
call fcn.00403a8e
mov dword [ebp - 0x14], edi
cmp ebx, edi
je 0x41b12e
and dword [ebp + 0x74], 0
lea ecx, [ebp + 0x64]
and dword [ebp + 0x78], 0
lea esi, [ebx + 0x18]
push ebx
call fcn.00403c2a
mov byte [ebp - 4], 1
jmp 0x41b11e
push esi
mov edx, 0x460990
lea ecx, [ebp + 0x18]
call fcn.004040f2
pop ecx
mov byte [ebp - 4], 2
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x41b097
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp + 0x64]
call fcn.00403bd1
lea ecx, [ebp + 0x18]
mov byte [ebp - 4], 1
call fcn.00403a8e
lea eax, [ebp + 0x64]
push eax
lea ecx, [ebp + 0x30]
call fcn.0041a977
mov byte [ebp - 4], 3
lea ecx, [ebp]
cmp dword [ebp + 0x5c], 8
lea eax, [ebp + 0x48]
push ecx
cmovae eax, dword [ebp + 0x48]
push eax
call fcn.00434496
pop ecx
pop ecx
cmp eax, 0xffffffff
jne 0x41b107
cmp dword [ebp + 0x5c], 8
lea eax, [ebp + 0x48]
cmovae eax, dword [ebp + 0x48]
push eax
call fcn.00433b0e
pop ecx
cmp eax, 0xffffffff
jne 0x41b107
call fcn.0042cbcc
push 0x137
push 0x11
pop ecx
mov edx, dword [eax]
call fcn.0041989d
pop ecx
lea ecx, [ebp + 0x48]
mov byte [ebp - 4], 1
call fcn.00408804
lea ecx, [ebp + 0x30]
call fcn.00403a8e
add esi, 0x18
cmp esi, edi
jne 0x41b07a
lea ecx, [ebp + 0x64]
call fcn.00403a8e
lea ecx, [ebp - 0x18]
call fcn.00403a58
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x7c]
xor ecx, ebp
call fcn.00425c6e
sub ebp, 0xffffff80
leave
ret
push str.canonicalized_file_name_expected
lea ecx, [ebp - 0x18]
call fcn.0040660b
push 0x46a528
lea eax, [ebp - 0x18]
push eax
call fcn.0042906d
int3
Function at 0x41d522
Capabilities:
Get common file path

Disassembly:
push ebp
lea ebp, [esp - 0x23c]
sub esp, 0x23c
push 0xffffffffffffffff
push 0x44c800
mov eax, dword fs:[0]
push eax
sub esp, 0x14
mov eax, dword [0x46c068]
xor eax, ebp
mov dword [ebp + 0x238], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
lea eax, [ebp + 0x30]
mov dword [ebp - 0x10], edi
push eax
xor ebx, ebx
push ebx
push ebx
push 0x2c
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jne 0x41d5fc
lea eax, [ebp + 0x30]
push eax
lea ecx, [ebp]
call fcn.004087d5
mov esi, eax
mov dword [ebp - 4], ebx
mov ebx, str.OracleJavajava.settings.cfg
push ebx
call fcn.0042cf00
pop ecx
push eax
push ebx
mov ecx, esi
call fcn.00408b4d
xor ecx, ecx
mov byte [ebp - 0x10], cl
push dword [ebp - 0x10]
mov dword [ebp + 0x28], ecx
mov dword [ebp + 0x2c], ecx
lea ecx, [ebp + 0x18]
push eax
call fcn.004088dd
lea edx, [ebp + 0x18]
mov byte [ebp - 4], 1
mov ecx, edi
call fcn.0041cc62
lea ecx, [ebp + 0x18]
call fcn.00408804
lea ecx, [ebp]
call fcn.00408804
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x238]
xor ecx, ebp
call fcn.00425c6e
add ebp, 0x23c
leave
ret
push 0xc8
lea ecx, [ebp - 0x20]
call fcn.00415f92
push 0x46a72c
lea eax, [ebp - 0x20]
push eax
call fcn.0042906d
int3

Function at 0x41fffd
Capabilities:
Read file on windows

Disassembly:
push ecx
push ebx
push ebp
push esi
mov esi, dword [esp + 0x1c]
mov ebx, ecx
push edi
mov edi, dword [esp + 0x24]
mov ebp, 0x7fffffff
test edi, edi
jl 0x420080
jg 0x420029
test esi, esi
je 0x420080
test edi, edi
jg 0x420029
jl 0x420025
cmp esi, ebp
jae 0x420029
mov eax, esi
jmp 0x42002b
mov eax, ebp
and dword [esp + 0x20], 0
cmp dword [esp + 0x18], 0xffffffff
je 0x420071
push 0
lea ecx, [esp + 0x24]
push ecx
push eax
push ebx
push dword [esp + 0x28]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x42005b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x42007b
jmp 0x420071
mov eax, dword [esp + 0x20]
test eax, eax
jle 0x42006c
add ebx, eax
cdq
sub esi, eax
sbb edi, edx
jmp 0x420011
cmp eax, 0xffffffff
jne 0x42007b
call fcn.0042cbcc
cmp dword [eax], 4
je 0x420011
or eax, 0xffffffff
jmp 0x420082
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
Function at 0x4262c4
Capabilities:
Terminate process

Disassembly:
push 0x14
push 0x469a80
call fcn.00426760
push 1
call fcn.00425e45
pop ecx
test al, al
je 0x4262ae
xor bl, bl
mov byte [ebp - 0x19], bl
and dword [ebp - 4], 0
call fcn.00425e13
mov byte [ebp - 0x24], al
mov eax, dword [0x46e1f0]
xor ecx, ecx
inc ecx
cmp eax, ecx
je 0x4262ae
test eax, eax
jne 0x4261cc
mov dword [0x46e1f0], ecx
push 0x44d30c
push 0x44d2ec
call fcn.00436b68
pop ecx
pop ecx
test eax, eax
je 0x4261af
mov dword [ebp - 4], 0xfffffffe
mov eax, 0xff
jmp 0x42629e
push 0x44d2e8
push 0x44d274
call fcn.00436b21
pop ecx
pop ecx
mov dword [0x46e1f0], 2
jmp 0x4261d1
mov bl, cl
mov byte [ebp - 0x19], bl
push dword [ebp - 0x24]
call fcn.00425fb7
pop ecx
call fcn.00426c0f
mov esi, eax
xor edi, edi
cmp dword [esi], edi
je 0x426202
push esi
call fcn.00425f23
pop ecx
test al, al
je 0x426202
mov esi, dword [esi]
push edi
push 2
push edi
mov ecx, esi
call dword [0x44d270]
call esi
call fcn.00426c15
mov esi, eax
cmp dword [esi], edi
je 0x426220
push esi
call fcn.00425f23
pop ecx
test al, al
je 0x426220
push dword [esi]
call fcn.00436015
pop ecx
call fcn.00436cf0
mov edi, dword [eax]
call fcn.00436cea
mov esi, eax
call fcn.004365fa
push eax
push edi
push dword [esi]
call main
add esp, 0xc
mov esi, eax
call fcn.00426a7d
test al, al
je 0x4262b5
test bl, bl
jne 0x426253
call fcn.00435ff0
push 0
push 1
call fcn.00425fd4
pop ecx
pop ecx
mov dword [ebp - 4], 0xfffffffe
mov eax, esi
jmp 0x42629e
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
leave
ret
push 7
call fcn.0042695e
push esi
call fcn.0043603b
push dword [ebp - 0x20]
call fcn.00435fff
int3
call fcn.00509000
jmp 0x426142

Function at 0x43bcc8
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.0043bb3e
Function at 0xa7d370
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov eax, dword [esp + 4]
push ebx
push esi
push edi
push 0x1a
push eax
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov esi, eax
test esi, esi
jne 0xa7d38e
pop edi
pop esi
xor al, al
pop ebx
ret
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
push esi
push 0
mov edi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push edi
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ecx, dword [esp + 0x14]
push 0xaa6074
push ecx
mov edi, eax
call fcn.00a91198
mov esi, eax
add esp, 8
test esi, esi
jne 0xa7d3cb
pop edi
pop esi
xor al, al
pop ebx
ret
push esi
push ebx
push 1
push edi
call fcn.00a9102e
push esi
call fcn.00a90fb1
add esp, 0x14
mov al, 1
pop edi
pop esi
pop ebx
ret