Function at 0x40d920
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48e1ed
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x278
push edi
mov dword [ebp - 0x268], ecx
push str.OnMessage_Init_:_CManager
mov eax, dword [ebp - 0x268]
mov ecx, dword [eax + 0xc0]
push ecx
call fcn.0040b4f0
add esp, 8
push 0x49569c
call fcn.00409cd0
mov ecx, eax
call fcn.0040a800
test eax, eax
je 0x40d97f
mov ecx, dword [ebp - 0x268]
call fcn.00412b20
mov edx, dword [ebp - 0x268]
cmp dword [edx + 0xc4], 0
je 0x40d9d1
mov eax, dword [ebp - 0x268]
cmp dword [eax + 0xc0], 0
je 0x40d9d1
mov ecx, dword [ebp - 0x268]
cmp dword [ecx + 0xbc], 0
je 0x40d9d1
mov edx, dword [ebp - 0x268]
cmp dword [edx + 0xac], 0
je 0x40d9d1
mov eax, dword [ebp - 0x268]
movsx ecx, byte [eax + 0xb0]
cmp ecx, 0x53
je 0x40da99
mov edx, dword [ebp - 0x268]
push edx
lea ecx, [ebp - 0x20]
call fcn.00487aa4
mov dword [ebp - 4], 0
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x268]
call fcn.00418470
lea ecx, [ebp - 0x30]
call fcn.00487629
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004046c0
push 0x2010
push 0
push 0
push 0
push 0x4956a8
push 0
call dword [sym.imp.USER32.dll_LoadImageA]
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x38]
push edx
lea ecx, [ebp - 0x30]
call fcn.004046f0
mov dword [ebp - 0x34], eax
push 0xcc0020
push 0
push 0
lea eax, [ebp - 0x30]
push eax
push 0x300
push 0x400
push 0
push 0
lea ecx, [ebp - 0x20]
call fcn.00404730
mov ecx, dword [ebp - 0x34]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004046f0
mov edx, dword [ebp - 0x38]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
lea ecx, [ebp - 0x30]
call fcn.00487a75
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.00487a8b
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.00487aff
jmp 0x40de18
lea eax, [ebp - 0x140]
push eax
mov ecx, dword [ebp - 0x268]
call fcn.0040e760
mov dword [ebp - 4], 2
push 0x4956c5
lea ecx, [ebp - 0x250]
call fcn.00409660
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x268]
mov ecx, dword [ecx + 0xc4]
call fcn.00405d40
mov dword [ebp - 0x24c], eax
mov byte [ebp - 0x13c], 0
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x13b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x4956c8
push 0x100
lea edx, [ebp - 0x13c]
push edx
push 0x4956e5
push str.COMPANY
push str.PUMP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov byte [ebp - 0x244], 0
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x243]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push str._VER
lea ecx, [ebp - 0x254]
call fcn.00409660
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x270], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x13c]
push ecx
lea ecx, [ebp - 0x258]
call fcn.00409660
mov dword [ebp - 0x274], eax
mov edx, dword [ebp - 0x274]
mov dword [ebp - 0x278], edx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x270]
push eax
mov ecx, dword [ebp - 0x278]
push ecx
lea edx, [ebp - 0x248]
push edx
call fcn.00417c70
add esp, 0xc
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x258]
call fcn.00417ed0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x254]
call fcn.00417ed0
push str.C:_sk_odtiniDevice_ODT.INI
push 0x100
lea eax, [ebp - 0x244]
push eax
push 0x49571d
lea ecx, [ebp - 0x248]
call fcn.0045e910
push eax
push 0x495720
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x495728
lea ecx, [ebp - 0x144]
call fcn.00409660
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x244]
push ecx
call fcn.00472b80
add esp, 4
test eax, eax
jbe 0x40dc2d
lea edx, [ebp - 0x244]
push edx
push 0x49572c
lea eax, [ebp - 0x144]
push eax
call fcn.00404380
add esp, 0xc
lea ecx, [ebp - 0x25c]
push ecx
mov ecx, dword [ebp - 0x268]
call fcn.00415540
mov dword [ebp - 0x27c], eax
mov edx, dword [ebp - 0x27c]
mov dword [ebp - 0x280], edx
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x144]
push eax
push str.POS.VER
call fcn.00409cd0
mov ecx, eax
call fcn.0040a780
push eax
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 0x24c]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x24c]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ecx]
push edx
push str.SK_ODT
mov eax, dword [ebp - 0x280]
mov ecx, dword [eax]
push ecx
push 0x495748
call fcn.00409cd0
mov ecx, eax
call fcn.0040a780
push eax
push str.Ver_:__s__s_______s_:__02d._02d._02d._02d_n___s_____s
lea edx, [ebp - 0x250]
push edx
call fcn.00404380
add esp, 0x2c
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x25c]
call fcn.00417ed0
push 0x495789
push str.._00
lea ecx, [ebp - 0x250]
call fcn.00417900
mov eax, dword [ebp - 0x250]
push eax
push 0x495794
mov ecx, dword [ebp - 0x268]
add ecx, 0x8e7
push ecx
call fcn.0047329d
add esp, 0xc
push 0xd8
call fcn.00417870
mov dword [ebp - 0x264], eax
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x264], 0
je 0x40dd45
mov edx, dword [ebp - 0x268]
push edx
mov ecx, dword [ebp - 0x264]
call fcn.00467ff0
mov dword [ebp - 0x284], eax
jmp 0x40dd4f
mov dword [ebp - 0x284], 0
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x260], eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
mov dword [ecx + 0xb4], edx
push 5
mov eax, dword [ebp - 0x268]
mov ecx, dword [eax + 0xb4]
call fcn.004842c2
mov ecx, dword [ebp - 0x268]
mov ecx, dword [ecx + 0xb4]
call fcn.00418430
mov edx, dword [ebp - 0x268]
mov ecx, dword [edx + 0xb4]
call fcn.0048431f
mov eax, dword [ebp - 0x268]
mov dword [eax + 0xdc], 1
mov ecx, dword [ebp - 0x268]
mov dword [ecx + 0xd0], 0x1f4
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0xcc]
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x144]
call fcn.00417ed0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x248]
call fcn.00417ed0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x250]
call fcn.00417ed0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x140]
call fcn.00417ed0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
mov esp, ebp
pop ebp
ret