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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x3c], 0
je 0x40b1f4
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + 0x3c], 0xffffffff
jne 0x40b21d
mov edx, 1
test edx, edx
je 0x40b206
mov dword [ebp - 0x20], 0
jmp 0x40b216
push str.SnedPLCCommand_abort_n
call fcn.0040b860
add esp, 4
mov dword [ebp - 0x20], eax
xor eax, eax
jmp 0x40b33e
mov eax, 1
test eax, eax
je 0x40b22f
mov dword [ebp - 0x24], 0
jmp 0x40b243
mov ecx, dword [ebp + 8]
push ecx
push str._SnedPLCCommand__:__s__n
call fcn.0040b860
add esp, 8
mov dword [ebp - 0x24], eax
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.004e90b0
add esp, 8
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0
cmp dword [0x56b6f8], 0
je 0x40b290
cmp dword [ebp - 4], 0x2710
jle 0x40b27d
xor eax, eax
jmp 0x40b33e
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
jmp 0x40b264
mov dword [0x56b6f8], 1
push 0
lea edx, [ebp - 8]
push edx
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x40b2e4
mov ecx, 1
test ecx, ecx
je 0x40b2d0
mov dword [ebp - 0x28], 0
jmp 0x40b2e0
push str.SnedPLCCommand_fail_n
call fcn.0040b860
add esp, 4
mov dword [ebp - 0x28], eax
xor eax, eax
jmp 0x40b33e
cmp dword [ebp + 0xc], 0
je 0x40b331
mov dword [ebp - 0x10], 0
jmp 0x40b2fc
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 3
jge 0x40b331
push 0
lea eax, [ebp - 8]
push eax
push 0x7d
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 8], 0
je 0x40b32f
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 8]
mov byte [ecx], 0
jmp 0x40b331
jmp 0x40b2f3
mov dword [0x56b6f8], 0
mov eax, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret 8
Function at 0x40b344
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov dword [ebp - 8], ecx
push 0x100
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x44], eax
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov edx, dword [ebp - 8]
mov dword [edx + 0x48], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x4c], ecx
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 8]
mov dword [edx + 0x50], eax
lea ecx, [ebp - 4]
push ecx
push 0
mov edx, dword [ebp - 8]
add edx, 0x44
push edx
push 0x40b427
push 0x800
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x40], eax
push 0xf
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov esp, ebp
pop ebp
ret 4

Function at 0x40bbb3
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x108
mov dword [ebp - 0x108], ecx
mov eax, dword [ebp - 0x108]
add eax, 0xd0
push eax
push 0x104
lea ecx, [ebp - 0x104]
push ecx
push 0
push 0x54885c
push 0x548868
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x548874
lea edx, [ebp - 0x104]
push edx
call fcn.004e9170
add esp, 8
test eax, eax
je 0x40bc0b
mov eax, 1
jmp 0x40bc0d
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x40bc11
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
add eax, 0xd0
push eax
push 0
push str.AUTOSCANDEVICE
push 0x54888c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x56beec], eax
mov ecx, dword [ebp - 4]
add ecx, 0xd0
push ecx
push 0
push 0x548898
push 0x5488a0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x56ce38], eax
mov edx, dword [ebp - 4]
add edx, 0xd0
push edx
push 0
push str.MainPageOnlyUpdateCID_Identify_ShowCID
push 0x5488d0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x4f8], eax
push 0x104
push 0
push 0x672bdc
call fcn.004e8440
add esp, 0xc
mov edx, dword [ebp - 4]
add edx, 0xd0
push edx
push 0x104
push 0x672bdc
push 0
push str.ENABLELOGPATH
push 0x5488e8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp - 4]
add eax, 0x2d8
push eax
push 0
push 0x5488f0
push 0x548904
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x4fc], eax
mov edx, dword [ebp - 4]
cmp dword [edx + 0x4fc], 0
je 0x40bcf5
mov ecx, dword [ebp - 4]
call fcn.0040c669
jmp 0x40bdd7
mov dword [0x56bee8], 0x14
mov dword [0x56bee4], 0
mov dword [0x56ba1c], 0
mov dword [0x56ba20], 0
push 0xff
push 0
push 0x56bde4
call fcn.004e8440
add esp, 0xc
push 0x40
push 0
push 0x56bda4
call fcn.004e8440
add esp, 0xc
push 0x54890c
push 0x56bde4
call fcn.004e86a0
add esp, 8
push 0x56bde4
push 0x56bda4
call fcn.004e86a0
add esp, 8
push 0xff
push 0
push 0x56bb24
call fcn.004e8440
add esp, 0xc
push 0x548924
push 0x56bb24
call fcn.004e86a0
add esp, 8
push 0xff
push 0
push 0x56bc24
call fcn.004e8440
add esp, 0xc
push 0x54893c
push 0x56bc24
call fcn.004e86a0
add esp, 8
mov dword [0x56ba18], 3
mov dword [0x56ba14], 0xa
push 0x10
push 0
push 0x56ba04
call fcn.004e8440
add esp, 0xc
mov esp, ebp
pop ebp
ret
Function at 0x40c669
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
add eax, 0x2d8
push eax
push 0
push 0x5489a4
push 0x5489b4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x56bee4], eax
mov ecx, dword [ebp - 4]
add ecx, 0x2d8
push ecx
push 0x14
push 0x5489bc
push 0x5489c4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x56bee8], eax
mov edx, dword [ebp - 4]
add edx, 0x2d8
push edx
mov eax, dword [0x56bee8]
add eax, 1
push eax
push 0x56bde4
push str.AA000000000000000000
push 0x5489e4
push 0x5489f0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x56bde4
push 0x56bda4
call fcn.004e86a0
add esp, 8
mov ecx, dword [ebp - 4]
add ecx, 0x2d8
push ecx
mov edx, dword [0x56bee8]
add edx, 1
push edx
push 0x56bb24
push str.AA999999999999999999
push 0x548a10
push 0x548a1c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp - 4]
add eax, 0x2d8
push eax
mov ecx, dword [0x56bee8]
add ecx, 1
push ecx
push 0x56bc24
push 0x548a24
push 0x548a3c
push 0x548a48
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edx, dword [ebp - 4]
add edx, 0x2d8
push edx
push 0
push 0x548a50
push 0x548a5c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x56ba20], eax
mov eax, dword [ebp - 4]
add eax, 0x2d8
push eax
push 0
push 0x548a64
push 0x548a74
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x56ba1c], eax
mov ecx, dword [ebp - 4]
add ecx, 0x2d8
push ecx
push 3
push 0x548a7c
push 0x548a8c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x56ba18], eax
mov edx, dword [ebp - 4]
add edx, 0x2d8
push edx
push 0xa
push 0x548a94
push 0x548aa0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x56ba14], eax
mov eax, dword [ebp - 4]
add eax, 0x2d8
push eax
push 0x10
push 0x56ba04
push 0
push 0x548aa8
push 0x548ab4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov esp, ebp
pop ebp
ret
Function at 0x4155ea
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov dword [ebp - 0x210], ecx
push 0x208
push 0
lea eax, [ebp - 0x208]
push eax
call fcn.004e8440
add esp, 0xc
mov ecx, dword [ebp - 0x210]
add ecx, 0x86
push ecx
lea edx, [ebp - 0x208]
push edx
call fcn.004e86a0
add esp, 8
push 0x549928
lea eax, [ebp - 0x208]
push eax
call fcn.004e86b0
add esp, 8
mov ecx, dword [ebp - 0x210]
add ecx, 0xcdc
push ecx
lea edx, [ebp - 0x208]
push edx
call fcn.004e86b0
add esp, 8
push 0x549934
lea eax, [ebp - 0x208]
push eax
call fcn.004e86b0
add esp, 8
mov ecx, dword [ebp - 0x210]
add ecx, 0xad4
push ecx
lea edx, [ebp - 0x208]
push edx
call fcn.004e9290
add esp, 8
test eax, eax
jne 0x415696
mov eax, 1
jmp 0x4156fa
push 0
lea eax, [ebp - 0x208]
push eax
mov ecx, dword [ebp - 0x210]
add ecx, 0xad4
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x4156f5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x20c], eax
mov edx, 1
test edx, edx
je 0x4156d7
mov dword [ebp - 0x214], 0
jmp 0x4156f1
mov eax, dword [ebp - 0x20c]
push eax
push str._CopyLoadConfigAsFileToDefaultDir_:_errorcode___d_n
call fcn.0040b860
add esp, 8
mov dword [ebp - 0x214], eax
xor eax, eax
jmp 0x4156fa
mov eax, 1
mov esp, ebp
pop ebp
ret
Function at 0x4173ae
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
add eax, 0x69e
push eax
push 0
push 0x54a248
push 0x54a250
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp + 8]
mov byte [ecx], al
mov edx, dword [ebp - 4]
add edx, 0x69e
push edx
push 0
push 0x54a25c
push 0x54a268
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp + 8]
mov byte [ecx + 1], al
mov edx, dword [ebp - 4]
add edx, 0x69e
push edx
push 0
push 0x54a274
push 0x54a27c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp + 8]
mov byte [ecx + 2], al
mov edx, dword [ebp - 4]
add edx, 0x69e
push edx
push 0
push 0x54a288
push 0x54a290
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp + 8]
mov byte [ecx + 3], al
mov esp, ebp
pop ebp
ret 4
Function at 0x417a96
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x104
mov dword [ebp - 0x104], ecx
mov eax, dword [ebp - 0x104]
add eax, 0x69e
push eax
push 0
push 0x54a508
push 0x54a510
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x104]
add edx, 0x69e
push edx
push 0
push 0x54a518
push 0x54a528
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp + 8]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x104]
add edx, 0x69e
push edx
push 0
push 0x54a530
push 0x54a540
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x104]
add edx, 0x69e
push edx
push 0
push 0x54a548
push 0x54a554
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xc], eax
mov edx, dword [ebp - 0x104]
add edx, 0x69e
push edx
push 0
push 0x54a55c
push 0x54a568
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], eax
mov edx, dword [ebp - 0x104]
add edx, 0x69e
push edx
push 0
push 0x54a570
push 0x54a57c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], eax
push 0x100
push 0
lea edx, [ebp - 0x100]
push edx
call fcn.004e8440
add esp, 0xc
mov eax, dword [ebp - 0x104]
add eax, 0x69e
push eax
push 0x100
lea ecx, [ebp - 0x100]
push ecx
push 0
push 0x54a584
push 0x54a594
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x100]
push edx
mov ecx, dword [ebp + 8]
add ecx, 0x58
call fcn.0050cfea
mov esp, ebp
pop ebp
ret 4

Function at 0x41ab86
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
push 0x40
push 0
mov eax, dword [ebp - 0xc]
add eax, 0xe28
push eax
call fcn.004e8440
add esp, 0xc
mov ecx, dword [ebp - 0xc]
add ecx, 0x69e
push ecx
push 0x40
mov edx, dword [ebp - 0xc]
add edx, 0xe28
push edx
push 0x56bf54
push 0x54b214
push 0x54b220
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [ebp - 0xc]
call fcn.0041ac46
push 1
push 0
mov ecx, dword [ebp - 0xc]
call fcn.0041adcc
mov ecx, dword [ebp - 0xc]
call fcn.0041b7fc
mov ecx, dword [ebp - 0xc]
call fcn.0041b87d
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0xde0], 0
je 0x41ac21
push 0x82d
mov ecx, dword [ebp - 0xc]
call fcn.0050c0d4
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0xde4]
push edx
mov ecx, dword [ebp - 8]
call fcn.00406200
push 0x818
mov ecx, dword [ebp - 0xc]
call fcn.0050c0d4
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0xc]
add eax, 0xe28
push eax
mov ecx, dword [ebp - 4]
call fcn.0050c36b
mov esp, ebp
pop ebp
ret
Function at 0x41ac46
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x523a1f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x78
mov dword [ebp - 0x84], ecx
lea ecx, [ebp - 0x10]
call fcn.004046f0
mov dword [ebp - 4], 0
mov dword [ebp - 0x80], 0
mov eax, dword [ebp - 0x84]
add eax, 0x69e
push eax
push 0
push 0x54b228
push 0x54b23c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x84]
mov dword [ecx + 0xe70], eax
push 6
push 0
mov edx, dword [ebp - 0x84]
add edx, 0xe74
push edx
call fcn.004e8440
add esp, 0xc
push 0x64
push 0
lea eax, [ebp - 0x7c]
push eax
call fcn.004e8440
add esp, 0xc
mov ecx, dword [ebp - 0x84]
add ecx, 0x69e
push ecx
push 0x64
lea edx, [ebp - 0x7c]
push edx
push 0x56bf58
push 0x54b244
push 0x54b254
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
movsx eax, byte [ebp - 0x7c]
test eax, eax
jne 0x41ad14
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.0050ce61
jmp 0x41adbe
push 0x54b25c
lea ecx, [ebp - 0x7c]
push ecx
call fcn.004e947e
add esp, 8
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
push edx
push 0x54b260
lea eax, [ebp - 0x10]
push eax
call fcn.00502a32
add esp, 0xc
lea ecx, [ebp - 0x10]
call fcn.00426b20
test eax, eax
jne 0x41adaf
lea ecx, [ebp - 0x18]
push ecx
push 0x54b264
lea ecx, [ebp - 0x10]
call fcn.00404710
push eax
call fcn.004e9444
add esp, 0xc
mov edx, dword [ebp - 0x84]
add edx, dword [ebp - 0x80]
mov al, byte [ebp - 0x18]
mov byte [edx + 0xe74], al
mov ecx, dword [ebp - 0x80]
add ecx, 1
mov dword [ebp - 0x80], ecx
cmp dword [ebp - 0x80], 6
jne 0x41ad86
jmp 0x41adaf
push 0x54b268
push 0
call fcn.004e947e
add esp, 8
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
push edx
push 0x54b26c
lea eax, [ebp - 0x10]
push eax
call fcn.00502a32
add esp, 0xc
jmp 0x41ad3d
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.0050ce61
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x41f78e
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov dword [ebp - 8], ecx
push 0x15
push 0
mov eax, dword [ebp - 8]
add eax, 0x5c
push eax
call fcn.004e8440
add esp, 0xc
cmp dword [0x56ce74], 0
je 0x41f7d8
mov ecx, dword [ebp - 8]
add ecx, 0x69e
push ecx
push 0x15
mov edx, dword [ebp - 8]
add edx, 0x5c
push edx
push 0
push 0x54bc4c
push 0x54bc54
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp - 8]
movsx ecx, byte [eax + 0x5c]
test ecx, ecx
jne 0x41f808
mov edx, dword [ebp - 8]
add edx, 0x69e
push edx
push 0x15
mov eax, dword [ebp - 8]
add eax, 0x5c
push eax
push 0
push 0x54bc5c
push 0x54bc64
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x569
mov ecx, dword [ebp - 8]
call fcn.0050c0d4
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
add ecx, 0x5c
push ecx
mov ecx, dword [ebp - 4]
call fcn.0050c36b
mov esp, ebp
pop ebp
ret
Function at 0x4259de
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov dword [ebp - 0x44], ecx
mov word [ebp - 0x20], 0x64
mov word [ebp - 0x1e], 0xc8
mov word [ebp - 0x1c], 0x32
mov word [ebp - 0x1a], 0x7d
mov word [ebp - 0x18], 0x89
mov word [ebp - 0x16], 0x96
mov word [ebp - 0x14], 0xa2
mov word [ebp - 0x12], 0xaf
mov word [ebp - 0x10], 0xbb
mov word [ebp - 0xe], 0x19
mov word [ebp - 0xc], 0x25
mov word [ebp - 0xa], 0x3e
mov word [ebp - 8], 0x4b
mov word [ebp - 6], 0x51
mov word [ebp - 4], 0x57
mov word [ebp - 2], 0xc1
mov word [ebp - 0x40], 0xa0
mov word [ebp - 0x3e], 0x20
mov word [ebp - 0x3c], 0x120
mov word [ebp - 0x3a], 0xa8
mov word [ebp - 0x38], 0xac
mov word [ebp - 0x36], 0x18
mov word [ebp - 0x34], 0x1a
mov word [ebp - 0x32], 0x1c
mov word [ebp - 0x30], 0x1e
mov word [ebp - 0x2e], 0x1a0
mov word [ebp - 0x2c], 0x118
mov word [ebp - 0x2a], 0x128
mov word [ebp - 0x28], 0x98
mov word [ebp - 0x26], 0x9a
mov word [ebp - 0x24], 0x9c
mov word [ebp - 0x22], 0x1f
cmp dword [0x56c120], 0
je 0x425ad3
cmp dword [0x56c10c], 0
je 0x425ad3
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0xb59c]
mov edx, dword [ebp - 0x44]
mov ax, word [ebp + ecx*2 - 0x40]
mov word [edx + 0xb5a4], ax
jmp 0x425aeb
mov ecx, dword [ebp - 0x44]
mov edx, dword [ecx + 0xb59c]
mov eax, dword [ebp - 0x44]
mov cx, word [ebp + edx*2 - 0x20]
mov word [eax + 0xb5a4], cx
mov esp, ebp
pop ebp
ret
Function at 0x425faa
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x523b62
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x10]
call fcn.004046f0
mov dword [ebp - 4], 0
mov dword [ebp - 0x1c], 0
push 0x10
push 0
mov eax, dword [ebp - 0x2c]
add eax, 0xb249
push eax
call fcn.004e8440
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
add ecx, 0xb35d
push ecx
push 0x104
mov edx, dword [ebp - 0x2c]
add edx, 0xb259
push edx
push 0
push str.WWN16
push 0x54cab4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp - 0x2c]
movsx ecx, byte [eax + 0xb259]
test ecx, ecx
jne 0x42605e
push 0
push 0x54cab8
push str.Please_Check_the_WWN.ini_file_
mov ecx, dword [ebp - 0x2c]
call fcn.0050a80e
mov dword [ebp - 0x20], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.0050ce61
mov eax, dword [ebp - 0x20]
jmp 0x426154
push 0x54cae0
mov edx, dword [ebp - 0x2c]
add edx, 0xb259
push edx
call fcn.004e947e
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
push eax
push 0x54cae4
lea ecx, [ebp - 0x10]
push ecx
call fcn.00502a32
add esp, 0xc
lea ecx, [ebp - 0x10]
call fcn.00426b20
test eax, eax
jne 0x426106
cmp dword [ebp - 0x1c], 0x10
jae 0x4260ca
lea edx, [ebp - 0x18]
push edx
push 0x54cae8
lea ecx, [ebp - 0x10]
call fcn.00404710
push eax
call fcn.004e9444
add esp, 0xc
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x1c]
mov cl, byte [ebp - 0x18]
mov byte [eax + 0xb249], cl
jmp 0x4260cc
jmp 0x426106
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
push 0x54caec
push 0
call fcn.004e947e
add esp, 8
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x4260ef
jmp 0x426106
mov eax, dword [ebp - 0x14]
push eax
push 0x54caf0
lea ecx, [ebp - 0x10]
push ecx
call fcn.00502a32
add esp, 0xc
jmp 0x42608d
cmp dword [ebp - 0x1c], 0x10
jae 0x42613b
push 0
push 0x54caf4
push str.Cant_find_enough_16_bytes_WWN__please_check_WWN.ini_content.
mov ecx, dword [ebp - 0x2c]
call fcn.0050a80e
mov dword [ebp - 0x24], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.0050ce61
mov eax, dword [ebp - 0x24]
jmp 0x426154
mov dword [ebp - 0x28], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.0050ce61
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x426895
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], 1
mov dword [ebp - 0x1c], 0
jmp 0x4268b7
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x20
jge 0x426907
push 0x14
push 0
lea ecx, [ebp - 0x18]
push ecx
call fcn.004e8440
add esp, 0xc
mov edx, dword [ebp - 0x1c]
push edx
push 0x54cb3c
lea eax, [ebp - 0x18]
push eax
call fcn.004e894d
add esp, 0xc
mov ecx, dword [ebp - 0x24]
add ecx, 0x69e
push ecx
push 0
lea edx, [ebp - 0x18]
push edx
push 0x54cb44
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x1c]
mov byte [ecx], al
jmp 0x4268ae
mov dword [ebp - 0x1c], 0
jmp 0x426919
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 0x20
jge 0x42696e
mov dword [ebp - 0x20], 0
jmp 0x426931
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x20
jge 0x426964
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x20]
jne 0x426941
jmp 0x426928
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x1c]
xor eax, eax
mov al, byte [edx]
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x20]
xor edx, edx
mov dl, byte [ecx]
cmp eax, edx
jne 0x426962
mov dword [ebp - 4], 0
jmp 0x426964
jmp 0x426928
cmp dword [ebp - 4], 0
jne 0x42696c
jmp 0x42696e
jmp 0x426910
cmp dword [ebp - 4], 0
jne 0x426999
mov dword [ebp - 0x1c], 0
jmp 0x426986
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x20
jge 0x426999
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x1c]
mov dl, byte [ebp - 0x1c]
mov byte [ecx], dl
jmp 0x42697d
mov esp, ebp
pop ebp
ret 4
Function at 0x4343c8
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push str._SMIReadCIDTable
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x56c0d8], eax
cmp dword [0x56c0d8], 0
jne 0x434417
mov ecx, 1
test ecx, ecx
je 0x4343fd
mov dword [ebp - 4], 0
jmp 0x43440d
push str.Null_dll_SMIReadCIDTable_n
call fcn.0040b860
add esp, 4
mov dword [ebp - 4], eax
mov eax, 0x28
jmp 0x4345c9
push str._SMIReadFlashID
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x56c0d4], eax
cmp dword [0x56c0d4], 0
jne 0x434460
mov eax, 1
test eax, eax
je 0x434446
mov dword [ebp - 8], 0
jmp 0x434456
push str.Null_dll_SMIScanSMIDrive_n
call fcn.0040b860
add esp, 4
mov dword [ebp - 8], eax
mov eax, 4
jmp 0x4345c9
push str._SMIReadVndrCmd
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x56c0d0], eax
cmp dword [0x56c0d0], 0
jne 0x4344a9
mov edx, 1
test edx, edx
je 0x43448f
mov dword [ebp - 0xc], 0
jmp 0x43449f
push str.Null_dll_SMIReadVndrCmd_n
call fcn.0040b860
add esp, 4
mov dword [ebp - 0xc], eax
mov eax, 5
jmp 0x4345c9
push str._SMIWriteVndrCmd
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x56c0cc], eax
cmp dword [0x56c0cc], 0
jne 0x4344f2
mov ecx, 1
test ecx, ecx
je 0x4344d8
mov dword [ebp - 0x10], 0
jmp 0x4344e8
push str.Null_dll_SMIWriteVndrCmd_n
call fcn.0040b860
add esp, 4
mov dword [ebp - 0x10], eax
mov eax, 6
jmp 0x4345c9
push str._SMI_Read_Phy_Page
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x56c0c8], eax
cmp dword [0x56c0c8], 0
jne 0x43453b
mov eax, 1
test eax, eax
je 0x434521
mov dword [ebp - 0x14], 0
jmp 0x434531
push str.Null_dll_SMI_Read_Phy_Page_n
call fcn.0040b860
add esp, 4
mov dword [ebp - 0x14], eax
mov eax, 7
jmp 0x4345c9
push str._SMI_Program_Phy_Page
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x56c0c4], eax
cmp dword [0x56c0c4], 0
jne 0x434581
mov edx, 1
test edx, edx
je 0x43456a
mov dword [ebp - 0x18], 0
jmp 0x43457a
push str.Null_dll_SMI_Program_Phy_Page_n
call fcn.0040b860
add esp, 4
mov dword [ebp - 0x18], eax
mov eax, 8
jmp 0x4345c9
push str._SMI_Erase_Phy_block
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x56c0c0], eax
cmp dword [0x56c0c0], 0
jne 0x4345c7
mov ecx, 1
test ecx, ecx
je 0x4345b0
mov dword [ebp - 0x1c], 0
jmp 0x4345c0
push str.Null_dll_SMI_Erase_Phy_block_n
call fcn.0040b860
add esp, 4
mov dword [ebp - 0x1c], eax
mov eax, 9
jmp 0x4345c9
xor eax, eax
mov esp, ebp
pop ebp
ret