joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10150220
Capabilities:
Get mac address on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0xc], 4
push 0x14
call fcn.1006c65d
add esp, 4
mov dword [ebp - 0x10], eax
push 0x288
call fcn.1006c65d
add esp, 4
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.IPHLPAPI.DLL_GetAdaptersInfo]
cmp eax, 0x6f
jne 0x1015026f
mov edx, dword [ebp - 0xc]
push edx
call fcn.1006c65d
add esp, 4
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.IPHLPAPI.DLL_GetAdaptersInfo]
test eax, eax
jne 0x10150313
mov edx, dword [ebp - 8]
mov dword [ebp - 4], edx
mov eax, 1
imul eax, eax, 5
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + eax + 0x194]
push edx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + eax + 0x194]
push edx
mov eax, 1
imul eax, eax, 3
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + eax + 0x194]
push edx
mov eax, 1
shl eax, 1
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + eax + 0x194]
push edx
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + eax + 0x194]
push edx
mov eax, 1
imul eax, eax, 0
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + eax + 0x194]
push edx
push str._02X:_02X:_02X:_02X:_02X:_02X
mov eax, dword [ebp - 0x10]
push eax
call fcn.1006d97a
add esp, 0x20
mov ecx, dword [ebp - 8]
push ecx
call fcn.1006ca41
add esp, 4
mov eax, dword [ebp - 0x10]
mov esp, ebp
pop ebp
ret

Function at 0x101510b0
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov eax, dword [0x101d8820]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push 0
push 0x101b9768
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
movzx ecx, word [ebp - 0x4c]
push ecx
movzx edx, word [ebp - 0x4a]
push edx
movzx eax, word [ebp - 0x46]
push eax
push str.LOGLOG__02d__02d__02d.txt
lea ecx, [ebp - 0x3c]
push ecx
call fcn.1006d97a
add esp, 0x14
lea edx, [ebp + 0x10]
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x50]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
push 0x101e0630
call fcn.10059e30
add esp, 0xc
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x58], 1
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x54], edx
cmp dword [ebp - 0x54], 1
je 0x10151130
jmp 0x10151141
push 0x101e0630
lea eax, [ebp - 0x3c]
push eax
mov ecx, dword [ebp + 8]
call fcn.10151060
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1006c530
mov esp, ebp
pop ebp
ret

Function at 0x10151180
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], ecx
cmp dword [0x10208e0c], 0
jne 0x10151192
jmp 0x101511e4
push 0
push 0
push 0x101511f0
call fcn.1006ef23
add esp, 0xc
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x101b96e4
push 0x101dcf36
call fcn.10151230
add esp, 8
push str._Plugin_Loaded
push 0x101dcf36
call fcn.10151230
add esp, 8
push str._____________________________________________
push 0x101dcf36
call fcn.10151230
add esp, 8
mov esp, ebp
pop ebp
ret
Function at 0x10151230
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x83c
mov eax, dword [0x101d8820]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x10208e0c], 0
jne 0x10151251
jmp 0x10151382
lea eax, [ebp - 0x820]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [ebp - 0x838], eax
lea ecx, [ebp + 0x10]
mov dword [ebp - 0x82c], ecx
mov edx, dword [ebp - 0x82c]
push edx
mov eax, dword [ebp + 0xc]
push eax
push 0x101e0630
call fcn.10059e30
add esp, 0xc
mov dword [ebp - 0x82c], 0
mov byte [ebp - 0x10], 0
xor ecx, ecx
mov dword [ebp - 0xf], ecx
mov dword [ebp - 0xb], ecx
mov word [ebp - 7], cx
movzx edx, word [ebp - 0x814]
push edx
movzx eax, word [ebp - 0x816]
push eax
movzx ecx, word [ebp - 0x818]
push ecx
push str._02d:_02d:_02d:
lea edx, [ebp - 0x10]
push edx
call fcn.10059e50
add esp, 0x14
push 0x101e0630
push 0x101b9764
lea eax, [ebp - 0x810]
push eax
call fcn.10059e80
add esp, 0xc
lea ecx, [ebp - 0x810]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.101510b0
add esp, 8
lea eax, [ebp - 0x810]
mov dword [ebp - 0x828], eax
mov ecx, dword [ebp - 0x828]
add ecx, 1
mov dword [ebp - 0x834], ecx
mov edx, dword [ebp - 0x828]
mov al, byte [edx]
mov byte [ebp - 0x821], al
add dword [ebp - 0x828], 1
cmp byte [ebp - 0x821], 0
jne 0x10151317
mov ecx, dword [ebp - 0x828]
sub ecx, dword [ebp - 0x834]
mov dword [ebp - 0x830], ecx
push 0
lea edx, [ebp - 0x83c]
push edx
mov eax, dword [ebp - 0x830]
push eax
lea ecx, [ebp - 0x810]
push ecx
push 0
mov ecx, dword [ebp + 8]
call fcn.10151150
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
push 7
push 0
mov ecx, dword [ebp + 8]
call fcn.10151150
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1006c530
mov esp, ebp
pop ebp
ret

Function at 0x10151390
Capabilities:
Create thread
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0x101b9b54
mov ecx, 0x1026ff68
call fcn.10162e30
movzx eax, al
test eax, eax
jne 0x101513c5
push 0x10
push 0x101b9b60
push str.Main.mspro_not_found_or_is_invalid
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, 0x101dcf36
call fcn.10151180
mov ecx, 0x101dc6d8
call fcn.100c3640
push str.DataEnc1.dat
mov ecx, 0x1026f538
call fcn.1015bd10
push str.DataDec2.dat
mov ecx, 0x1026f538
call fcn.1015bd30
call fcn.10145b30
mov ecx, 0x1026fe18
call fcn.101624f0
mov ecx, 0x1026ff68
call fcn.10162f50
mov ecx, 0x1026ff68
call fcn.10162fe0
mov ecx, 0x1026ff68
call fcn.10163070
mov ecx, 0x1026ff68
call fcn.101631e0
mov ecx, 0x10203e90
call fcn.100d03a0
mov ecx, 0x10201960
call fcn.100b1ed0
mov ecx, 0x101dcf3e
call fcn.10169e60
movzx ecx, byte [0x102702f5]
cmp ecx, 1
jne 0x1015146d
push 0
push 0
push 0
push 0x101517c0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
pop ebp
ret
Function at 0x1015b800
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [0x101d8820]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x28], ecx
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xffffffff
jne 0x1015b83f
xor al, al
jmp 0x1015b989
push 0
lea ecx, [ebp - 0x30]
push ecx
push 6
lea edx, [ebp - 0x38]
push edx
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
movzx ecx, word [ebp - 0x38]
movzx edx, word [ebp + 0xc]
cmp ecx, edx
jne 0x1015b867
cmp dword [ebp - 0x36], 0x36
je 0x1015b878
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x1015b989
movzx ecx, byte [ebp + 0x10]
test ecx, ecx
jne 0x1015b88b
mov edx, dword [ebp - 0x28]
add edx, 0x24
mov dword [ebp - 0x2c], edx
jmp 0x1015b894
mov eax, dword [ebp - 0x28]
add eax, 0x54
mov dword [ebp - 0x2c], eax
push 0
lea ecx, [ebp - 0x30]
push ecx
push 0x10
lea edx, [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x24], 0
jmp 0x1015b8bc
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 4
jge 0x1015b8e1
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov edx, dword [eax + edx*4 + 0x84]
xor edx, dword [ebp + ecx*4 - 0x14]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + eax*4], edx
jmp 0x1015b8b3
push 0
lea edx, [ebp - 0x30]
push edx
push 0x10
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x1c], 0
jmp 0x1015b909
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 4
jge 0x1015b92f
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ecx + eax*4 + 0x84]
xor eax, dword [ebp + edx*4 - 0x14]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x2c]
mov dword [edx + ecx*4 + 0x10], eax
jmp 0x1015b900
push 0
lea eax, [ebp - 0x30]
push eax
push 0x10
lea ecx, [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x20], 0
jmp 0x1015b957
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 4
jge 0x1015b97d
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov ecx, dword [edx + ecx*4 + 0x84]
xor ecx, dword [ebp + eax*4 - 0x14]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov dword [eax + edx*4 + 0x20], ecx
jmp 0x1015b94e
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1006c530
mov esp, ebp
pop ebp
ret 0xc
Function at 0x10162f50
Capabilities:
Create process on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 4]
cmp ecx, 1
jne 0x10162f96
push 0x1026ff6e
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
jne 0x10162f94
push 0xa
push 0
push 0
push 0x1026ff8e
push 0x101bd284
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
jmp 0x10162fd8
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 4]
cmp eax, 2
jne 0x10162fd8
push 0x1026ff6e
push 0
push 0x1f0001
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
test eax, eax
jne 0x10162fd8
push 0xa
push 0
push 0
push 0x1026ff8e
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov esp, ebp
pop ebp
ret

Function at 0x10162fe0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x108
mov eax, dword [0x101d8820]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x108], ecx
mov eax, dword [ebp - 0x108]
movzx ecx, byte [eax + 5]
cmp ecx, 1
je 0x1016300a
jmp 0x1016305c
mov edx, dword [ebp - 0x108]
add edx, 0x72
push edx
push str.XTEAM_MAIN_10405__s
lea eax, [ebp - 0x104]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [ebp - 0x104]
push ecx
push 0
push 0x1f0001
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
test eax, eax
jne 0x10163054
lea edx, [ebp - 0x104]
push edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
jmp 0x1016305c
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1006c530
mov esp, ebp
pop ebp
ret
Function at 0x10163070
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10193b7b
mov eax, dword fs:[0]
push eax
sub esp, 0x510
mov eax, dword [0x101d8820]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x518], ecx
mov eax, dword [ebp - 0x518]
cmp dword [eax + 0x134], 0
jne 0x101630b5
jmp 0x101631bc
mov byte [ebp - 0x114], 0
push 0x103
push 0
lea ecx, [ebp - 0x113]
push ecx
call fcn.10074ba0
add esp, 0xc
push 0x104
lea edx, [ebp - 0x114]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x101630f2
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [ebp - 0x518]
add eax, 0x102
push eax
lea ecx, [ebp - 0x114]
push ecx
call fcn.1016dd20
add esp, 4
push eax
call fcn.1006f4fe
add esp, 8
test eax, eax
je 0x10163122
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
lea ecx, [ebp - 0x514]
call fcn.10086b30
mov dword [ebp - 4], 0
push 0x400
lea edx, [ebp - 0x51c]
push edx
mov eax, dword [ebp - 0x518]
add eax, 0x102
push eax
lea ecx, [ebp - 0x514]
call fcn.100868d0
movzx ecx, al
test ecx, ecx
jne 0x1016317a
push 0x10
push 0x101bd2a8
push 0x101bd2b0
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov edx, dword [ebp - 0x518]
mov eax, dword [edx + 0x134]
cmp eax, dword [ebp - 0x51c]
je 0x101631aa
push 0x10
push 0x101bd2c4
push str.Main.exe_CRC_error_
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x514]
call fcn.10086b20
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1006c530
mov esp, ebp
pop ebp
ret
Function at 0x1016d2e0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
push eax
push 0x87
mov ecx, 0x10205be4
call fcn.1011ae20
push 0
push 0
push 0
push 0x1016c3e0
push 0
push 0
call fcn.1006e220
add esp, 0x18
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x3c], eax
mov ecx, dword [ebp - 4]
call fcn.1016c360
mov ecx, 0x10298b20
call fcn.1016c060
mov ecx, 0x102543fc
call fcn.1016b170
mov esp, ebp
pop ebp
ret

Function at 0x1016d870
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], ecx
movzx eax, byte [0x10270304]
test eax, eax
jne 0x1016d884
jmp 0x1016d8e8
mov ecx, dword [ebp - 4]
call fcn.1016d4f0
test eax, eax
je 0x1016d8e8
mov ecx, dword [0xe8c578]
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x1016d8c6
push 5
mov edx, dword [0xe8c578]
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
mov ecx, dword [ebp - 4]
call fcn.1016d540
push 0
mov ecx, dword [ebp - 4]
call fcn.1016d3a0
jmp 0x1016d8e8
push 0
mov eax, dword [0xe8c578]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 1
mov ecx, dword [ebp - 4]
call fcn.1016d540
push 1
mov ecx, dword [ebp - 4]
call fcn.1016d3a0
mov esp, ebp
pop ebp
ret

Function at 0x1016de00
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
push ecx
lea eax, [ebp - 4]
push eax
push 0x40
push 2
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov edx, dword [ebp + 8]
mov ax, word [ebp + 0xc]
mov word [edx], ax
lea ecx, [ebp - 4]
push ecx
mov edx, dword [ebp - 4]
push edx
push 2
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov esp, ebp
pop ebp
ret

Function at 0x1016de40
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
push ecx
lea eax, [ebp - 4]
push eax
push 0x40
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10070c70
add esp, 0xc
lea eax, [ebp - 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov esp, ebp
pop ebp
ret
Function at 0x1016de90
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [ebp + 0xc]
shr eax, 0x10
test eax, eax
jne 0x1016dea9
mov dword [ebp - 0x18], 1
jmp 0x1016deb0
mov dword [ebp - 0x18], 0
cmp dword [ebp - 0x18], 0
jne 0x1016debb
jmp 0x1016e013
push 0x101bf3bc
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1016dedc
jmp 0x1016e013
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
cmp eax, 0xc
jae 0x1016def4
jmp 0x1016e013
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x1016df10
jmp 0x1016e013
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x1016df32
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_FreeResource]
jmp 0x1016e013
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 8]
jne 0x1016dfa2
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov edx, dword [ebp - 4]
mov ecx, dword [edx]
lea edx, [ecx*4 + 0xc]
cmp eax, edx
jae 0x1016df63
jmp 0x1016e013
mov eax, dword [ebp - 4]
add eax, 0xc
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0
jmp 0x1016df7e
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edx]
jae 0x1016dfa0
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.1016e250
add esp, 8
jmp 0x1016df75
jmp 0x1016e009
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
lea ecx, [edx*8 + 0xc]
cmp eax, ecx
jae 0x1016dfc2
jmp 0x1016e013
mov edx, dword [ebp - 4]
add edx, 0xc
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0xc], 0
jmp 0x1016dfdd
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ecx]
jae 0x1016e009
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp + 0x10]
add edx, dword [ecx + eax*8 + 4]
push edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax*8]
push edx
call fcn.1016e250
add esp, 8
jmp 0x1016dfd4
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_FreeResource]
mov esp, ebp
pop ebp
ret
Function at 0x1016e020
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
push ecx
lea eax, [ebp - 4]
push eax
push 0x40
push 1
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov edx, dword [ebp + 8]
mov al, byte [ebp + 0xc]
mov byte [edx], al
lea ecx, [ebp - 4]
push ecx
mov edx, dword [ebp - 4]
push edx
push 1
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov esp, ebp
pop ebp
ret

Function at 0x1016e060
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
push ecx
lea eax, [ebp - 4]
push eax
push 0x40
push 4
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov edx, dword [ebp + 8]
movss xmm0, dword [ebp + 0xc]
movss dword [edx], xmm0
lea eax, [ebp - 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
push 4
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov esp, ebp
pop ebp
ret

Function at 0x1016e0a0
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
push ecx
lea eax, [ebp - 4]
push eax
push 0x40
push 8
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov edx, dword [ebp + 8]
movsd xmm0, qword [ebp + 0xc]
movsd qword [edx], xmm0
lea eax, [ebp - 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
push 8
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov esp, ebp
pop ebp
ret

Function at 0x1016e0e0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x208
mov eax, dword [0x101d8820]
xor eax, ebp
mov dword [ebp - 4], eax
cvtss2sd xmm0, dword [ebp + 0x10]
sub esp, 8
movsd qword [esp], xmm0
push 0x101bf3c0
lea eax, [ebp - 0x104]
push eax
call fcn.1006d97a
add esp, 0x10
push str.._Test.ini
push 0xff
lea ecx, [ebp - 0x204]
push ecx
lea edx, [ebp - 0x104]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x204]
push edx
call fcn.1006f23c
add esp, 4
fstp dword [ebp - 0x208]
fld dword [ebp - 0x208]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1006c530
mov esp, ebp
pop ebp
ret

Function at 0x1016e170
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
push ecx
lea eax, [ebp - 4]
push eax
push 0x40
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10074ba0
add esp, 0xc
lea eax, [ebp - 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov esp, ebp
pop ebp
ret
Function at 0x1016e1c0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x208
mov eax, dword [0x101d8820]
xor eax, ebp
mov dword [ebp - 4], eax
cvtss2sd xmm0, dword [ebp + 0x10]
sub esp, 8
movsd qword [esp], xmm0
push 0x101bf3d0
lea eax, [ebp - 0x104]
push eax
call fcn.1006d97a
add esp, 0x10
mov ecx, dword [ebp + 0x14]
push ecx
push 0xff
lea edx, [ebp - 0x204]
push edx
lea eax, [ebp - 0x104]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x204]
push eax
call fcn.1006f23c
add esp, 4
fstp dword [ebp - 0x208]
fld dword [ebp - 0x208]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1006c530
mov esp, ebp
pop ebp
ret

Function at 0x1016e250
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
push ecx
lea eax, [ebp - 4]
push eax
push 0x40
push 4
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [edx], eax
lea ecx, [ebp - 4]
push ecx
mov edx, dword [ebp - 4]
push edx
push 4
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov esp, ebp
pop ebp
ret

Function at 0x1016e300
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
lea eax, [ebp - 4]
push eax
push 0x40
push 5
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
movzx edx, byte [ebp + 8]
cmp edx, 0xff
je 0x1016e32c
mov eax, dword [ebp + 0xc]
mov cl, byte [ebp + 8]
mov byte [eax], cl
lea edx, [ebp + 0x10]
mov dword [ebp - 8], edx
mov eax, dword [ebp + 0xc]
add eax, 5
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
sub edx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 1], edx
lea ecx, [ebp - 4]
push ecx
mov edx, dword [ebp - 4]
push edx
push 5
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov esp, ebp
pop ebp
ret