joyce8/EMBER2024-capa huggingface dataset:
Function at 0x452976
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], ecx
mov dword [0x542714], 0
mov eax, dword [ebp - 4]
add eax, 0xf8
push eax
push 0
push str.ENABLECLEARSMARTFEATURE
push 0x52dc5c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x542714], eax
mov dword [0x542710], 0
mov ecx, dword [ebp - 4]
add ecx, 0xf8
push ecx
push 0
push str.ResetSmartTool
push 0x52dc78
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x542710], eax
mov edx, dword [ebp - 4]
add edx, 0xf8
push edx
push 0
push str.ENABLEQCTOOLPAGE
push 0x52dc98
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x542590], eax
mov esp, ebp
pop ebp
ret

Function at 0x4529f7
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
add eax, 0xf8
push eax
push 0
push str.ENTRANSCENDFEATURE
push 0x52dcb4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x543130], eax
mov ecx, dword [ebp - 4]
add ecx, 0xf8
push ecx
push 0
push str.ENABLEPNYMODE
push 0x52dccc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x543348], eax
mov edx, dword [ebp - 4]
add edx, 0xf8
push edx
push 0
push str.EnBarunMode
push 0x52dce0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x54270c], eax
mov eax, dword [ebp - 4]
add eax, 0xf8
push eax
push 0
push str.EnKingstonMode
push 0x52dcf8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x54258c], eax
mov ecx, dword [ebp - 4]
add ecx, 0xf8
push ecx
push 0
push str.EnBadBlkTab
push 0x52dd0c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x542708], eax
mov esp, ebp
pop ebp
ret
Function at 0x457e09
Capabilities:
Create directory
Enumerate files on windows
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fa966
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x260
mov dword [ebp - 0x26c], ecx
lea ecx, [ebp - 0x14]
call fcn.00404900
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x10]
call fcn.00404900
mov byte [ebp - 4], 1
push 0x725
mov ecx, dword [ebp - 0x26c]
call fcn.004e2094
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
call fcn.00405a70
push 0x104
push 0
lea eax, [ebp - 0x268]
push eax
call fcn.004be790
add esp, 0xc
mov ecx, dword [ebp - 0x26c]
add ecx, 0x5c
push ecx
lea edx, [ebp - 0x268]
push edx
call fcn.004be9f0
add esp, 8
push 0x52e928
lea eax, [ebp - 0x268]
push eax
call fcn.004bea00
add esp, 8
lea ecx, [ebp - 0x268]
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
test eax, eax
jne 0x457f35
push 0
lea edx, [ebp - 0x268]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x457f15
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x160], eax
cmp dword [ebp - 0x160], 0xb7
je 0x457f15
lea eax, [ebp - 0x268]
push eax
push 0x52e92c
lea ecx, [ebp - 0x10]
push ecx
call fcn.004d89f2
add esp, 0xc
push 0
push 0x52e970
lea ecx, [ebp - 0x10]
call fcn.00404920
push eax
mov ecx, dword [ebp - 0x26c]
call fcn.004e07ce
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x10]
call fcn.004e2e21
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004e2e21
jmp 0x45805e
push 0x140
push 0
lea edx, [ebp - 0x158]
push edx
call fcn.004be790
add esp, 0xc
lea eax, [ebp - 0x158]
push eax
push str...ini
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x15c], eax
cmp dword [ebp - 0x15c], 0xffffffff
jne 0x457f8c
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x10]
call fcn.004e2e21
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004e2e21
jmp 0x45805e
cmp dword [ebp - 0x15c], 0xffffffff
je 0x457ffa
lea ecx, [ebp - 0x14]
call fcn.004e2dac
lea ecx, [ebp - 0x12c]
push ecx
lea ecx, [ebp - 0x14]
call fcn.004e2faa
push 0x2e
lea ecx, [ebp - 0x14]
call fcn.004d868f
mov dword [ebp - 0x164], eax
push 0
mov edx, dword [ebp - 0x164]
push edx
lea ecx, [ebp - 0x14]
call fcn.004d8162
lea ecx, [ebp - 0x14]
call fcn.00404920
push eax
mov ecx, dword [ebp - 0x18]
call fcn.00405a40
lea eax, [ebp - 0x158]
push eax
mov ecx, dword [ebp - 0x15c]
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x457ff8
jmp 0x457ffa
jmp 0x457f8c
mov edx, dword [ebp - 0x15c]
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0x104
push 0
mov eax, dword [ebp - 0x26c]
add eax, 0x674
push eax
call fcn.004be790
add esp, 0xc
mov ecx, dword [ebp - 0x26c]
add ecx, 0x674
push ecx
push 0
mov ecx, dword [ebp - 0x18]
call fcn.00414fb0
push 0
mov ecx, dword [ebp - 0x18]
call fcn.00405a10
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x10]
call fcn.004e2e21
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004e2e21
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x459ae4
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], 0
jmp 0x459aff
mov eax, dword [ebp - 0x40]
add eax, 1
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 7
jge 0x459b51
push 0x3c
push 0
lea ecx, [ebp - 0x3c]
push ecx
call fcn.004be790
add esp, 0xc
mov edx, dword [ebp - 0x40]
add edx, 1
push edx
push str.ITEM_d
lea eax, [ebp - 0x3c]
push eax
call fcn.004bec9d
add esp, 0xc
mov ecx, dword [ebp + 8]
push ecx
push 0
lea edx, [ebp - 0x3c]
push edx
push str.QCCHECK
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov dword [edx + ecx*4 + 0x778], eax
jmp 0x459af6
push 0x58
push 0
mov eax, dword [ebp - 0x44]
add eax, 0x794
push eax
call fcn.004be790
add esp, 0xc
mov ecx, dword [ebp + 8]
push ecx
push 0x29
mov edx, dword [ebp - 0x44]
add edx, 0x794
push edx
push 0
push str.MODELNAME
push 0x52eb34
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp + 8]
push eax
push 0x15
mov ecx, dword [ebp - 0x44]
add ecx, 0x7bd
push ecx
push 0
push 0x52eb40
push 0x52eb44
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edx, dword [ebp + 8]
push edx
push 9
mov eax, dword [ebp - 0x44]
add eax, 0x7d2
push eax
push 0
push str.FWVERSION
push 0x52eb5c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [ebp + 8]
push ecx
push 0
push str.BADBLOCK
push 0x52eb74
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0x44]
mov dword [edx + 0x7e0], eax
mov eax, dword [ebp + 8]
push eax
push 0
push str.SATASPEED
push 0x52eb8c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 0x7e4], eax
mov edx, dword [ebp + 8]
push edx
push 0
push str.DISKSIZETYPE
push 0x52eba8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x44]
mov byte [ecx + 0x7db], al
mov edx, dword [ebp + 8]
push edx
push 0
push str.CAPACITY
push 0x52ebc0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 0x7dc], eax
mov edx, dword [ebp + 8]
push edx
push 0
push 0x52ebcc
push str.QCCONFIG
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 0x7e8], eax
mov esp, ebp
pop ebp
ret 4
Function at 0x468f6c
Capabilities:
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], 0
jmp 0x468f82
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 8
jge 0x468f9d
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax*4 + 0x502724]
mov dword [edx + ecx*4], eax
jmp 0x468f79
mov esp, ebp
pop ebp
ret
Function at 0x4702e0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
jmp 0x470309
mov eax, dword [ebp - 0x48]
add eax, 1
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0x40
jae 0x470417
mov ecx, dword [ebp - 0x48]
push ecx
push 0x5370b4
lea edx, [ebp - 0x44]
push edx
call fcn.004bec9d
add esp, 0xc
mov eax, dword [ebp - 0x50]
add eax, 0x8ec
push eax
push 0x40
lea ecx, [ebp - 0x40]
push ecx
push 0
lea edx, [ebp - 0x44]
push edx
push 0x5370b8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
jne 0x470356
jmp 0x470417
push str.0_255
lea eax, [ebp - 0x40]
push eax
call fcn.004bf5f0
add esp, 8
test eax, eax
jne 0x470381
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
mov dword [edx + ecx*4 + 0x1248], 0x100
jmp 0x470412
push 0x5370d0
lea eax, [ebp - 0x40]
push eax
call fcn.004bf5f0
add esp, 8
test eax, eax
jne 0x4703a9
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
mov dword [edx + ecx*4 + 0x1248], 0x101
jmp 0x470412
push 0x5370dc
lea eax, [ebp - 0x40]
push eax
call fcn.004bf5f0
add esp, 8
test eax, eax
jne 0x4703d1
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
mov dword [edx + ecx*4 + 0x1248], 0x102
jmp 0x470412
push 0x5370e8
lea eax, [ebp - 0x40]
push eax
call fcn.004bf5f0
add esp, 8
test eax, eax
jne 0x4703f9
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
mov dword [edx + ecx*4 + 0x1248], 0x103
jmp 0x470412
lea eax, [ebp - 0x40]
push eax
call fcn.004a5d6d
add esp, 4
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
mov dword [edx + ecx*4 + 0x1248], eax
jmp 0x470300
mov esp, ebp
pop ebp
ret
Function at 0x49bed7
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x110
mov dword [ebp - 0x110], ecx
mov eax, dword [ebp - 0x110]
add eax, 0x4dc
push eax
push 0
push str.ENABLEAUTOTEST
push 0x53d644
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x110]
mov dword [ecx + 0xcfc], eax
cmp dword [0x543374], 0
jne 0x49bf34
cmp dword [0x543370], 0
jne 0x49bf34
cmp dword [0x54303c], 0
jne 0x49bf34
cmp dword [0x543088], 0
je 0x49bf5d
mov edx, dword [ebp - 0x110]
mov dword [edx + 0xcfc], 0
push 0
push 0x54f
mov ecx, dword [ebp - 0x110]
call fcn.004e2094
mov ecx, eax
call fcn.004e24b2
mov eax, dword [ebp - 0x110]
mov ecx, dword [eax + 0xcfc]
push ecx
push 0x54f
mov ecx, dword [ebp - 0x110]
call fcn.004e2094
mov ecx, eax
call fcn.00404d60
mov ecx, dword [ebp - 0x110]
call fcn.0049b9b8
mov dword [ebp - 0x108], 1
jmp 0x49bfa7
mov edx, dword [ebp - 0x108]
add edx, 1
mov dword [ebp - 0x108], edx
cmp dword [ebp - 0x108], 0x11
jge 0x49c035
push 0x104
push 0
lea eax, [ebp - 0x104]
push eax
call fcn.004be790
add esp, 0xc
mov ecx, dword [ebp - 0x108]
push ecx
push str.InitialPort_d
lea edx, [ebp - 0x104]
push edx
call fcn.004bec9d
add esp, 0xc
mov eax, dword [ebp - 0x110]
add eax, 0x4dc
push eax
push 1
lea ecx, [ebp - 0x104]
push ecx
push 0x53d65c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x10c], eax
mov edx, dword [ebp - 0x10c]
push edx
mov eax, dword [ebp - 0x108]
add eax, 0x608
push eax
mov ecx, dword [ebp - 0x110]
call fcn.004e2094
mov ecx, eax
call fcn.00404d60
jmp 0x49bf98
mov ecx, dword [ebp - 0x110]
add ecx, 0x4dc
push ecx
push 0x14
push str.MinProgSpeed
push 0x53d674
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0x110]
mov dword [edx + 0x231c], eax
push 0x104
push 0
lea eax, [ebp - 0x104]
push eax
call fcn.004be790
add esp, 0xc
mov ecx, dword [ebp - 0x110]
mov edx, dword [ecx + 0x231c]
push edx
push 0x53d67c
lea eax, [ebp - 0x104]
push eax
call fcn.004bec9d
add esp, 0xc
lea ecx, [ebp - 0x104]
push ecx
push 0x898
mov ecx, dword [ebp - 0x110]
call fcn.004e21bd
cmp dword [0x543004], 0
je 0x49c0e2
mov edx, dword [ebp - 0x110]
add edx, 0x4dc
push edx
push 0
push 0x53d680
push 0x53d694
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x110]
mov dword [ecx + 0x2328], eax
mov edx, dword [ebp - 0x110]
mov eax, dword [edx + 0x2328]
push eax
push 0x418
mov ecx, dword [ebp - 0x110]
call fcn.004e2094
mov ecx, eax
call fcn.00404d60
mov ecx, dword [ebp - 0x110]
call fcn.004a5473
mov esp, ebp
pop ebp
ret
Function at 0x49c135
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x51c
mov dword [ebp - 0x51c], ecx
push 0x104
push 0
lea eax, [ebp - 0x208]
push eax
call fcn.004be790
add esp, 0xc
mov ecx, dword [ebp - 0x51c]
add ecx, 0x2d4
push ecx
lea edx, [ebp - 0x208]
push edx
call fcn.004be9f0
add esp, 8
push 0x104
push 0
lea eax, [ebp - 0x518]
push eax
call fcn.004be790
add esp, 0xc
mov ecx, dword [ebp + 0xc]
push ecx
push str.Config_s.ini
lea edx, [ebp - 0x518]
push edx
call fcn.004bec9d
add esp, 0xc
lea eax, [ebp - 0x518]
push eax
lea ecx, [ebp - 0x208]
push ecx
call fcn.004bea00
add esp, 8
lea edx, [ebp - 0x208]
push edx
push 0
push str.BYPASSCHECKB16A
push 0x53d6bc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x51c]
mov dword [ecx + 0x1028], eax
cmp dword [0x54303c], 0
je 0x49c203
mov edx, dword [ebp - 0x51c]
mov eax, dword [edx + 0x2ed0]
xor edx, edx
mov ecx, 2
div ecx
test edx, edx
jne 0x49c203
jmp 0x49c24d
lea edx, [ebp - 0x208]
push edx
push 1
push str.DOWNLOADISP
push 0x53d6d0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x51c]
mov dword [ecx + 0x1160], eax
lea edx, [ebp - 0x208]
push edx
push 0
push 0x53d6d8
push 0x53d6e0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x51c]
mov dword [ecx + 0x1164], eax
push 0x104
push 0
lea edx, [ebp - 0x30c]
push edx
call fcn.004be790
add esp, 0xc
lea eax, [ebp - 0x208]
push eax
push 0x104
lea ecx, [ebp - 0x30c]
push ecx
push 0
push str.FLASHNAME
push 0x53d6f4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x104
push 0
lea edx, [ebp - 0x414]
push edx
call fcn.004be790
add esp, 0xc
lea eax, [ebp - 0x208]
push eax
push 0
push str.RDTTEST
push 0x53d704
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x310], eax
cmp dword [ebp - 0x310], 0
je 0x49c2dc
push str.ISP2258RDT.bin
lea ecx, [ebp - 0x414]
push ecx
call fcn.004be9f0
add esp, 8
jmp 0x49c2f0
push 0x53d71c
lea edx, [ebp - 0x414]
push edx
call fcn.004be9f0
add esp, 8
lea eax, [ebp - 0x30c]
push eax
push str.________________________Current_Parameter_setting__r_nFlash:____s_r_n
mov ecx, dword [ebp + 8]
push ecx
call fcn.004bec9d
add esp, 0xc
push 0x104
push 0
lea edx, [ebp - 0x104]
push edx
call fcn.004be790
add esp, 0xc
lea eax, [ebp - 0x414]
push eax
push str.Firmware:____s_n
lea ecx, [ebp - 0x104]
push ecx
call fcn.004bec9d
add esp, 0xc
lea edx, [ebp - 0x104]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004bea00
add esp, 8
mov esp, ebp
pop ebp
ret 8
Function at 0x49ce36
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x108
mov dword [ebp - 0x108], ecx
push 0x208
push 0
mov eax, dword [ebp - 0x108]
add eax, 0x174c
push eax
call fcn.004be790
add esp, 0xc
mov ecx, dword [ebp - 0x108]
add ecx, 0x6e4
push ecx
push 0x208
mov edx, dword [ebp - 0x108]
add edx, 0x174c
push edx
push 0
push str.MESLOGDIR
push 0x53d92c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp - 0x108]
movsx ecx, byte [eax + 0x174c]
test ecx, ecx
jne 0x49cedd
mov edx, dword [ebp - 0x108]
add edx, 0x2d4
push edx
mov eax, dword [ebp - 0x108]
add eax, 0x174c
push eax
call fcn.004be9f0
add esp, 8
push str.Log_file
mov ecx, dword [ebp - 0x108]
add ecx, 0x174c
push ecx
call fcn.004bea00
add esp, 8
push 0x104
push 0
lea edx, [ebp - 0x104]
push edx
call fcn.004be790
add esp, 0xc
mov eax, dword [ebp - 0x108]
xor ecx, ecx
mov cx, word [eax + 0x230c]
push ecx
mov edx, dword [ebp - 0x108]
xor eax, eax
mov ax, word [edx + 0x2308]
push eax
mov ecx, dword [ebp - 0x108]
xor edx, edx
mov dx, word [ecx + 0x2306]
push edx
push str._04d_02d_02d_000.txt
lea eax, [ebp - 0x104]
push eax
call fcn.004bec9d
add esp, 0x14
push 0x53d954
mov ecx, dword [ebp - 0x108]
add ecx, 0x174c
push ecx
call fcn.004bea00
add esp, 8
lea edx, [ebp - 0x104]
push edx
mov eax, dword [ebp - 0x108]
add eax, 0x174c
push eax
call fcn.004bea00
add esp, 8
mov ecx, dword [ebp - 0x108]
mov dword [ecx + 0x1748], 0
mov esp, ebp
pop ebp
ret
Function at 0x49f155
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc18
mov dword [ebp - 0xc14], ecx
mov eax, 1
test eax, eax
je 0x49f179
mov dword [ebp - 0xc18], 0
jmp 0x49f18c
push str._TCPIP_:_Report_BadCnt_Result_n
call fcn.00412500
add esp, 4
mov dword [ebp - 0xc18], eax
mov dword [ebp - 0x810], 1
jmp 0x49f1a7
mov ecx, dword [ebp - 0x810]
add ecx, 1
mov dword [ebp - 0x810], ecx
mov edx, dword [ebp - 0xc14]
xor eax, eax
mov al, byte [edx + 0x16e4]
add eax, 1
cmp dword [ebp - 0x810], eax
jge 0x49f349
push 0x800
push 0
lea ecx, [ebp - 0x80c]
push ecx
call fcn.004be790
add esp, 0xc
push str._TEST_ACK
lea edx, [ebp - 0x80c]
push edx
call fcn.004be9f0
add esp, 8
push 0xa
push 0
lea eax, [ebp - 0xc]
push eax
call fcn.004be790
add esp, 0xc
mov ecx, dword [ebp - 0xc14]
mov edx, dword [ecx + 0x16e0]
push edx
push 0x53dfe4
lea eax, [ebp - 0xc]
push eax
call fcn.004bec9d
add esp, 0xc
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 0x80c]
push edx
call fcn.004bea00
add esp, 8
push 0xa
push 0
lea eax, [ebp - 0xc]
push eax
call fcn.004be790
add esp, 0xc
mov ecx, dword [ebp - 0x810]
push ecx
push str.__02d
lea edx, [ebp - 0xc]
push edx
call fcn.004bec9d
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 0x80c]
push ecx
call fcn.004bea00
add esp, 8
mov edx, dword [ebp - 0x810]
mov eax, dword [ebp - 0xc14]
cmp dword [eax + edx*4 + 0x16f8], 0
je 0x49f296
push str._FFFF
lea ecx, [ebp - 0x80c]
push ecx
call fcn.004bea00
add esp, 8
jmp 0x49f2db
push 0x400
push 0
lea edx, [ebp - 0xc10]
push edx
call fcn.004be790
add esp, 0xc
lea eax, [ebp - 0xc10]
push eax
mov ecx, dword [ebp - 0x810]
push ecx
mov ecx, dword [ebp - 0xc14]
call fcn.0049f36a
lea edx, [ebp - 0xc10]
push edx
lea eax, [ebp - 0x80c]
push eax
call fcn.004bea00
add esp, 8
push 0x53dffc
lea ecx, [ebp - 0x80c]
push ecx
call fcn.004bea00
add esp, 8
lea edx, [ebp - 0x80c]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0
lea eax, [ebp - 0x80c]
push eax
call fcn.004bf680
add esp, 4
push eax
lea ecx, [ebp - 0x80c]
push ecx
mov ecx, dword [ebp - 0xc14]
add ecx, 0x1498
mov edx, dword [ebp - 0xc14]
mov eax, dword [edx + 0x1498]
call dword [eax + 0x18]
push 1
lea ecx, [ebp - 0x80c]
push ecx
mov ecx, dword [ebp - 0xc14]
call fcn.0049e9bd
jmp 0x49f198
mov edx, dword [ebp - 0xc14]
mov dword [edx + 0x173c], 0
mov eax, dword [ebp - 0xc14]
mov byte [eax + 0x16e4], 0
mov esp, ebp
pop ebp
ret
Function at 0x4a3b28
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
mov dword [ebp - 0x20c], ecx
cmp dword [0x54259c], 0
je 0x4a3bc8
push 0x104
push 0
lea eax, [ebp - 0x104]
push eax
call fcn.004be790
add esp, 0xc
push 0x104
push 0
lea ecx, [ebp - 0x208]
push ecx
call fcn.004be790
add esp, 0xc
push str.C:SMI_Port_InfoBypassVol.map
lea edx, [ebp - 0x104]
push edx
call fcn.004be9f0
add esp, 8
lea eax, [ebp - 0x104]
push eax
push 0x104
lea ecx, [ebp - 0x208]
push ecx
push 0x5438c8
push 0x53eac0
push 0x53eac4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0
push 5
lea edx, [ebp - 0x208]
push edx
mov ecx, dword [ebp - 0x20c]
add ecx, 0xd4
call fcn.004a5900
mov esp, ebp
pop ebp
ret

Function at 0x4a51f9
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov dword [ebp - 0x28], ecx
push 0x208
push 0
mov eax, dword [ebp - 0x28]
add eax, 0x253c
push eax
call fcn.004be790
add esp, 0xc
mov ecx, dword [ebp - 0x28]
add ecx, 0x2d4
push ecx
mov edx, dword [ebp - 0x28]
add edx, 0x253c
push edx
call fcn.004be9f0
add esp, 8
push str.Layout.set
mov eax, dword [ebp - 0x28]
add eax, 0x253c
push eax
call fcn.004bea00
add esp, 8
push 0x22
push 0
mov ecx, dword [ebp - 0x28]
add ecx, 0x2744
push ecx
call fcn.004be790
add esp, 0xc
mov edx, dword [ebp - 0x28]
add edx, 0x253c
push edx
push 0
push str.PackageNo
push 0x53ecb0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x28]
mov byte [ecx + 0x2745], al
mov edx, dword [ebp - 0x28]
add edx, 0x253c
push edx
push 2
push str.CeNoByPackage
push 0x53ecc8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x28]
mov byte [ecx + 0x2744], al
mov dword [ebp - 0x20], 0
jmp 0x4a52be
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x20], 0x10
jge 0x4a5369
mov dword [ebp - 0x24], 0
jmp 0x4a52da
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 2
jge 0x4a5364
push 0xa
push 0
lea ecx, [ebp - 0xc]
push ecx
call fcn.004be790
add esp, 0xc
mov edx, dword [ebp - 0x24]
push edx
mov eax, dword [ebp - 0x20]
add eax, 1
push eax
push str.F_d__d
lea ecx, [ebp - 0xc]
push ecx
call fcn.004bec9d
add esp, 0x10
mov edx, dword [ebp - 0x28]
add edx, 0x253c
push edx
push 0xa
lea eax, [ebp - 0x18]
push eax
push 0
lea ecx, [ebp - 0xc]
push ecx
push str.LAYOUT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
movsx edx, byte [ebp - 0x18]
test edx, edx
je 0x4a535f
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x18]
push ecx
call fcn.004a5bf9
add esp, 8
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
lea ecx, [eax + edx*2]
mov edx, dword [ebp - 0x28]
mov al, byte [ebp - 0x1c]
mov byte [edx + ecx + 0x2746], al
jmp 0x4a52d1
jmp 0x4a52b5
mov ecx, dword [ebp - 0x28]
call fcn.004a5375
mov esp, ebp
pop ebp
ret
Function at 0x4a795d
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x220
mov dword [ebp - 0x220], 0
cmp dword [ebp + 8], 0xffffffff
jne 0x4a7988
push str._Send_Genesys_ScanDevice_:_CreateHandle_failed
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
jmp 0x4a7a74
push 0x200
push 0
lea eax, [ebp - 0x200]
push eax
call fcn.004be790
add esp, 0xc
push 0x10
push 0
lea ecx, [ebp - 0x210]
push ecx
call fcn.004be790
add esp, 0xc
mov byte [ebp - 0x210], 0xf8
mov byte [ebp - 0x20f], 0xff
mov byte [ebp - 0x205], 1
mov edx, dword [ebp + 8]
push edx
push 0x1e
lea eax, [ebp - 0x200]
push eax
push 0x200
push 0x10
lea ecx, [ebp - 0x210]
push ecx
lea edx, [ebp - 0x21c]
push edx
call fcn.004af603
add esp, 0x1c
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
je 0x4a7a72
mov eax, dword [ebp - 0x180]
and eax, 0xff
cmp eax, 0x53
jne 0x4a7a72
mov ecx, dword [ebp - 0x17f]
and ecx, 0xff
cmp ecx, 0x4d
jne 0x4a7a72
mov edx, dword [ebp - 0x17e]
and edx, 0xff
cmp edx, 0x49
jne 0x4a7a72
cmp dword [ebp + 0x10], 0x200
ja 0x4a7a53
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x200]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.004bee30
add esp, 0xc
jmp 0x4a7a6b
push 0x200
lea eax, [ebp - 0x200]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.004bee30
add esp, 0xc
mov eax, 1
jmp 0x4a7a74
xor eax, eax
mov esp, ebp
pop ebp
ret