Function at 0x1001d68c
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x234
push edi
mov dword [ebp - 0x234], ecx
mov byte [ebp - 0x104], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x103]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x228], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x227]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x104
lea eax, [ebp - 0x228]
push eax
mov ecx, dword [0x10046fc0]
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x1001d6f0
jmp 0x1001dac6
push 0x5c
lea edx, [ebp - 0x228]
push edx
call fcn.1001de70
add esp, 8
mov dword [ebp - 0x230], eax
cmp dword [ebp - 0x230], 0
je 0x1001d719
mov eax, dword [ebp - 0x230]
mov byte [eax], 0
lea ecx, [ebp - 0x228]
push ecx
lea edx, [ebp - 0x104]
push edx
call fcn.10029920
add esp, 8
push 0x10041b0c
lea eax, [ebp - 0x104]
push eax
call fcn.10029930
add esp, 8
lea ecx, [ebp - 0x104]
push ecx
push 0
push str.Level
push 0x10041b28
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0x234]
mov dword [edx + 4], eax
lea eax, [ebp - 0x104]
push eax
push 0
push str.Connect
push 0x10041b34
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x234]
mov dword [ecx + 0x10e0c], eax
lea edx, [ebp - 0x104]
push edx
push 0x8f3b
push str.Port
push 0x10041b4c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x234]
mov dword [ecx + 0x10e14], eax
mov byte [ebp - 0x124], 0
xor edx, edx
mov dword [ebp - 0x123], edx
mov dword [ebp - 0x11f], edx
mov dword [ebp - 0x11b], edx
mov dword [ebp - 0x117], edx
mov word [ebp - 0x113], dx
mov byte [ebp - 0x111], dl
lea eax, [ebp - 0x104]
push eax
push 0x14
lea ecx, [ebp - 0x124]
push ecx
push str.127.0.0.1
push 0x10041b68
push str.Channel_Server
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x124]
push edx
call sub.WS2_32.dll_inet_addr
push eax
call sub.WS2_32.dll_ntohl
mov ecx, dword [ebp - 0x234]
mov dword [ecx + 0x10e10], eax
mov byte [ebp - 0x110], 0
xor edx, edx
mov dword [ebp - 0x10f], edx
mov dword [ebp - 0x10b], edx
mov byte [ebp - 0x107], dl
lea eax, [ebp - 0x104]
push eax
push 0xa
lea ecx, [ebp - 0x110]
push ecx
push 0x10041b7c
push str.Default_Magic_Number
push str.Product_Info
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push str.SP09
lea edx, [ebp - 0x110]
push edx
call fcn.1001de90
add esp, 8
test eax, eax
jne 0x1001d88d
mov eax, dword [ebp - 0x234]
mov dword [eax + 0xbb0], 0x53503039
jmp 0x1001d89d
mov ecx, dword [ebp - 0x234]
mov dword [ecx + 0xbb0], 0x53503035
lea edx, [ebp - 0x104]
push edx
push 0x2710
push str.TimeOut
push 0x10041bbc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x234]
mov dword [ecx + 0x10bb4], eax
lea edx, [ebp - 0x104]
push edx
push 0xa
push str.EnterModeTimeOut
push 0x10041bdc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x234]
mov dword [ecx + 0x10ce0], eax
lea edx, [ebp - 0x104]
push edx
push 0
push str.Force_Set_Endian_Mode
push 0x10041c00
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 0
jne 0x1001d92e
mov eax, dword [ebp - 0x234]
mov byte [eax + 0x10cd4], 0
mov ecx, dword [ebp - 0x234]
mov byte [ecx + 0xb9d], 2
jmp 0x1001d976
cmp dword [ebp - 0x22c], 1
jne 0x1001d953
mov edx, dword [ebp - 0x234]
mov byte [edx + 0x10cd4], 1
mov eax, dword [ebp - 0x234]
mov byte [eax + 0xb9d], 1
jmp 0x1001d976
cmp dword [ebp - 0x22c], 2
jne 0x1001d976
mov ecx, dword [ebp - 0x234]
mov byte [ecx + 0x10cd4], 1
mov edx, dword [ebp - 0x234]
mov byte [edx + 0xb9d], 0
lea eax, [ebp - 0x104]
push eax
push 1
push str.Compare_USB_port
push 0x10041c20
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
cmp eax, 1
sete cl
mov edx, dword [ebp - 0x234]
mov byte [edx + 0x10cd5], cl
lea eax, [ebp - 0x104]
push eax
push 0
push str.SaveFileonWrite
push 0x10041c3c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x234]
mov dword [ecx + 0x10ce8], eax
lea edx, [ebp - 0x104]
push edx
push 0
push str.SaveFileonRead
push 0x10041c58
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x234]
mov dword [ecx + 0x10cec], eax
lea edx, [ebp - 0x104]
push edx
push 0x14
push str.SnLen
push 0x10041c6c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x234]
mov dword [ecx + 0x10ce4], eax
lea edx, [ebp - 0x104]
push edx
push 0x104
mov eax, dword [ebp - 0x234]
add eax, 0x10cf0
push eax
push 0x10046f94
push str.CalNVDirectry
push str.CalNVFile
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x10046f98
mov ecx, dword [ebp - 0x234]
add ecx, 0x10cf0
push ecx
call fcn.1001de90
add esp, 8
test eax, eax
jne 0x1001da90
lea edx, [ebp - 0x228]
push edx
mov eax, dword [ebp - 0x234]
add eax, 0x10cf0
push eax
call fcn.10029920
add esp, 8
push str.CalNV
mov ecx, dword [ebp - 0x234]
add ecx, 0x10cf0
push ecx
call fcn.10029930
add esp, 8
mov edx, dword [ebp - 0x234]
cmp dword [edx + 0x10ce8], 0
jne 0x1001daae
mov eax, dword [ebp - 0x234]
cmp dword [eax + 0x10cec], 0
je 0x1001dac6
mov ecx, dword [ebp - 0x234]
add ecx, 0x10cf0
push ecx
mov ecx, dword [ebp - 0x234]
call fcn.1001dd08
pop edi
mov esp, ebp
pop ebp
ret