Function at 0x4bbbc5
Capabilities:
Get hostname
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c4
mov dword [ebp - 0x3ac], ecx
mov eax, dword [ebp - 0x3ac]
cmp dword [eax + 0x14e4], 0
je 0x4bbc1f
mov ecx, dword [ebp - 0x3ac]
cmp dword [ecx + 0x14e8], 0
je 0x4bbc1f
mov edx, dword [ebp - 0x3ac]
cmp dword [edx + 0x14ec], 0
je 0x4bbc1f
mov eax, dword [ebp - 0x3ac]
cmp dword [eax + 0x14f0], 0
je 0x4bbc1f
mov ecx, dword [ebp - 0x3ac]
cmp dword [ecx + 0x14f4], 0
jne 0x4bbc26
xor eax, eax
jmp 0x4bc1ae
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 8], 0x200
push 0x6785ac
push 0
push 0x5c5e20
push 0x5c5e2c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x1a8], eax
push 0x6785ac
push 0
push 0x5c5e38
push 0x5c5e44
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0xa0], eax
push 0x6785ac
push 0
push 0x5c5e50
push 0x5c5e5c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 4], eax
push 0
lea edx, [ebp - 0x6c]
push edx
mov eax, dword [ebp - 0xa0]
push eax
mov ecx, dword [ebp - 0x1a8]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.0052ac6c
add esp, 0x14
lea eax, [ebp - 0x6c]
push eax
push str._Flash_t:__s_r_n
lea ecx, [ebp - 0x3a8]
push ecx
call fcn.0054c6e3
add esp, 0xc
push str.WorkOrder
lea edx, [ebp - 0x9c]
push edx
call fcn.0054c6e3
add esp, 8
push 0x6785ac
push 0x20
lea eax, [ebp - 0x28]
push eax
push 0x67fd78
lea ecx, [ebp - 0x9c]
push ecx
push 0x5c5e84
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x28]
push edx
push str._W_O_t:__s_r_n
lea eax, [ebp - 0x6c]
push eax
call fcn.0054c6e3
add esp, 0xc
lea ecx, [ebp - 0x6c]
push ecx
lea edx, [ebp - 0x3a8]
push edx
call fcn.0054bea0
add esp, 8
push str.PartNumber
lea eax, [ebp - 0x9c]
push eax
call fcn.0054c6e3
add esp, 8
push 0x6785ac
push 0x20
lea ecx, [ebp - 0x28]
push ecx
push 0x67fd7c
lea edx, [ebp - 0x9c]
push edx
push 0x5c5ea8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x28]
push eax
push str._PN_t:__s_r_n
lea ecx, [ebp - 0x6c]
push ecx
call fcn.0054c6e3
add esp, 0xc
lea edx, [ebp - 0x6c]
push edx
lea eax, [ebp - 0x3a8]
push eax
call fcn.0054bea0
add esp, 8
push 0x6785ac
push 0
push str.PRELOAD
push str.TESTITEM
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
je 0x4bbdbd
mov dword [ebp - 0x3b0], 0x5c5ed4
jmp 0x4bbdc7
mov dword [ebp - 0x3b0], 0x5c5ed8
mov ecx, dword [ebp - 0x3b0]
push ecx
push str._Preload_t:__s_r_n
lea edx, [ebp - 0x6c]
push edx
call fcn.0054c6e3
add esp, 0xc
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x3a8]
push ecx
call fcn.0054bea0
add esp, 8
lea edx, [ebp - 0x3a8]
push edx
mov eax, dword [ebp - 0x3ac]
mov ecx, dword [eax + 0x14e8]
call fcn.0056567d
push 0x67fd80
lea ecx, [ebp - 0x3a8]
push ecx
call fcn.0054be90
add esp, 8
push 0x5c5eec
lea edx, [ebp - 0x9c]
push edx
call fcn.0054c6e3
add esp, 8
push 0x6785ac
push 0
lea eax, [ebp - 0x9c]
push eax
push 0x5c5f00
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
jne 0x4bbe63
mov dword [ebp - 0x3b4], 0x5c5f0c
jmp 0x4bbee5
cmp dword [ebp - 0x7c], 1
jne 0x4bbe75
mov dword [ebp - 0x3b8], 0x5c5f10
jmp 0x4bbed9
cmp dword [ebp - 0x7c], 2
jne 0x4bbe87
mov dword [ebp - 0x3bc], 0x5c5f14
jmp 0x4bbecd
cmp dword [ebp - 0x7c], 3
jne 0x4bbe99
mov dword [ebp - 0x3c0], 0x5c5f18
jmp 0x4bbec1
cmp dword [ebp - 0x7c], 4
jne 0x4bbeab
mov dword [ebp - 0x3c4], str.Downgrade_RMA
jmp 0x4bbeb5
mov dword [ebp - 0x3c4], str.Un_Know
mov ecx, dword [ebp - 0x3c4]
mov dword [ebp - 0x3c0], ecx
mov edx, dword [ebp - 0x3c0]
mov dword [ebp - 0x3bc], edx
mov eax, dword [ebp - 0x3bc]
mov dword [ebp - 0x3b8], eax
mov ecx, dword [ebp - 0x3b8]
mov dword [ebp - 0x3b4], ecx
mov edx, dword [ebp - 0x3b4]
push edx
push str._Flash_Attr._t:__s_r_n
lea eax, [ebp - 0x6c]
push eax
call fcn.0054c6e3
add esp, 0xc
lea ecx, [ebp - 0x6c]
push ecx
lea edx, [ebp - 0x3a8]
push edx
call fcn.0054bea0
add esp, 8
push str.INQUIRYSTRING
lea eax, [ebp - 0x9c]
push eax
call fcn.0054c6e3
add esp, 8
push 0x6785ac
push 0x20
lea ecx, [ebp - 0x28]
push ecx
push str.JetFlash
lea edx, [ebp - 0x9c]
push edx
push 0x5c5f6c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x28]
push eax
push str._SCSI_MS_t:__s_r_n
lea ecx, [ebp - 0x6c]
push ecx
call fcn.0054c6e3
add esp, 0xc
lea edx, [ebp - 0x6c]
push edx
lea eax, [ebp - 0x3a8]
push eax
call fcn.0054bea0
add esp, 8
push str.INQUIRYVENDOR
lea ecx, [ebp - 0x9c]
push ecx
call fcn.0054c6e3
add esp, 8
push 0x6785ac
push 0x20
lea edx, [ebp - 0x28]
push edx
push str.Mass_Storage_Device
lea eax, [ebp - 0x9c]
push eax
push 0x5c5fa8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x28]
push ecx
push str._SCSI_Vendor_t:__s_r_n
lea edx, [ebp - 0x6c]
push edx
call fcn.0054c6e3
add esp, 0xc
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x3a8]
push ecx
call fcn.0054bea0
add esp, 8
push str.TSIdNo
lea edx, [ebp - 0x9c]
push edx
call fcn.0054c6e3
add esp, 8
push 0x6785ac
push 6
lea eax, [ebp - 0x28]
push eax
push 0x67fd84
lea ecx, [ebp - 0x9c]
push ecx
push 0x5c5fcc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x28]
push edx
push str._TSId_t_t:__s_r_n
lea eax, [ebp - 0x6c]
push eax
call fcn.0054c6e3
add esp, 0xc
lea ecx, [ebp - 0x6c]
push ecx
lea edx, [ebp - 0x3a8]
push edx
call fcn.0054bea0
add esp, 8
lea eax, [ebp - 0x3a8]
push eax
mov ecx, dword [ebp - 0x3ac]
mov ecx, dword [ecx + 0x14ec]
call fcn.0056567d
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 0x3a8]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
lea ecx, [ebp - 0x3a8]
push ecx
mov edx, dword [ebp - 0x3ac]
mov ecx, dword [edx + 0x14f0]
call fcn.0056567d
lea eax, [ebp - 0x1a4]
push eax
call fcn.00529440
add esp, 4
push str.Update.ini
lea ecx, [ebp - 0x1a4]
push ecx
call fcn.0054bea0
add esp, 8
lea edx, [ebp - 0x1a4]
push edx
push 0x20
lea eax, [ebp - 0x28]
push eax
push 0x67fd88
push str.PackageVersion
push str.Update
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x28]
push ecx
push 0x67af44
call fcn.0054be90
add esp, 8
lea edx, [ebp - 0x28]
push edx
push str.MP_Ver.__s
lea eax, [ebp - 0x3a8]
push eax
call fcn.0054c6e3
add esp, 0xc
lea ecx, [ebp - 0x78]
push ecx
lea edx, [ebp - 0x74]
push edx
lea eax, [ebp - 0x70]
push eax
push str.V_d._d._d
lea ecx, [ebp - 0x28]
push ecx
call fcn.0054d536
add esp, 0x14
mov dl, byte [ebp - 0x70]
mov byte [0x5c657c], dl
mov al, byte [ebp - 0x74]
mov byte [0x5c657d], al
mov cl, byte [ebp - 0x78]
mov byte [0x5c657e], cl
xor edx, edx
mov dl, byte [0x5c657e]
push edx
xor eax, eax
mov al, byte [0x5c657d]
push eax
xor ecx, ecx
mov cl, byte [0x5c657c]
push ecx
push str.MP_Ver._V_d._d._d
lea edx, [ebp - 0x3a8]
push edx
call fcn.0054c6e3
add esp, 0x14
lea eax, [ebp - 0x3a8]
push eax
mov ecx, dword [ebp - 0x3ac]
mov ecx, dword [ecx + 0x14f4]
call fcn.0056567d
push 0x200
lea edx, [ebp - 0x3a8]
push edx
mov ecx, dword [ebp - 0x3ac]
call fcn.005656a4
push str.Tool
lea eax, [ebp - 0x3a8]
push eax
call fcn.0054cb20
add esp, 8
lea ecx, [ebp - 0x3a8]
sub eax, ecx
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x2c]
mov byte [ebp + edx - 0x3a3], 0
lea eax, [ebp - 0x3a8]
push eax
mov ecx, dword [ebp - 0x3ac]
call fcn.0056567d
mov eax, 1
mov esp, ebp
pop ebp
ret