Function at 0x42e52c
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x314
mov byte [ebp - 8], 0
mov byte [ebp - 0x40], 0
mov byte [0x4e4d44], 0
mov dword [0x4e4d48], 0
push 0x2c
lea eax, [ebp - 0x300]
push eax
call fcn.004241bd
add esp, 8
push str.Tc_No7.ini
lea ecx, [ebp - 0x300]
push ecx
call fcn.0043eee0
add esp, 8
push 0x2c
lea edx, [ebp - 0x38]
push edx
call fcn.004241bd
add esp, 8
push str.TCE1_32.ini
lea eax, [ebp - 0x38]
push eax
call fcn.0043eee0
add esp, 8
mov byte [ebp - 0x250], 0
lea ecx, [ebp - 0x300]
push ecx
push 0
push 0x2e
push 3
push 0x4e3848
push 0x48e6dc
push 0x48e6e0
call fcn.0042f505
push 0x4e3848
call fcn.0042e508
add esp, 4
xor edx, edx
mov dl, byte [0x4e3848]
test edx, edx
jne 0x42e5ea
xor eax, eax
mov al, byte [0x4e3849]
test eax, eax
jne 0x42e5ea
xor ecx, ecx
mov cl, byte [0x4e384a]
test ecx, ecx
je 0x42e5f1
mov byte [ebp - 0x250], 1
mov byte [ebp - 0x3c], 0
lea edx, [ebp - 0x300]
push edx
push 0
push 0x2e
push 3
push 0x4e384b
push 0x48e6ec
push 0x48e6f0
call fcn.0042f505
push 0x4e384b
call fcn.0042e508
add esp, 4
xor eax, eax
mov al, byte [0x4e384b]
test eax, eax
jne 0x42e646
xor ecx, ecx
mov cl, byte [0x4e384c]
test ecx, ecx
jne 0x42e646
xor edx, edx
mov dl, byte [0x4e384d]
test edx, edx
je 0x42e64a
mov byte [ebp - 0x3c], 1
mov byte [ebp - 4], 0
lea eax, [ebp - 0x300]
push eax
push 0
push 0x2e
push 3
push 0x4e384e
push 0x48e6fc
push 0x48e704
call fcn.0042f505
push 0x4e384e
call fcn.0042e508
add esp, 4
xor ecx, ecx
mov cl, byte [0x4e384e]
test ecx, ecx
jne 0x42e69f
xor edx, edx
mov dl, byte [0x4e384e]
test edx, edx
jne 0x42e69f
xor eax, eax
mov al, byte [0x4e384e]
test eax, eax
je 0x42e6a3
mov byte [ebp - 4], 1
mov byte [ebp - 0x248], 0
lea ecx, [ebp - 0x300]
push ecx
push 0
push 0x48e710
push 0x48e71c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov byte [0x4e3851], al
xor edx, edx
mov dl, byte [0x4e3851]
test edx, edx
je 0x42e6ee
mov byte [ebp - 0x248], 1
xor eax, eax
mov al, byte [0x4e3851]
cmp eax, 0xe
jne 0x42e6ee
mov byte [0x4a69a4], 1
xor ecx, ecx
mov cl, byte [0x4e3851]
cmp ecx, 0x18
je 0x42e71d
xor edx, edx
mov dl, byte [0x4e3851]
cmp edx, 0xe
je 0x42e71d
xor eax, eax
mov al, byte [0x4e3851]
test eax, eax
je 0x42e71d
push str.Error_param_in__LinkInfo_:SPCodeLen
call fcn.0042f4e0
lea ecx, [ebp - 0x300]
push ecx
push 2
push str.SPMode
push 0x48e754
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov byte [0x4e3852], al
xor edx, edx
mov dl, byte [0x4e3852]
test edx, edx
jl 0x42e753
xor eax, eax
mov al, byte [0x4e3852]
cmp eax, 3
jle 0x42e75d
push str.Error_param_in__LinkInfo_:SPMode
call fcn.0042f4e0
lea ecx, [ebp - 0x300]
push ecx
push 0x10
push 0x4e3854
push 0
push str.SendDataToIP1
push 0x48e794
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x300]
push edx
push 0x10
push 0x4e3864
push 0
push str.SendDataToIP2
push 0x48e7b0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x300]
push eax
push 0
push str.TraceSock
push 0x48e7c8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov byte [0x4e4d4c], al
lea ecx, [ebp - 0x300]
push ecx
push 0
push str.TraceInterrupt
push 0x48e7e0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov byte [0x4e4d4e], al
lea edx, [ebp - 0x300]
push edx
push 0
push str.TraceStop
push 0x48e7f4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov byte [0x4e4d4d], al
lea eax, [ebp - 0x300]
push eax
push 0
push str.InfoInterval
push 0x48e80c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4e4d50], eax
lea ecx, [ebp - 0x300]
push ecx
push 0
push str.TestInterval
push 0x48e824
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4e4d54], eax
lea edx, [ebp - 0x300]
push edx
push 0
push str.TestNumber
push 0x48e838
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov byte [0x4e4d58], al
lea eax, [ebp - 0x300]
push eax
push 0
push str.SocketWorkMode
push str.Debug
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4e4d5c], eax
mov ecx, dword [0x4e4d54]
mov dword [0x48d284], ecx
mov edx, dword [0x4e4d50]
mov dword [0x48d28c], edx
lea eax, [ebp - 0x300]
push eax
push 0x10
push 0x4e3875
push 0
push 0x48e858
push str.LinkInfo
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x4e3875
call fcn.0043ee10
add esp, 4
cmp eax, 7
jae 0x42e90d
lea ecx, [ebp - 0x300]
push ecx
push 0x10
push 0x4e3875
push 0
push str.LocalIP
push 0x48e874
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x4e3875
call fcn.0043ee10
add esp, 4
cmp eax, 7
jae 0x42e8f7
push str.Error_param_in__LinkInfo_:LocalIP
call fcn.0042f4e0
jmp 0x42e90b
push 0x10
push 0x4e3875
push 0x4e4c88
call fcn.0043e4c0
add esp, 0xc
jmp 0x42e921
push 0x10
push 0x4e3875
push 0x4e4c88
call fcn.0043e4c0
add esp, 0xc
lea edx, [ebp - 0x300]
push edx
push 0xffffffffffffffff
push str.PcmNum
push 0x48e8a8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov byte [0x4e3874], al
xor eax, eax
mov al, byte [0x4e3874]
cmp eax, 1
jl 0x42e95b
xor ecx, ecx
mov cl, byte [0x4e3874]
cmp ecx, 0x80
jle 0x42e980
push 0x80
push str._PcmInfo_:PcmNums_range_should_be:_1_d
lea edx, [ebp - 0x2d0]
push edx
call fcn.0043f09f
add esp, 0xc
lea eax, [ebp - 0x2d0]
push eax
call fcn.0042f4e0
xor ecx, ecx
mov cl, byte [0x4e3874]
imul ecx, ecx, 0x28
push ecx
call fcn.00454a82
add esp, 4
mov dword [ebp - 0x310], eax
mov edx, dword [ebp - 0x310]
mov dword [ebp - 0x24c], edx
cmp dword [ebp - 0x24c], 0
jne 0x42e9b9
push str.No7ReadIni___Ram_alloc_error
call fcn.0042f4e0
mov dword [ebp - 0x244], 0
jmp 0x42e9d4
mov eax, dword [ebp - 0x244]
add eax, 1
mov dword [ebp - 0x244], eax
xor ecx, ecx
mov cl, byte [0x4e3874]
cmp dword [ebp - 0x244], ecx
jge 0x42f495
mov edx, dword [ebp - 0x244]
push edx
push str.IsSP
call fcn.0042f673
mov dword [ebp - 0x30c], eax
lea eax, [ebp - 0x300]
push eax
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x30c]
push ecx
push 0x48e904
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0x244]
imul edx, edx, 0x28
mov ecx, dword [ebp - 0x24c]
mov byte [ecx + edx], al
mov edx, dword [ebp - 0x244]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x24c]
xor ecx, ecx
mov cl, byte [eax + edx]
test ecx, ecx
je 0x42ea84
mov edx, dword [ebp - 0x244]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x24c]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 1
je 0x42ea84
mov edx, dword [ebp - 0x244]
push edx
push str._PcmInfo_:IsSP__d__should_be_0_or_1
lea eax, [ebp - 0x2d0]
push eax
call fcn.0043f09f
add esp, 0xc
lea ecx, [ebp - 0x2d0]
push ecx
call fcn.0042f4e0
mov edx, dword [ebp - 0x244]
push edx
push str.IsTerminal
call fcn.0042f673
mov dword [ebp - 0x30c], eax
lea eax, [ebp - 0x300]
push eax
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x30c]
push ecx
push 0x48e93c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0x244]
imul edx, edx, 0x28
mov ecx, dword [ebp - 0x24c]
mov byte [ecx + edx + 1], al
mov edx, dword [ebp - 0x244]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x24c]
xor ecx, ecx
mov cl, byte [eax + edx + 1]
test ecx, ecx
je 0x42eb23
mov edx, dword [ebp - 0x244]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x24c]
xor ecx, ecx
mov cl, byte [eax + edx + 1]
cmp ecx, 1
je 0x42eb23
mov edx, dword [ebp - 0x244]
push edx
push str._PcmInfo_:IsTerminal__d__should_be_0_or_1
lea eax, [ebp - 0x2d0]
push eax
call fcn.0043f09f
add esp, 0xc
lea ecx, [ebp - 0x2d0]
push ecx
call fcn.0042f4e0
mov edx, dword [ebp - 0x244]
push edx
push 0x48e970
call fcn.0042f673
mov dword [ebp - 0x30c], eax
lea eax, [ebp - 0x300]
push eax
push 0x10
mov ecx, dword [ebp - 0x244]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x24c]
lea eax, [edx + ecx + 0xc]
push eax
push 0
mov ecx, dword [ebp - 0x30c]
push ecx
push 0x48e974
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edx, dword [ebp - 0x244]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x24c]
lea ecx, [eax + edx + 0xc]
push ecx
call fcn.0043ee10
add esp, 4
cmp eax, 7
jae 0x42ebb3
mov edx, dword [ebp - 0x244]
push edx
push str.Error_param_in__PcmInfo_:IP__d_
lea eax, [ebp - 0x2d0]
push eax
call fcn.0043f09f
add esp, 0xc
lea ecx, [ebp - 0x2d0]
push ecx
call fcn.0042f4e0
mov byte [ebp - 0x304], 1
mov byte [ebp - 0x308], 0
jmp 0x42ebd2
mov dl, byte [ebp - 0x308]
add dl, 1
mov byte [ebp - 0x308], dl
mov eax, dword [ebp - 0x308]
and eax, 0xff
mov ecx, dword [ebp - 0x40]
and ecx, 0xff
cmp eax, ecx
jge 0x42ec2c
mov edx, dword [ebp - 0x244]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x24c]
lea ecx, [eax + edx + 0xc]
push ecx
mov edx, dword [ebp - 0x308]
and edx, 0xff
shl edx, 4
lea eax, [ebp + edx - 0x240]
push eax
call fcn.0043e430
add esp, 8
test eax, eax
jne 0x42ec2a
mov byte [ebp - 0x304], 0
jmp 0x42ec2c
jmp 0x42ebc3
mov ecx, dword [ebp - 0x304]
and ecx, 0xff
test ecx, ecx
je 0x42ec75
mov edx, dword [ebp - 0x244]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x24c]
lea ecx, [eax + edx + 0xc]
push ecx
mov edx, dword [ebp - 0x40]
and edx, 0xff
shl edx, 4
lea eax, [ebp + edx - 0x240]
push eax
call fcn.0043eed0
add esp, 8
mov cl, byte [ebp - 0x40]
add cl, 1
mov byte [ebp - 0x40], cl
mov edx, dword [ebp - 0x244]
push edx
push str.Port
call fcn.0042f673
mov dword [ebp - 0x30c], eax
lea eax, [ebp - 0x300]
push eax
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x30c]
push ecx
push 0x48e9a4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0x244]
imul edx, edx, 0x28
mov ecx, dword [ebp - 0x24c]
mov dword [ecx + edx + 0x20], eax
mov edx, dword [ebp - 0x244]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x24c]
cmp dword [eax + edx + 0x20], 0
jge 0x42ecf7
mov ecx, dword [ebp - 0x244]
push ecx
push str._PcmInfo_:Port__d__should___0
lea edx, [ebp - 0x2d0]
push edx
call fcn.0043f09f
add esp, 0xc
lea eax, [ebp - 0x2d0]
push eax
call fcn.0042f4e0
mov ecx, dword [ebp - 0x244]
push ecx
push str.PcmId
call fcn.0042f673
mov dword [ebp - 0x30c], eax
lea edx, [ebp - 0x300]
push edx
push 0xffffffffffffffff
mov eax, dword [ebp - 0x30c]
push eax
push 0x48e9d4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x244]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x24c]
mov byte [edx + ecx + 0x1c], al
mov eax, dword [ebp - 0x244]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x24c]
xor edx, edx
mov dl, byte [ecx + eax + 0x1c]
test edx, edx
jl 0x42ed6f
mov eax, dword [ebp - 0x244]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x24c]
xor edx, edx
mov dl, byte [ecx + eax + 0x1c]
cmp edx, 0x3f
jle 0x42ed98
push 0x3f
mov eax, dword [ebp - 0x244]
push eax
push str._PcmInfo_:PcmID__d_s_range_should_be:_0_d
lea ecx, [ebp - 0x2d0]
push ecx
call fcn.0043f09f
add esp, 0x10
lea edx, [ebp - 0x2d0]
push edx
call fcn.0042f4e0
mov eax, dword [ebp - 0x244]
push eax
push str.PcmIndex
call fcn.0042f673
mov dword [ebp - 0x30c], eax
lea ecx, [ebp - 0x300]
push ecx
push 0xffffffffffffffff
mov edx, dword [ebp - 0x30c]
push edx
push 0x48ea14
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x244]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x24c]
mov byte [edx + ecx + 0x1d], al
mov eax, dword [ebp - 0x244]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x24c]
xor edx, edx
mov dl, byte [ecx + eax + 0x1d]
test edx, edx
jge 0x42ee1d
mov eax, dword [ebp - 0x244]
push eax
push str._PcmInfo_:PcmIndex__d__error
lea ecx, [ebp - 0x2d0]
push ecx
call fcn.0043f09f
add esp, 0xc
lea edx, [ebp - 0x2d0]
push edx
call fcn.0042f4e0
mov eax, dword [ebp - 0x244]
push eax
push str.LinkIndex
call fcn.0042f673
mov dword [ebp - 0x30c], eax
lea ecx, [ebp - 0x300]
push ecx
push 0xffffffffffffffff
mov edx, dword [ebp - 0x30c]
push edx
push 0x48ea48
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x244]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x24c]
mov byte [edx + ecx + 0x1e], al
mov eax, dword [ebp - 0x244]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x24c]
xor edx, edx
mov dl, byte [ecx + eax + 0x1e]
test edx, edx
jl 0x42ee95
mov eax, dword [ebp - 0x244]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x24c]
xor edx, edx
mov dl, byte [ecx + eax + 0x1e]
cmp edx, 7
jle 0x42eebe
push 7
mov eax, dword [ebp - 0x244]
push eax
push str._PcmInfo_:LinkIndex__d_s_range_should_be:_0_d
lea ecx, [ebp - 0x2d0]
push ecx
call fcn.0043f09f
add esp, 0x10
lea edx, [ebp - 0x2d0]
push edx
call fcn.0042f4e0
mov eax, dword [ebp - 0x244]
push eax
push 0x48ea80
call fcn.0042f673
mov dword [ebp - 0x30c], eax
lea ecx, [ebp - 0x300]
push ecx
push 0
mov edx, dword [ebp - 0x30c]
push edx
push 0x48ea84
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x244]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x24c]
mov byte [edx + ecx + 0x1f], al
mov eax, dword [ebp - 0x244]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x24c]
xor edx, edx
mov dl, byte [ecx + eax + 0x1f]
cmp edx, 0xf
jle 0x42ef44
mov eax, dword [ebp - 0x244]
push eax
push str.Error_param_in__PcmInfo_:SLC__d_
lea ecx, [ebp - 0x2d0]
push ecx
call fcn.0043f09f
add esp, 0xc
lea edx, [ebp - 0x2d0]
push edx
call fcn.0042f4e0
mov eax, dword [ebp - 0x244]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x24c]
xor edx, edx
mov dl, byte [ecx + eax + 0x1c]
add edx, 1
push edx
push str.TrunkStream
call fcn.0042f673
mov dword [ebp - 0x30c], eax
lea eax, [ebp - 0x38]
push eax
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x30c]
push ecx
push 0x48eabc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0x244]
imul edx, edx, 0x28
mov ecx, dword [ebp - 0x24c]
mov byte [ecx + edx + 0x24], al
mov edx, dword [ebp - 0x244]
push edx
push 0x48eac4
call fcn.0042f673
mov dword [ebp - 0x30c], eax
lea eax, [ebp - 0x300]
push eax
push 0
push 0x2e
push 3
mov ecx, dword [ebp - 0x244]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x24c]
lea eax, [edx + ecx + 2]
push eax
mov ecx, dword [ebp - 0x30c]
push ecx
push 0x48eac8
call fcn.0042f505
mov edx, dword [ebp - 0x244]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x24c]
lea ecx, [eax + edx + 2]
push ecx
call fcn.0042e508
add esp, 4
mov edx, dword [ebp - 0x244]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x24c]
xor ecx, ecx
mov cl, byte [eax + edx + 2]
test ecx, ecx
jne 0x42f0a8
mov edx, dword [ebp - 0x244]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x24c]
xor ecx, ecx
mov cl, byte [eax + edx + 3]
test ecx, ecx
jne 0x42f0a8
mov edx, dword [ebp - 0x244]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x24c]
xor ecx, ecx
mov cl, byte [eax + edx + 4]
test ecx, ecx
jne 0x42f0a8
mov edx, dword [ebp - 0x250]
and edx, 0xff
test edx, edx
je 0x42f081
push 3
push 0x4e3848
mov eax, dword [ebp - 0x244]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x24c]
lea edx, [ecx + eax + 2]
push edx
call fcn.0043e4c0
add esp, 0xc
jmp 0x42f0a8
mov eax, dword [ebp - 0x244]
push eax
push str.Error_param_in__PcmInfo_:OPC__d__or__LinkInfo_:OPC
lea ecx, [ebp - 0x2d0]
push ecx
call fcn.0043f09f
add esp, 0xc
lea edx, [ebp - 0x2d0]
push edx
call fcn.0042f4e0
mov eax, dword [ebp - 0x244]
push eax
push 0x48eb04
call fcn.0042f673
mov dword [ebp - 0x30c], eax
lea ecx, [ebp - 0x300]
push ecx
push 0
push 0x2e
push 3
mov edx, dword [ebp - 0x244]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x24c]
lea ecx, [eax + edx + 5]
push ecx
mov edx, dword [ebp - 0x30c]
push edx
push 0x48eb08
call fcn.0042f505
mov eax, dword [ebp - 0x244]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x24c]
lea edx, [ecx + eax + 5]
push edx
call fcn.0042e508
add esp, 4
mov eax, dword [ebp - 0x244]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x24c]
xor edx, edx
mov dl, byte [ecx + eax + 5]
test edx, edx
jne 0x42f1b4
mov eax, dword [ebp - 0x244]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x24c]
xor edx, edx
mov dl, byte [ecx + eax + 6]
test edx, edx
jne 0x42f1b4
mov eax, dword [ebp - 0x244]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x24c]
xor edx, edx
mov dl, byte [ecx + eax + 7]
test edx, edx
jne 0x42f1b4
mov eax, dword [ebp - 0x3c]
and eax, 0xff
test eax, eax
je 0x42f18d
push 3
push 0x4e384b
mov ecx, dword [ebp - 0x244]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x24c]
lea eax, [edx + ecx + 5]
push eax
call fcn.0043e4c0
add esp, 0xc
jmp 0x42f1b4
mov ecx, dword [ebp - 0x244]
push ecx
push str.Error_param_in__PcmInfo_:DPC__d__or__LinkInfo_:DPC
lea edx, [ebp - 0x2d0]
push edx
call fcn.0043f09f
add esp, 0xc
lea eax, [ebp - 0x2d0]
push eax
call fcn.0042f4e0
mov ecx, dword [ebp - 0x244]
push ecx
push str.SPCodeLen
call fcn.0042f673
mov dword [ebp - 0x30c], eax
lea edx, [ebp - 0x300]
push edx
push 0
mov eax, dword [ebp - 0x30c]
push eax
push 0x48eb50
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x244]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x24c]
mov byte [edx + ecx + 0xb], al
mov eax, dword [ebp - 0x244]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x24c]
xor edx, edx
mov dl, byte [ecx + eax + 0xb]
test edx, edx
jne 0x42f24d
mov eax, dword [ebp - 0x248]
and eax, 0xff
test eax, eax
je 0x42f239
mov ecx, dword [ebp - 0x244]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x24c]
mov al, byte [0x4e3851]
mov byte [edx + ecx + 0xb], al
xor ecx, ecx
mov cl, byte [0x4e3851]
cmp ecx, 0xe
jne 0x42f24d
mov byte [0x4a69a4], 1
mov edx, dword [ebp - 0x244]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x24c]
xor ecx, ecx
mov cl, byte [eax + edx + 0xb]
cmp ecx, 0x18
je 0x42f2a8
mov edx, dword [ebp - 0x244]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x24c]
xor ecx, ecx
mov cl, byte [eax + edx + 0xb]
cmp ecx, 0xe
je 0x42f2a8
mov edx, dword [ebp - 0x244]
push edx
push str.Error_param_in__PcmInfo_:SPCodeLen__d__or__LinkInfo_:SPCodeLen
lea eax, [ebp - 0x2d0]
push eax
call fcn.0043f09f
add esp, 0xc
lea ecx, [ebp - 0x2d0]
push ecx
call fcn.0042f4e0
mov edx, dword [ebp - 0x244]
push edx
push str.STPDPC
call fcn.0042f673
mov dword [ebp - 0x30c], eax
lea eax, [ebp - 0x300]
push eax
push 0
push 0x2e
push 3
mov ecx, dword [ebp - 0x244]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x24c]
lea eax, [edx + ecx + 8]
push eax
mov ecx, dword [ebp - 0x30c]
push ecx
push str.PcmInfo
call fcn.0042f505
mov edx, dword [ebp - 0x244]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x24c]
lea ecx, [eax + edx + 8]
push ecx
call fcn.0042e508
add esp, 4
mov edx, dword [ebp - 0x244]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x24c]
xor ecx, ecx
mov cl, byte [eax + edx + 8]
test ecx, ecx
jne 0x42f43f
mov edx, dword [ebp - 0x244]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x24c]
xor ecx, ecx
mov cl, byte [eax + edx + 9]
test ecx, ecx
jne 0x42f43f
mov edx, dword [ebp - 0x244]
imul edx, edx, 0x28
mov eax, dword [ebp - 0x24c]
xor ecx, ecx
mov cl, byte [eax + edx + 0xa]
test ecx, ecx
jne 0x42f43f
mov edx, dword [ebp - 4]
and edx, 0xff
test edx, edx
je 0x42f399
push 3
push 0x4e384e
mov eax, dword [ebp - 0x244]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x24c]
lea edx, [ecx + eax + 8]
push edx
call fcn.0043e4c0
add esp, 0xc
jmp 0x42f43f
mov eax, dword [ebp - 0x244]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x24c]
xor edx, edx
mov dl, byte [ecx + eax + 5]
test edx, edx
jne 0x42f3e4
mov eax, dword [ebp - 0x244]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x24c]
xor edx, edx
mov dl, byte [ecx + eax + 6]
test edx, edx
jne 0x42f3e4
mov eax, dword [ebp - 0x244]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x24c]
xor edx, edx
mov dl, byte [ecx + eax + 7]
test edx, edx
je 0x42f418
push 3
mov eax, dword [ebp - 0x244]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x24c]
lea edx, [ecx + eax + 5]
push edx
mov eax, dword [ebp - 0x244]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x24c]
lea edx, [ecx + eax + 8]
push edx
call fcn.0043e4c0
add esp, 0xc
jmp 0x42f43f
mov eax, dword [ebp - 0x244]
push eax
push str.Error_param_in__PcmInfo_:STPDPC__d__or__LinkInfo_:STPDPC
lea ecx, [ebp - 0x2d0]
push ecx
call fcn.0043f09f
add esp, 0xc
lea edx, [ebp - 0x2d0]
push edx
call fcn.0042f4e0
mov eax, dword [ebp - 0x244]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x24c]
xor edx, edx
mov dl, byte [ecx + eax]
cmp edx, 1
jne 0x42f460
mov al, byte [ebp - 8]
add al, 1
mov byte [ebp - 8], al
mov ecx, dword [ebp - 8]
and ecx, 0xff
cmp ecx, 8
jle 0x42f490
push 8
push str.Total_Link_Number_shouldnt_be_greater_than__d
lea edx, [ebp - 0x2d0]
push edx
call fcn.0043f09f
add esp, 0xc
lea eax, [ebp - 0x2d0]
push eax
call fcn.0042f4e0
jmp 0x42e9c5
mov cl, byte [ebp - 8]
mov byte [0x4e3853], cl
mov dl, byte [ebp - 0x40]
push edx
lea eax, [ebp - 0x240]
push eax
mov ecx, dword [ebp - 0x24c]
push ecx
call fcn.0042f6dd
mov edx, dword [ebp - 0x24c]
mov dword [ebp - 0x314], edx
mov eax, dword [ebp - 0x314]
push eax
call fcn.00454aab
add esp, 4
mov dword [ebp - 0x24c], 0
mov al, 1
mov esp, ebp
pop ebp
ret