joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4ba750
Capabilities:
Check if file exists
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84c
mov eax, dword [0x579aa4]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x844], ecx
push 1
mov ecx, dword [ebp - 0x844]
call fcn.004be230
movzx eax, al
test eax, eax
jne 0x4ba784
xor eax, eax
jmp 0x4ba9dd
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x814], ecx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x818], edx
cmp dword [ebp - 0x818], 0
jne 0x4ba7a6
xor eax, eax
jmp 0x4ba9dd
xor eax, eax
mov word [ebp - 0x808], ax
push 0x7fe
push 0
lea ecx, [ebp - 0x806]
push ecx
call fcn.0050c770
add esp, 0xc
lea edx, [ebp - 0x810]
push edx
call fcn.004a0750
add esp, 4
push 0x55203c
lea ecx, [ebp - 0x810]
call fcn.00405a70
lea ecx, [ebp - 0x810]
call fcn.00406010
push eax
push 0x400
lea eax, [ebp - 0x808]
push eax
push 0
push 0x552050
mov ecx, dword [ebp - 0x818]
call fcn.00406010
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 0x80c], eax
cmp dword [ebp - 0x80c], 0
jbe 0x4ba85a
lea ecx, [ebp - 0x808]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4ba85a
lea ecx, [ebp - 0x810]
call fcn.00406010
push eax
push 0
push 0x55205c
mov ecx, dword [ebp - 0x818]
call fcn.00406010
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov edx, dword [ebp - 0x814]
mov dword [ebp - 0x848], edx
cmp dword [ebp - 0x848], 1
je 0x4ba886
cmp dword [ebp - 0x848], 2
je 0x4ba8c3
cmp dword [ebp - 0x848], 3
je 0x4ba900
jmp 0x4ba91c
push 0
push 0
push 0
push ecx
mov ecx, esp
mov eax, dword [ebp - 0x818]
push eax
call fcn.00405e60
push 0
lea ecx, [ebp - 0x824]
push ecx
mov ecx, dword [ebp - 0x844]
call fcn.004bb240
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0x844]
call fcn.004bb3a0
jmp 0x4ba91c
push 0
push 0
push 0
push ecx
mov ecx, esp
mov edx, dword [ebp - 0x818]
push edx
call fcn.00405e60
push 0
lea eax, [ebp - 0x830]
push eax
mov ecx, dword [ebp - 0x844]
call fcn.004bb240
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x844]
call fcn.004bb5c0
jmp 0x4ba91c
push 0
push ecx
mov ecx, esp
mov eax, dword [ebp - 0x818]
push eax
call fcn.00405e60
mov ecx, dword [ebp - 0x844]
call fcn.004bc650
mov ecx, dword [ebp - 0x818]
mov dword [ebp - 0x83c], ecx
mov edx, dword [ebp - 0x83c]
mov dword [ebp - 0x838], edx
cmp dword [ebp - 0x838], 0
je 0x4ba952
push 1
mov ecx, dword [ebp - 0x838]
call fcn.00424350
mov dword [ebp - 0x84c], eax
jmp 0x4ba95c
mov dword [ebp - 0x84c], 0
mov eax, dword [ebp - 0x844]
cmp dword [eax + 0x2a8], 0
jne 0x4ba986
mov ecx, dword [ebp - 0x844]
mov dword [ecx + 0x2a8], 1
mov ecx, dword [ebp - 0x844]
call fcn.004baec0
mov ecx, dword [ebp - 0x844]
call fcn.004b9590
mov edx, dword [ebp - 0x844]
mov eax, dword [edx + 0x298]
sub eax, 1
mov ecx, dword [ebp - 0x844]
mov dword [ecx + 0x298], eax
mov ecx, dword [ebp - 0x844]
call fcn.004bc8e0
mov ecx, dword [ebp - 0x844]
call fcn.004bd4e0
mov dword [ebp - 0x840], 0
lea ecx, [ebp - 0x810]
call fcn.00406190
mov eax, dword [ebp - 0x840]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0050c75f
mov esp, ebp
pop ebp
ret 0x10
Function at 0x4ba9f0
Capabilities:
Check if file exists
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84c
mov eax, dword [0x579aa4]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x844], ecx
push 1
mov ecx, dword [ebp - 0x844]
call fcn.004be230
movzx eax, al
test eax, eax
jne 0x4baa24
xor eax, eax
jmp 0x4bac6d
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x814], ecx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x818], edx
cmp dword [ebp - 0x818], 0
jne 0x4baa46
xor eax, eax
jmp 0x4bac6d
xor eax, eax
mov word [ebp - 0x808], ax
push 0x7fe
push 0
lea ecx, [ebp - 0x806]
push ecx
call fcn.0050c770
add esp, 0xc
lea edx, [ebp - 0x810]
push edx
call fcn.004a0750
add esp, 4
push 0x552068
lea ecx, [ebp - 0x810]
call fcn.00405a70
lea ecx, [ebp - 0x810]
call fcn.00406010
push eax
push 0x400
lea eax, [ebp - 0x808]
push eax
push 0
push 0x55207c
mov ecx, dword [ebp - 0x818]
call fcn.00406010
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 0x80c], eax
cmp dword [ebp - 0x80c], 0
jbe 0x4baafa
lea ecx, [ebp - 0x808]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4baafa
lea ecx, [ebp - 0x810]
call fcn.00406010
push eax
push 0
push 0x552088
mov ecx, dword [ebp - 0x818]
call fcn.00406010
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov edx, dword [ebp - 0x814]
mov dword [ebp - 0x848], edx
cmp dword [ebp - 0x848], 1
je 0x4bab26
cmp dword [ebp - 0x848], 2
je 0x4bab63
cmp dword [ebp - 0x848], 3
je 0x4baba0
jmp 0x4babbc
push 0
push 1
push 0
push ecx
mov ecx, esp
mov eax, dword [ebp - 0x818]
push eax
call fcn.00405e60
push 0
lea ecx, [ebp - 0x824]
push ecx
mov ecx, dword [ebp - 0x844]
call fcn.004bb240
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0x844]
call fcn.004bb3a0
jmp 0x4babbc
push 0
push 1
push 0
push ecx
mov ecx, esp
mov edx, dword [ebp - 0x818]
push edx
call fcn.00405e60
push 0
lea eax, [ebp - 0x830]
push eax
mov ecx, dword [ebp - 0x844]
call fcn.004bb240
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x844]
call fcn.004bb5c0
jmp 0x4babbc
push 0
push ecx
mov ecx, esp
mov eax, dword [ebp - 0x818]
push eax
call fcn.00405e60
mov ecx, dword [ebp - 0x844]
call fcn.004bc650
mov ecx, dword [ebp - 0x818]
mov dword [ebp - 0x83c], ecx
mov edx, dword [ebp - 0x83c]
mov dword [ebp - 0x838], edx
cmp dword [ebp - 0x838], 0
je 0x4babf2
push 1
mov ecx, dword [ebp - 0x838]
call fcn.00424350
mov dword [ebp - 0x84c], eax
jmp 0x4babfc
mov dword [ebp - 0x84c], 0
mov eax, dword [ebp - 0x844]
cmp dword [eax + 0x2a8], 0
jne 0x4bac26
mov ecx, dword [ebp - 0x844]
mov dword [ecx + 0x2a8], 1
mov ecx, dword [ebp - 0x844]
call fcn.004baec0
mov ecx, dword [ebp - 0x844]
call fcn.004b9590
mov ecx, dword [ebp - 0x844]
call fcn.004b93d0
mov ecx, dword [ebp - 0x844]
call fcn.004bc8e0
mov ecx, dword [ebp - 0x844]
call fcn.004bd4e0
mov dword [ebp - 0x840], 0
lea ecx, [ebp - 0x810]
call fcn.00406190
mov eax, dword [ebp - 0x840]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0050c75f
mov esp, ebp
pop ebp
ret 0x10
Function at 0x4bc530
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0xc]
call fcn.00406250
lea eax, [ebp - 4]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4bc562
lea ecx, [ebp - 0xc]
call fcn.00406190
jmp 0x4bc5b0
cmp dword [ebp - 4], 2
jl 0x4bc59e
mov edx, dword [ebp - 8]
mov eax, dword [edx]
push eax
lea ecx, [ebp - 0xc]
call fcn.004057e0
push str._ShowSetting
lea ecx, [ebp - 0xc]
push ecx
call fcn.00448cc0
add esp, 8
movzx edx, al
test edx, edx
je 0x4bc59e
push 0
push 0
push 0
push 0
mov ecx, dword [ebp - 0x10]
call fcn.004badf0
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea ecx, [ebp - 0xc]
call fcn.00406190
mov esp, ebp
pop ebp
ret 8

Function at 0x4bc7f0
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0xc]
call fcn.00406250
lea eax, [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4bc822
lea ecx, [ebp - 0xc]
call fcn.00406190
jmp 0x4bc87c
cmp dword [ebp - 4], 3
jne 0x4bc874
mov edx, dword [ebp - 8]
mov eax, dword [edx]
push eax
lea ecx, [ebp - 0xc]
call fcn.004057e0
push str._ShowDetail
lea ecx, [ebp - 0xc]
call fcn.00402e70
test eax, eax
jne 0x4bc85c
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 4]
push edx
mov ecx, dword [ebp - 0x10]
add ecx, 0x3e0
call fcn.004057e0
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 8]
push ecx
call fcn.0050ee2b
add esp, 4
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x3e4], eax
lea ecx, [ebp - 0xc]
call fcn.00406190
mov esp, ebp
pop ebp
ret 4

Function at 0x4bd2d0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov dword [ebp - 0x18], ecx
lea eax, [ebp - 4]
push eax
call fcn.00482b90
add esp, 4
lea ecx, [ebp - 4]
call fcn.00406010
push eax
push 0
push str.Start
push 0x552390
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4bd39f
lea ecx, [ebp - 4]
call fcn.00406010
push eax
push 0x5523a4
push 0x5523a8
push 0x5523b8
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 4]
call fcn.00406010
push eax
push 0x5523cc
push 0x5523d0
push 0x5523e0
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 4]
call fcn.00406010
push eax
push 0x5523f4
push 0x5523f8
push 0x552408
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov dword [ebp - 0xc], 0
lea ecx, [ebp - 4]
call fcn.00406010
push eax
push 0x55241c
push 0x552420
push 0x55242c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 4]
call fcn.00406190
mov eax, dword [ebp - 0x10]
jmp 0x4bd3b1
mov dword [ebp - 0x14], 0xffffffff
lea ecx, [ebp - 4]
call fcn.00406190
mov eax, dword [ebp - 0x14]
mov esp, ebp
pop ebp
ret
Function at 0x4bdba0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
add ecx, 0x1d0
call fcn.004d7ac0
lea eax, [ebp - 0x28]
push eax
call fcn.00482b90
add esp, 4
mov ecx, eax
call fcn.00406010
push eax
push 0
push 0x55253c
push 0x552868
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x28]
call fcn.00406190
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x18], 0
mov byte [ebp - 1], 0
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x40]
add ecx, 0x254
call fcn.004bfed0
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x38]
push ecx
mov ecx, dword [ebp - 0x40]
add ecx, 0x254
call fcn.004bfea0
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], eax
jmp 0x4bdc3e
lea ecx, [ebp - 0x20]
call fcn.004c0670
lea ecx, [ebp - 0xc]
push ecx
lea ecx, [ebp - 0x20]
call fcn.004c0750
movzx edx, al
test edx, edx
je 0x4bdcc5
lea ecx, [ebp - 0x20]
call fcn.004c05c0
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14]
push eax
lea ecx, [ebp - 0x18]
push ecx
lea edx, [ebp - 0x10]
push edx
lea ecx, [ebp - 0x20]
call fcn.004c05c0
push eax
call fcn.004d7d30
add esp, 0x10
test eax, eax
je 0x4bdcc0
movzx eax, byte [ebp - 1]
test eax, eax
jne 0x4bdc9b
push 1
push 1
mov ecx, dword [ebp - 0x40]
add ecx, 0x1d0
call fcn.004d7940
mov byte [ebp - 1], 1
push 0
mov ecx, dword [ebp - 0x10]
push ecx
sub esp, 0x90
mov ecx, esp
mov edx, dword [ebp - 0x24]
push edx
call fcn.004bfad0
mov ecx, dword [ebp - 0x40]
add ecx, 0x1d0
call fcn.004d6230
jmp 0x4bdc36
movzx eax, byte [ebp - 1]
test eax, eax
jne 0x4bdcdf
push 0
push 1
mov ecx, dword [ebp - 0x40]
add ecx, 0x1d0
call fcn.004d7940
mov esp, ebp
pop ebp
ret
Function at 0x4bdfd0
Capabilities:
Check if file exists
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x284
mov eax, dword [0x579aa4]
xor eax, ebp
mov dword [ebp - 8], eax
mov dword [ebp - 0x284], ecx
cmp dword [ebp + 8], 0
jne 0x4bdff4
jmp 0x4be179
push str.PromoUtil.exe
lea eax, [ebp - 0x280]
push eax
call fcn.00482f60
add esp, 4
push eax
lea ecx, [ebp - 4]
push ecx
call fcn.00404ee0
add esp, 0xc
lea ecx, [ebp - 0x280]
call fcn.00406190
lea ecx, [ebp - 4]
call fcn.00406010
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4be171
lea ecx, [ebp - 4]
call fcn.00406010
push eax
call fcn.004a85c0
add esp, 4
test eax, eax
je 0x4be171
lea ecx, [ebp - 0x27c]
call fcn.00406250
mov edx, dword [ebp + 8]
push edx
push str._iap:__s_
lea eax, [ebp - 0x27c]
push eax
call fcn.00403850
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0x218], cx
push 0x208
push 0
lea edx, [ebp - 0x216]
push edx
call fcn.0050c770
add esp, 0xc
lea ecx, [ebp - 0x27c]
call fcn.00406010
push eax
push 0x104
lea eax, [ebp - 0x218]
push eax
call fcn.00513138
add esp, 0xc
mov dword [ebp - 0x278], 0
push 0x40
push 0
lea ecx, [ebp - 0x274]
push ecx
call fcn.0050c770
add esp, 0xc
mov dword [ebp - 0x228], 0
xor edx, edx
mov dword [ebp - 0x224], edx
mov dword [ebp - 0x220], edx
mov dword [ebp - 0x21c], edx
mov dword [ebp - 0x278], 0x44
mov dword [ebp - 0x24c], 1
mov eax, 1
mov word [ebp - 0x248], ax
lea ecx, [ebp - 0x228]
push ecx
lea edx, [ebp - 0x278]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 4]
call fcn.00406010
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 0
je 0x4be166
mov ecx, dword [ebp - 0x224]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x228]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x27c]
call fcn.00406190
lea ecx, [ebp - 4]
call fcn.00406190
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0050c75f
mov esp, ebp
pop ebp
ret 4

Function at 0x4be7e0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
cmp dword [ebp + 0xc], 0
je 0x4be7f8
cmp dword [ebp + 0x10], 0
je 0x4be7f8
cmp dword [ebp + 0x14], 0
jne 0x4be805
mov ecx, dword [ebp + 8]
call fcn.00406250
mov eax, dword [ebp + 8]
jmp 0x4be880
mov dword [ebp - 0xc], 0x400
lea ecx, [ebp - 4]
call fcn.00406250
push 0x400
lea ecx, [ebp - 4]
call fcn.00402a20
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x4be83f
mov ecx, dword [ebp + 8]
call fcn.00406250
lea ecx, [ebp - 4]
call fcn.00406190
mov eax, dword [ebp + 8]
jmp 0x4be880
mov eax, dword [ebp + 0xc]
push eax
push 0x400
mov ecx, dword [ebp - 0x10]
push ecx
push 0
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 8], eax
push 0xffffffffffffffff
lea ecx, [ebp - 4]
call fcn.00406060
lea ecx, [ebp - 4]
push ecx
mov ecx, dword [ebp + 8]
call fcn.00405e60
lea ecx, [ebp - 4]
call fcn.00406190
mov eax, dword [ebp + 8]
mov esp, ebp
pop ebp
ret
Function at 0x4be890
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov dword [ebp - 0x28], ecx
cmp dword [ebp + 8], 0
je 0x4be8ab
cmp dword [ebp + 0xc], 0
je 0x4be8ab
cmp dword [ebp + 0x10], 0
jne 0x4be8b0
jmp 0x4bea23
push 0x552c24
lea eax, [ebp - 0x24]
push eax
call fcn.004a0750
add esp, 4
push eax
lea ecx, [ebp - 8]
push ecx
call fcn.00404ee0
add esp, 0xc
lea ecx, [ebp - 0x24]
call fcn.00406190
push 0x552c38
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 8]
call fcn.00406010
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.004be7e0
add esp, 0x10
lea ecx, [ebp - 0x20]
call fcn.00405620
movzx ecx, al
test ecx, ecx
je 0x4be918
lea ecx, [ebp - 0x20]
call fcn.00406190
lea ecx, [ebp - 8]
call fcn.00406190
jmp 0x4bea23
lea ecx, [ebp - 8]
call fcn.00406010
push eax
push 0
push 0x552c44
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 8]
call fcn.00406010
push eax
push 0
push 0x552c58
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x14], eax
push 0x552c6c
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 8]
call fcn.00406010
push eax
lea edx, [ebp - 0x10]
push edx
call fcn.004be7e0
add esp, 0x10
push 0x552c80
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 8]
call fcn.00406010
push eax
lea ecx, [ebp - 4]
push ecx
call fcn.004be7e0
add esp, 0x10
lea ecx, [ebp - 0x20]
call fcn.00406010
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00405520
lea ecx, [ebp - 0xc]
call fcn.00406250
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
push str.http:__s.360safe.com_safei18n_adblocker.htm
push str._s_act_sloc_sfilename_sitemname_swidth_uheight_uclass_s
lea eax, [ebp - 0xc]
push eax
call fcn.00403850
add esp, 0x28
lea ecx, [ebp - 0xc]
call fcn.00406010
push eax
mov ecx, 0x57d3a0
call fcn.004e91d0
lea ecx, [ebp - 0xc]
call fcn.00406190
lea ecx, [ebp - 0x1c]
call fcn.00406190
lea ecx, [ebp - 4]
call fcn.00406190
lea ecx, [ebp - 0x10]
call fcn.00406190
lea ecx, [ebp - 0x20]
call fcn.00406190
lea ecx, [ebp - 8]
call fcn.00406190
mov esp, ebp
pop ebp
ret 0xc

Function at 0x4bea30
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
lea eax, [ebp - 8]
push eax
call fcn.00482b90
add esp, 4
mov ecx, eax
call fcn.00406010
push eax
push 1
push 0x552d7c
push 0x552d88
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 4], eax
lea ecx, [ebp - 8]
call fcn.00406190
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
mov dword [ecx + 0x2a8], edx
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x2a8], 2
jne 0x4bea8f
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x2a8], 1
movzx edx, byte [0x57c124]
cmp edx, 1
jne 0x4beaa8
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x2a8], 1
mov esp, ebp
pop ebp
ret
Function at 0x4c52a0
Capabilities:
Check if file exists
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x430
mov eax, dword [0x579aa4]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x430], ecx
push 0x552ea8
lea ecx, [ebp - 0x214]
call fcn.00405520
push 0x208
push 0
lea eax, [ebp - 0x210]
push eax
call fcn.0050c770
add esp, 0xc
lea ecx, [ebp - 0x210]
push ecx
push 0
push 0
push 0x25
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jne 0x4c549a
push 0x552eac
lea edx, [ebp - 0x210]
push edx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x210]
push eax
call fcn.0050f94e
add esp, 4
xor ecx, ecx
mov word [ebp - 0x420], cx
push 0x206
push 0
lea edx, [ebp - 0x41e]
push edx
call fcn.0050c770
add esp, 0xc
push 0x104
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
push str.SysWOW64
lea ecx, [ebp - 0x420]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push 0x552edc
lea edx, [ebp - 0x420]
push edx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x420]
push eax
call fcn.0050f94e
add esp, 4
lea ecx, [ebp + 0xc]
call fcn.0044f460
lea ecx, [ebp + 0x10]
call fcn.0044f460
push 0
lea ecx, [ebp - 0x210]
push ecx
lea ecx, [ebp + 0x10]
call fcn.00402830
cmp eax, 0xffffffff
jne 0x4c53c1
push 0
lea edx, [ebp - 0x420]
push edx
lea ecx, [ebp + 0x10]
call fcn.00402830
cmp eax, 0xffffffff
je 0x4c549a
push 0
push 0x552ef8
lea ecx, [ebp + 0xc]
call fcn.00402830
cmp eax, 0xffffffff
je 0x4c549a
push 0
push str.rundll32.exe
lea ecx, [ebp + 0xc]
call fcn.00402830
mov dword [ebp - 0x424], eax
mov eax, dword [ebp - 0x424]
add eax, 0xd
push eax
lea ecx, [ebp - 0x428]
push ecx
lea ecx, [ebp + 0xc]
call fcn.004046f0
push eax
lea ecx, [ebp + 0xc]
call fcn.00404a40
lea ecx, [ebp - 0x428]
call fcn.00406190
lea ecx, [ebp + 0xc]
call fcn.004499e0
push 0x22
lea ecx, [ebp + 0xc]
call fcn.0049b0a0
push 0
push str..dll
lea ecx, [ebp + 0xc]
call fcn.00402830
mov dword [ebp - 0x424], eax
cmp dword [ebp - 0x424], 0xffffffff
je 0x4c5478
mov edx, dword [ebp - 0x424]
add edx, 4
push edx
lea eax, [ebp - 0x42c]
push eax
lea ecx, [ebp + 0xc]
call fcn.0044dd20
push eax
lea ecx, [ebp + 0xc]
call fcn.00404a40
lea ecx, [ebp - 0x42c]
call fcn.00406190
lea ecx, [ebp + 0xc]
call fcn.00406010
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4c549a
lea ecx, [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x214]
call fcn.00404a40
lea edx, [ebp - 0x214]
push edx
mov ecx, dword [ebp + 8]
call fcn.00405e60
lea ecx, [ebp - 0x214]
call fcn.00406190
lea ecx, [ebp + 0xc]
call fcn.00406190
lea ecx, [ebp + 0x10]
call fcn.00406190
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0050c75f
mov esp, ebp
pop ebp
ret 0xc
Function at 0x4cde50
Capabilities:
Check if file exists
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
mov dword [ebp - 0x40], ecx
lea eax, [ebp - 0xc]
push eax
call fcn.004a0750
add esp, 4
push str.pop.log
lea ecx, [ebp - 0xc]
call fcn.00405a70
lea ecx, [ebp - 0xc]
call fcn.00406010
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4cde9c
mov dword [ebp - 0x14], 0
lea ecx, [ebp - 0xc]
call fcn.00406190
mov eax, dword [ebp - 0x14]
jmp 0x4cdf7a
mov dword [ebp - 8], 0x100000
push 0x57d4f8
xor ecx, ecx
mov eax, dword [ebp - 8]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0050eea7
add esp, 8
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x4cdeea
mov dword [ebp - 0x1c], 0
lea ecx, [ebp - 0xc]
call fcn.00406190
mov eax, dword [ebp - 0x1c]
jmp 0x4cdf7a
mov ecx, dword [ebp - 8]
shl ecx, 1
push ecx
push 0
mov edx, dword [ebp - 0x10]
push edx
call fcn.0050c770
add esp, 0xc
lea ecx, [ebp - 0xc]
call fcn.00406010
push eax
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesW]
mov dword [ebp - 4], eax
mov edx, dword [ebp - 8]
sub edx, 2
cmp dword [ebp - 4], edx
je 0x4cdf4a
push 0
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
lea edx, [ebp - 0x34]
push edx
mov ecx, dword [ebp - 0x40]
call fcn.004cddb0
push eax
mov ecx, dword [ebp + 8]
call fcn.004cf030
lea ecx, [ebp - 0x34]
call fcn.00436bc0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.0050c4ec
add esp, 4
mov ecx, dword [ebp + 8]
call fcn.004240e0
xor edx, edx
cmp edx, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x3c], eax
lea ecx, [ebp - 0xc]
call fcn.00406190
mov eax, dword [ebp - 0x3c]
mov esp, ebp
pop ebp
ret 4
Function at 0x4cfd90
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x824
mov eax, dword [0x579aa4]
xor eax, ebp
mov dword [ebp - 8], eax
mov dword [ebp - 0x824], ecx
mov dword [ebp - 0x810], 1
push 0x553830
lea ecx, [ebp - 4]
call fcn.00405520
lea eax, [ebp - 0x80c]
push eax
call fcn.004a0660
add esp, 4
xor ecx, ecx
mov word [ebp - 0x808], cx
push 0x7fe
push 0
lea edx, [ebp - 0x806]
push edx
call fcn.0050c770
add esp, 0xc
lea ecx, [ebp - 0x80c]
call fcn.00406010
push eax
push 0x104
lea eax, [ebp - 0x808]
push eax
push 0
lea ecx, [ebp - 4]
call fcn.00406010
push eax
push 0x553834
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp eax, 1
jbe 0x4cff0a
push 0x3b
lea ecx, [ebp - 0x808]
push ecx
call fcn.00405ec0
add esp, 8
mov dword [ebp - 0x814], eax
cmp dword [ebp - 0x814], 0
je 0x4cfeac
mov edx, dword [ebp - 0x814]
movzx eax, word [edx + 2]
test eax, eax
je 0x4cfe88
mov ecx, dword [ebp - 0x814]
add ecx, 2
push ecx
lea ecx, [ebp - 0x818]
call fcn.00405520
lea edx, [ebp - 0x818]
push edx
mov ecx, dword [ebp - 0x824]
add ecx, 0x1c
call fcn.0049b390
lea ecx, [ebp - 0x818]
call fcn.00406190
xor eax, eax
mov ecx, dword [ebp - 0x814]
mov word [ecx], ax
push 0x3b
lea edx, [ebp - 0x808]
push edx
call fcn.00405ec0
add esp, 8
mov dword [ebp - 0x814], eax
jmp 0x4cfe3c
lea eax, [ebp - 0x808]
push eax
lea ecx, [ebp - 0x81c]
call fcn.00405520
lea ecx, [ebp - 0x81c]
push ecx
mov ecx, dword [ebp - 0x824]
add ecx, 0x1c
call fcn.0049b390
lea ecx, [ebp - 0x81c]
call fcn.00406190
mov edx, dword [ebp - 0x810]
add edx, 1
mov dword [ebp - 0x810], edx
mov eax, dword [ebp - 0x810]
push eax
push 0x553844
lea ecx, [ebp - 4]
push ecx
call fcn.00403850
add esp, 0xc
jmp 0x4cfdee
mov ecx, dword [ebp - 0x824]
add ecx, 0x1c
call fcn.004d15a0
xor edx, edx
cmp edx, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x820], eax
lea ecx, [ebp - 0x80c]
call fcn.00406190
lea ecx, [ebp - 4]
call fcn.00406190
mov eax, dword [ebp - 0x820]
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0050c75f
mov esp, ebp
pop ebp
ret