joyce8/EMBER2024-capa huggingface dataset:
Function at 0x41f820
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a0f22
mov eax, dword fs:[0]
push eax
sub esp, 0x2a4
mov eax, dword [0x6540b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x298], ecx
cmp dword [ebp + 8], 0
jne 0x41f85c
jmp 0x41fa53
lea ecx, [ebp - 0x248]
call fcn.004043b0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x248]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x298]
call fcn.0041f680
movzx edx, al
test edx, edx
jne 0x41f8a2
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x248]
call fcn.00402740
jmp 0x41fa53
lea ecx, [ebp - 0x230]
call fcn.004043b0
mov byte [ebp - 4], 1
lea eax, [ebp - 0x230]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2a4], esp
lea edx, [ebp - 0x248]
push edx
call fcn.004043d0
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x2a8], eax
mov byte [ebp - 4], 2
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2ac], esp
mov edx, dword [ebp + 8]
push edx
call fcn.00402780
mov dword [ebp - 0x2b0], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x298]
call fcn.0041fa70
mov byte [ebp - 0x291], al
movzx eax, byte [ebp - 0x291]
test eax, eax
jne 0x41f945
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x230]
call fcn.00402740
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x248]
call fcn.00402740
jmp 0x41fa53
lea ecx, [ebp - 0x290]
push ecx
call fcn.00406d20
add esp, 4
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x230]
call fcn.00402810
push eax
lea edx, [ebp - 0x278]
push edx
call fcn.0044350a
add esp, 8
mov byte [ebp - 4], 4
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x290]
push ecx
lea edx, [ebp - 0x260]
push edx
call fcn.004047f0
add esp, 0xc
mov byte [ebp - 4], 5
push 1
lea ecx, [ebp - 0x260]
call fcn.00402810
push eax
lea ecx, [ebp - 0x230]
call fcn.00402810
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
call fcn.00407bc0
mov ecx, eax
call fcn.00436cbd
mov dword [ebp - 0x2a0], eax
lea ecx, [ebp - 0x230]
call fcn.00402810
push eax
push 0x5a7bf8
mov eax, dword [ebp - 0x2a0]
push eax
push 0x5a7c18
lea ecx, [ebp - 0x218]
push ecx
call fcn.00409340
add esp, 0x14
lea edx, [ebp - 0x218]
push edx
call fcn.0043a794
add esp, 4
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x260]
call fcn.00402740
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x278]
call fcn.00402740
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x290]
call fcn.00402740
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x230]
call fcn.00402740
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x248]
call fcn.00402740
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00435ba5
mov esp, ebp
pop ebp
ret 4
Function at 0x41fa70
Capabilities:
Check if file exists
Download url
Receive data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a0f76
mov eax, dword fs:[0]
push eax
sub esp, 0x248
mov eax, dword [0x6540b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x250], ecx
mov dword [ebp - 4], 1
lea ecx, [ebp + 0x20]
call fcn.00402810
push eax
lea eax, [ebp - 0x248]
push eax
call fcn.004435a4
add esp, 8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x230]
push ecx
call fcn.00407630
add esp, 4
mov byte [ebp - 4], 3
mov dx, word [0x5a7c38]
mov word [ebp - 0x218], dx
push 0x206
push 0
lea eax, [ebp - 0x216]
push eax
call fcn.00448340
add esp, 0xc
lea ecx, [ebp - 0x248]
call fcn.00402810
push eax
lea ecx, [ebp + 8]
call fcn.00402810
push eax
lea ecx, [ebp - 0x230]
call fcn.00402810
push eax
push str._sSkinTemp_s_s
lea ecx, [ebp - 0x218]
push ecx
call fcn.00409340
add esp, 0x14
lea edx, [ebp - 0x218]
push edx
call fcn.00438c23
add esp, 4
push 0
push 0
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp + 0x20]
call fcn.00402810
push eax
push 0
call sub.urlmon.dll_URLDownloadToFileW
mov dword [ebp - 0x254], eax
lea ecx, [ebp - 0x218]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x41fbb9
mov byte [ebp - 0x249], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x230]
call fcn.00402740
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x248]
call fcn.00402740
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.00402740
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x20]
call fcn.00402740
mov al, byte [ebp - 0x249]
jmp 0x41fc0e
lea edx, [ebp - 0x218]
push edx
mov ecx, dword [ebp + 0x38]
call fcn.00402890
mov byte [ebp - 0x24a], 1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x230]
call fcn.00402740
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x248]
call fcn.00402740
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.00402740
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x20]
call fcn.00402740
mov al, byte [ebp - 0x24a]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00435ba5
mov esp, ebp
pop ebp
ret 0x34
Function at 0x422770
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a1288
mov eax, dword fs:[0]
push eax
sub esp, 0x14
mov eax, dword [0x6540b4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x14], ecx
cmp dword [section.Shared], 0
je 0x4227c6
mov eax, dword [section.Shared]
push eax
push 0
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffff
je 0x4227c6
push 4
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [section.Shared], eax
lea ecx, [ebp - 0x20]
call fcn.00425230
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
add ecx, 4
call fcn.00402810
push eax
push str.CandRMenuTip
lea ecx, [ebp - 0x20]
call fcn.004252e0
mov dword [ebp - 0x18], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.00425250
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret

Function at 0x425f30
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a33b8
mov eax, dword fs:[0]
push eax
sub esp, 0x30
mov eax, dword [0x6540b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x3c], ecx
lea eax, [ebp - 0x28]
push eax
call fcn.00407570
add esp, 4
mov dword [ebp - 4], 0
call fcn.004434fa
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x28]
call fcn.00402810
push eax
push 0xffffffffffffffff
push 0x5a9ea4
push 0x5a9eb8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x2c]
sub ecx, dword [ebp - 0x30]
push ecx
call fcn.00451645
add esp, 4
cmp eax, 3
jl 0x425fc3
mov dword [ebp - 0x34], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00402740
mov eax, dword [ebp - 0x34]
jmp 0x425fdc
mov dword [ebp - 0x38], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00402740
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00435ba5
mov esp, ebp
pop ebp
ret
Function at 0x4292d0
Capabilities:
Check if file exists
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a1800
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x6540b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x28]
call fcn.004043b0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004076f0
add esp, 8
test eax, eax
jne 0x429332
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00402740
jmp 0x4293bb
lea ecx, [ebp - 0x28]
call fcn.00402810
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x44]
add ecx, 0x64
call fcn.0042d960
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.00402810
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x42937a
lea ecx, [ebp - 0x40]
call fcn.00402810
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [ebp - 0x44]
add ecx, 0x64
call fcn.0042dc90
push 0
mov ecx, dword [ebp - 0x44]
add ecx, 0x64
call fcn.0042e0c0
mov ecx, dword [ebp - 0x44]
sub ecx, 0x2d8
call fcn.00429eb0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.00402740
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00402740
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00435ba5
mov esp, ebp
pop ebp
ret 4
Function at 0x4299b0
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a1886
mov eax, dword fs:[0]
push eax
sub esp, 0x2b0
mov eax, dword [0x6540b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x264], ecx
lea ecx, [ebp - 0x230]
call fcn.004043b0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x230]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004076f0
add esp, 8
test eax, eax
jne 0x429a21
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x230]
call fcn.00402740
jmp 0x429b3f
lea ecx, [ebp - 0x230]
call fcn.00402810
push eax
lea edx, [ebp - 0x260]
push edx
call fcn.0044350a
add esp, 8
mov byte [ebp - 4], 1
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x248]
call fcn.004043d0
push 0x58
push 0
lea ecx, [ebp - 0x2bc]
push ecx
call fcn.00448340
add esp, 0xc
xor edx, edx
mov word [ebp - 0x218], dx
push 0x206
push 0
lea eax, [ebp - 0x216]
push eax
call fcn.00448340
add esp, 0xc
lea ecx, [ebp - 0x260]
call fcn.00402810
push eax
lea ecx, [ebp - 0x218]
push ecx
call fcn.0044f640
add esp, 8
lea edx, [ebp - 0x218]
mov dword [ebp - 0x2a0], edx
mov dword [ebp - 0x29c], 0x104
mov dword [ebp - 0x2b0], str._b_tg
mov dword [ebp - 0x28c], 0x5aa048
mov dword [ebp - 0x288], 0x1806
mov dword [ebp - 0x2bc], 0x58
mov dword [ebp - 0x2b8], 0
lea eax, [ebp - 0x2bc]
push eax
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
test eax, eax
je 0x429b13
push 0
lea ecx, [ebp - 0x218]
push ecx
lea ecx, [ebp - 0x248]
call fcn.00402810
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea ecx, [ebp - 0x248]
call fcn.00402740
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x260]
call fcn.00402740
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x230]
call fcn.00402740
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00435ba5
mov esp, ebp
pop ebp
ret 4
Function at 0x42e0e0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a1c60
mov eax, dword fs:[0]
push eax
sub esp, 0x6c
mov eax, dword [0x6540b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x78], ecx
mov ecx, dword [ebp + 8]
add ecx, 0x18
call fcn.00402810
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x42e12d
mov eax, dword [ebp + 8]
mov byte [eax + 0x48], 1
jmp 0x42e229
lea ecx, [ebp - 0x38]
call fcn.0042b7b0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x74]
call fcn.004282e0
mov byte [ebp - 4], 1
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x74]
call fcn.0042ee00
push 0x5aa7c4
lea ecx, [ebp - 0x68]
call fcn.00402780
mov byte [ebp - 4], 2
lea edx, [ebp - 0x68]
push edx
lea ecx, [ebp - 0x38]
call fcn.0042bed0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x68]
call fcn.00402740
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x38]
call fcn.0042beb0
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0x4a]
test edx, edx
je 0x42e1cd
mov eax, dword [ebp + 8]
add eax, 0x18
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x30
push ecx
lea ecx, [ebp - 0x38]
call fcn.0042bc30
mov edx, dword [ebp + 8]
mov byte [edx + 0x48], al
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x74]
call fcn.0042b7f0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.0042b830
jmp 0x42e229
lea ecx, [ebp - 0x50]
call fcn.004043b0
mov byte [ebp - 4], 3
lea eax, [ebp - 0x50]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004076f0
add esp, 8
mov edx, dword [ebp + 8]
add edx, 0x18
push edx
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x38]
call fcn.0042bd80
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x48], al
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x50]
call fcn.00402740
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x74]
call fcn.0042b7f0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.0042b830
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00435ba5
mov esp, ebp
pop ebp
ret 4
Function at 0x4305c0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2e4
mov eax, dword [0x6540b4]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x2e4], ecx
call fcn.00407bc0
mov ecx, eax
call fcn.00436cb1
mov dword [ebp - 0x2e0], eax
push str.Event.conf
push 0x5aab9c
mov eax, dword [ebp - 0x2e0]
push eax
push 0x5aabac
lea ecx, [ebp - 0x2d4]
push ecx
call fcn.00409340
add esp, 0x14
lea edx, [ebp - 0x2d4]
push edx
push 0
push 0x5aabbc
push 0x5aabcc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x2dc], eax
call fcn.004434fa
mov dword [ebp - 0x2d8], eax
cmp dword [ebp - 0x2dc], 0
jne 0x43067e
mov eax, dword [ebp - 0x2d8]
push eax
push 0x5aabe0
lea ecx, [ebp - 0xcc]
push ecx
call fcn.00409340
add esp, 0xc
lea edx, [ebp - 0x2d4]
push edx
lea eax, [ebp - 0xcc]
push eax
push str.ShowDay
push 0x5aabf8
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
jmp 0x4306ab
mov ecx, dword [ebp - 0x2d8]
sub ecx, dword [ebp - 0x2dc]
cmp ecx, 7
jl 0x4306ab
lea edx, [ebp - 0x2d4]
push edx
push 0x5aac0c
push 0x5aac10
push str.RMenuTip
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00435ba5
mov esp, ebp
pop ebp
ret

Function at 0x4319b0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a2183
mov eax, dword fs:[0]
push eax
push ecx
push esi
mov eax, dword [0x6540b4]
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 + 8], 0xffffffff
mov dword [esi + 4], 0xffffffff
mov dword [esi + 0xc], 0
mov dword [esi + 0x20], 0x65c560
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
lea ecx, [esi + 0x34]
mov dword [esi], vtable.TiXmlDocument.0
mov dword [ebp - 4], 0
mov dword [ecx], 0x65c560
mov dword [esi + 0x40], 0xffffffff
mov dword [esi + 0x3c], 0xffffffff
push 0
push 0x5a81b2
mov byte [ebp - 4], 1
mov dword [esi + 0x38], 4
mov byte [esi + 0x44], 0
mov byte [esi + 0x2c], 0
mov dword [esi + 0x30], 0
call fcn.004354c0
mov dword [esi + 0x40], 0
mov eax, esi
mov dword [esi + 0x3c], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x436dad
Capabilities:
Read .ini file

Disassembly:
push 0x82c
mov eax, 0x5a2659
call fcn.0059baee
mov edi, ecx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x830], eax
mov eax, dword [ebp + 0x10]
push 0x800
mov dword [ebp - 0x82c], eax
lea eax, [ebp - 0x810]
push ecx
push eax
mov dword [ebp - 4], ecx
mov dword [ebp - 0x838], esi
mov dword [ebp - 0x834], ecx
call fcn.00448340
lea eax, [edi + 0x8c]
add esp, 0xc
cmp dword [eax + 0x14], 8
jb 0x436e0a
mov eax, dword [eax]
push eax
push 0x400
lea eax, [ebp - 0x810]
push eax
push ebx
push dword [ebp - 0x82c]
push dword [ebp - 0x830]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x810]
mov ecx, esi
push eax
call fcn.00402780
and dword [ebp - 4], 0
cmp dword [esi + 0x14], 8
mov dword [ebp - 0x834], 1
jb 0x436e50
mov eax, dword [esi]
jmp 0x436e52
mov eax, esi
push ebx
push eax
call fcn.004508bc
pop ecx
pop ecx
test eax, eax
jne 0x436e9e
cmp byte [edi + 5], 0
lea eax, [ebp - 0x828]
push ebx
push dword [ebp - 0x82c]
mov ecx, edi
push dword [ebp - 0x830]
push eax
je 0x436e82
call fcn.00436cc9
jmp 0x436e87
call fcn.00436d83
push eax
mov ecx, esi
call fcn.00404330
push 0
push 1
lea ecx, [ebp - 0x828]
call fcn.00402820
mov eax, esi
call fcn.0059baa9
ret 0x10
Function at 0x437a50
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa44
mov eax, dword [0x6540b4]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0x208
xor esi, esi
lea eax, [ebp - 0x20c]
push esi
push eax
mov edi, ecx
call fcn.00448340
lea eax, [edi + 0x2c]
add esp, 0xc
cmp dword [eax + 0x14], 8
jb 0x437a89
mov eax, dword [eax]
push str.Config
push eax
lea eax, [ebp - 0x20c]
push 0x5cf6c4
push eax
call fcn.00409340
add esp, 0x10
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x437ac1
lea eax, [ebp - 0x20c]
push eax
call fcn.00438c23
pop ecx
push 0x208
lea eax, [ebp - 0x414]
push esi
push eax
call fcn.00448340
push str.UseVestige.ini
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x414]
push 0x5cf680
push eax
call fcn.00409340
add esp, 0x1c
cmp word [ebp - 0x414], si
jne 0x437b00
mov eax, esi
jmp 0x437b0d
lea eax, [ebp - 0x414]
push eax
call fcn.0044b8d2
pop ecx
push eax
lea eax, [ebp - 0x414]
push eax
lea ecx, [edi + 0x8c]
call fcn.004028e0
push 0x208
lea eax, [ebp - 0x61c]
push esi
push eax
call fcn.00448340
push str.Cache.ini
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x61c]
push 0x5cf680
push eax
call fcn.00409340
add esp, 0x1c
cmp word [ebp - 0x61c], si
jne 0x437b5f
mov eax, esi
jmp 0x437b6c
lea eax, [ebp - 0x61c]
push eax
call fcn.0044b8d2
pop ecx
push eax
lea eax, [ebp - 0x61c]
push eax
lea ecx, [edi + 0xa4]
call fcn.004028e0
push 0x208
lea eax, [ebp - 0x824]
push esi
push eax
call fcn.00448340
lea eax, [ebp - 0xa44]
push str.ShxlPath
push eax
call fcn.00439d38
add esp, 0x14
cmp dword [eax + 0x14], 8
jb 0x437bad
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x824]
push 0x6485a4
push eax
call fcn.00409340
add esp, 0xc
lea ecx, [ebp - 0xa44]
push esi
push 1
call fcn.00402820
lea eax, [ebp - 0x824]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x437bee
lea eax, [ebp - 0x824]
push eax
call fcn.00438c23
pop ecx
push 0x208
lea eax, [ebp - 0xa2c]
push esi
push eax
call fcn.00448340
push str.Cache.ini
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0xa2c]
push 0x5cf680
push eax
call fcn.00409340
add esp, 0x1c
cmp word [ebp - 0xa2c], si
je 0x437c38
lea eax, [ebp - 0xa2c]
push eax
call fcn.0044b8d2
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0xa2c]
push eax
lea ecx, [edi + 0xbc]
call fcn.004028e0
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00435ba5
mov esp, ebp
pop ebp
ret
Function at 0x438141
Capabilities:
Read .ini file

Disassembly:
push 0x23c
mov eax, 0x5a271e
call fcn.0059baee
mov ebx, ecx
call fcn.00436cbd
lea edi, [ebx + 0xd4]
push eax
mov ecx, edi
call fcn.00402890
mov esi, str.WanNengWBInfo.ini
push esi
call fcn.0044b8d2
pop ecx
push eax
push esi
mov ecx, edi
call fcn.004045b0
push str.guanf
push str.Spreader
push str.AppInfo
lea eax, [ebp - 0x230]
mov ecx, ebx
push eax
call fcn.00436dad
lea esi, [ebx + 0xec]
push eax
mov ecx, esi
call fcn.00404330
push 0
push 1
lea ecx, [ebp - 0x230]
call fcn.00402820
push str.guanf
mov ecx, esi
call fcn.00408770
test eax, eax
jne 0x438230
push 0x208
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00448340
add esp, 0xc
cmp dword [edi + 0x14], 8
jb 0x4381e1
mov edi, dword [edi]
push edi
push 0x104
lea eax, [ebp - 0x218]
mov edi, str.guanf
push eax
push edi
push str.Spreader
push str.AppInfo
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [ebp - 0x218], 0
jne 0x438212
xor eax, eax
jmp 0x43821f
lea eax, [ebp - 0x218]
push eax
call fcn.0044b8d2
pop ecx
push eax
lea eax, [ebp - 0x218]
mov ecx, esi
push eax
call fcn.004028e0
jmp 0x438235
mov edi, str.guanf
push edi
mov ecx, esi
call fcn.00408770
test eax, eax
jne 0x4382f8
push 0x208
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00448340
add esp, 0xc
lea eax, [ebx + 0x5c]
lea ecx, [ebp - 0x230]
push eax
call fcn.004043d0
and dword [ebp - 4], 0
push str.WanNengWBInfo.ini
call fcn.0044b8d2
pop ecx
push eax
push str.WanNengWBInfo.ini
lea ecx, [ebp - 0x230]
call fcn.004045b0
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
push 0x104
lea eax, [ebp - 0x218]
push eax
push edi
push str.Spreader
push str.AppInfo
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [ebp - 0x218], 0
jne 0x4382c9
xor eax, eax
jmp 0x4382d6
lea eax, [ebp - 0x218]
push eax
call fcn.0044b8d2
pop ecx
push eax
lea eax, [ebp - 0x218]
mov ecx, esi
push eax
call fcn.004028e0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x230]
push 0
push 1
call fcn.00402820
push edi
mov ecx, esi
call fcn.00408770
test eax, eax
jne 0x438334
push edi
push str.Spreader
push str.AppInfo
lea eax, [ebp - 0x248]
mov ecx, ebx
push eax
call fcn.00436d59
push eax
mov ecx, esi
call fcn.00404330
push 0
push 1
lea ecx, [ebp - 0x248]
call fcn.00402820
call fcn.0059baa9
ret
Function at 0x438c23
Capabilities:
Check if file exists
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
push dword [ebp + 8]
call fcn.0044b8d2
mov dword [ebp - 8], eax
xor ecx, ecx
push 2
inc eax
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004360cd
push dword [ebp + 8]
mov edi, eax
push edi
mov dword [ebp - 4], edi
call fcn.0044f640
add esp, 0x10
call fcn.004314e0
test al, al
je 0x438c76
push edx
push ebp
pop esp
pop edx
push esi
pop esi
pop edx
push eax
pop edx
pop ebx
pop ebx
pop esp
pop edx
push edi
push esp
push edi
mov eax, dword [ebp - 8]
xor esi, esi
xor ebx, ebx
inc esi
mov dword [ebp - 0xc], ebx
test eax, eax
js 0x438d40
cmp word [edi + ebx*2], 0x5c
jne 0x438d31
call fcn.00431120
test al, al
je 0x438cb1
push ebp
pop ebp
push eax
push esp
pop ebp
push ebx
pop ebp
push esi
pop ebx
push edi
pop eax
pop esp
push esi
push eax
push ebp
pop eax
pop esi
push ecx
push ebx
push edx
call fcn.00430e80
test al, al
je 0x438cdb
push ebp
push ecx
push edi
push edx
push ebx
push ecx
pop esp
pop ebx
pop ebp
pop edx
pop ecx
pop edi
pop ebx
push esp
push eax
push edi
pop ebx
push edi
pop ebx
push eax
pop edx
push ebp
pop ecx
pop eax
pop eax
pop ebx
push ebx
pop ebx
push esp
push ebp
mov edi, dword [ebp - 4]
call fcn.00430fa0
test al, al
je 0x438d06
push esi
push esp
push esp
push eax
pop ebx
pop esi
push ebp
push ecx
push eax
push esp
push esp
push edi
pop ebp
pop ebx
push edi
pop ecx
pop esi
push edi
push ecx
push esp
pop ebp
pop ecx
pop ebp
push eax
pop ebp
pop edi
push ecx
pop ebp
pop eax
pop ecx
push ecx
mov edi, dword [ebp - 4]
mov ebx, dword [ebp - 0xc]
xor eax, eax
push edi
movzx esi, word [edi + ebx*2]
mov word [edi + ebx*2], ax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x438d2a
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x438d50
mov eax, dword [ebp - 8]
mov word [edi + ebx*2], si
inc ebx
mov dword [ebp - 0xc], ebx
cmp ebx, eax
jle 0x438c89
xor esi, esi
inc esi
push edi
call fcn.004360d6
pop ecx
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor esi, esi
jmp 0x438d40