Function at 0x40b800
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x46e581
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x410
push ebx
push ebp
push esi
lea eax, [esp + 0x14]
push edi
mov ebp, ecx
push eax
mov dword [esp + 0x18], ebp
call fcn.00401480
add esp, 4
push 0x4881b8
lea ecx, [esp + 0x14]
xor ebx, ebx
push eax
push ecx
mov dword [esp + 0x434], ebx
call fcn.00458ca3
lea ecx, [esp + 0x18]
mov byte [esp + 0x428], 2
call fcn.00458a0e
mov edx, dword [esp + 0x10]
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x20]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push edx
rep stosd dword es:[edi], eax
lea eax, [esp + 0x24]
push 0x400
push eax
push 0x48edf8
push 0x489034
push str.Config
call esi
test eax, eax
je 0x40b8b0
mov al, byte [esp + 0x20]
test al, al
je 0x40b8b0
lea ecx, [esp + 0x20]
push ecx
call fcn.00418db5
add esp, 4
mov dword [ebp + 0xcc], eax
jmp 0x40b8b6
mov dword [ebp + 0xcc], ebx
mov edx, dword [esp + 0x10]
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
push edx
lea eax, [esp + 0x24]
push 0x400
push eax
push 0x48edf8
push str.UploadBillTime
push str.Config
call esi
test eax, eax
je 0x40b904
mov al, byte [esp + 0x20]
test al, al
je 0x40b904
lea ecx, [esp + 0x20]
push ecx
call fcn.00418db5
add esp, 4
mov dword [ebp + 0xd4], eax
jmp 0x40b925
push 0xbb
push 0x488ff0
push str._s_t_d
push str.ReadIniFile__
push str._CTransferDataInterfaceApp
call fcn.004094d0
add esp, 0x14
mov edx, dword [esp + 0x10]
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
push edx
lea eax, [esp + 0x24]
push 0x400
push eax
push 0x48edf8
push str.Park51ID
push str.Config
call esi
test eax, eax
je 0x40b973
mov al, byte [esp + 0x20]
test al, al
je 0x40b973
lea ecx, [esp + 0x20]
push ecx
call fcn.00418db5
add esp, 4
mov dword [ebp + 0xd8], eax
jmp 0x40b994
push 0xc8
push 0x488f90
push str._s_t_d
push str.ReadIniFile__
push str._CTransferDataInterfaceApp
call fcn.004094d0
add esp, 0x14
mov edx, dword [esp + 0x10]
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
push edx
lea eax, [esp + 0x24]
push 0x400
push eax
push 0x48edf8
push str.DBServer
push str.DatabaseInfo
call esi
test eax, eax
je 0x40b9e8
mov al, byte [esp + 0x20]
test al, al
je 0x40b9e8
lea ecx, [esp + 0x20]
lea edx, [ebp + 0x10c]
push ecx
push 0x4881a0
push edx
call fcn.00451ecf
add esp, 0xc
jmp 0x40ba09
push 0xd6
push 0x488f4c
push str._s_t_d
push str.ReadIniFile__
push str._CTransferDataInterfaceApp
call fcn.004094d0
add esp, 0x14
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x20]
push eax
push 0x400
push ecx
push 0x48edf8
push str.Port
push str.DatabaseInfo
call esi
test eax, eax
je 0x40ba57
mov al, byte [esp + 0x20]
test al, al
je 0x40ba57
lea edx, [esp + 0x20]
push edx
call fcn.00418db5
add esp, 4
mov dword [ebp + 0x110], eax
jmp 0x40ba78
push 0xe3
push 0x488f20
push str._s_t_d
push str.ReadIniFile__
push str._CTransferDataInterfaceApp
call fcn.004094d0
add esp, 0x14
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x20]
push eax
push 0x400
push ecx
push 0x48edf8
push str.DatabaseName
push str.DatabaseInfo
call esi
cmp eax, ebx
je 0x40bacc
mov al, byte [esp + 0x20]
test al, al
je 0x40bacc
lea edx, [esp + 0x20]
lea eax, [ebp + 0x114]
push edx
push 0x4881a0
push eax
call fcn.00451ecf
add esp, 0xc
jmp 0x40baed
push 0xf0
push 0x488ee4
push str._s_t_d
push str.ReadIniFile__
push str._CTransferDataInterfaceApp
call fcn.004094d0
add esp, 0x14
mov ecx, dword [0x489554]
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x10]
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
push edx
lea eax, [esp + 0x24]
push 0x400
push eax
push 0x48edf8
push str.UserName
push str.DatabaseInfo
mov byte [esp + 0x440], 3
call esi
test eax, eax
je 0x40bb53
mov al, byte [esp + 0x20]
test al, al
je 0x40bb53
lea ecx, [esp + 0x20]
lea edx, [ebp + 0x118]
push ecx
push 0x4881a0
push edx
call fcn.00451ecf
add esp, 0xc
jmp 0x40bb74
push 0xfe
push 0x488eb0
push str._s_t_d
push str.ReadIniFile__
push str._CTransferDataInterfaceApp
call fcn.004094d0
add esp, 0x14
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x20]
push eax
push 0x400
push ecx
push 0x48edf8
push str.Password
push str.DatabaseInfo
call esi
test eax, eax
je 0x40bbc8
mov al, byte [esp + 0x20]
test al, al
je 0x40bbc8
lea edx, [esp + 0x20]
lea eax, [ebp + 0x11c]
push edx
push 0x4881a0
push eax
call fcn.00451ecf
add esp, 0xc
jmp 0x40bbe9
push 0x10b
push 0x488e7c
push str._s_t_d
push str.ReadIniFile__
push str._CTransferDataInterfaceApp
call fcn.004094d0
add esp, 0x14
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x20]
lea edx, [esp + 0x20]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x10]
push ecx
push 0x400
push edx
push 0x48edf8
push str.ReceivePort
push str.DeviceInfo
call esi
test eax, eax
je 0x40bc37
mov al, byte [esp + 0x20]
test al, al
je 0x40bc37
lea eax, [esp + 0x20]
push eax
call fcn.00418db5
add esp, 4
mov dword [ebp + 0x120], eax
jmp 0x40bc58
push 0x118
push 0x488e38
push str._s_t_d
push str.ReadIniFile__
push str._CTransferDataInterfaceApp
call fcn.004094d0
add esp, 0x14
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x20]
lea edx, [esp + 0x20]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x10]
push ecx
push 0x400
push edx
push 0x48edf8
push str.SendPort
push str.DeviceInfo
call esi
test eax, eax
je 0x40bca6
mov al, byte [esp + 0x20]
test al, al
je 0x40bca6
lea eax, [esp + 0x20]
push eax
call fcn.00418db5
add esp, 4
mov dword [ebp + 0x124], eax
jmp 0x40bcc7
push 0x125
push 0x488e04
push str._s_t_d
push str.ReadIniFile__
push str._CTransferDataInterfaceApp
call fcn.004094d0
add esp, 0x14
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x20]
lea edx, [esp + 0x20]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x10]
push ecx
push 0x400
push edx
push 0x48edf8
push 0x488e00
push str.InterfaceInfo
call esi
test eax, eax
je 0x40bdb4
mov al, byte [esp + 0x20]
test al, al
je 0x40bdb4
lea edi, [esp + 0x20]
or ecx, 0xffffffff
xor eax, eax
add ebp, 0x128
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
cmp ebx, 0xfffffffd
jbe 0x40bd28
call fcn.0043f3a0
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x40bd54
mov al, byte [ecx - 1]
test al, al
je 0x40bd54
cmp al, 0xff
je 0x40bd54
test ebx, ebx
jne 0x40bd7c
dec al
push ebx
mov byte [ecx - 1], al
mov ecx, ebp
call fcn.00403160
mov ebp, dword [esp + 0x14]
jmp 0x40bdd5
test ebx, ebx
jne 0x40bd67
push 1
mov ecx, ebp
call fcn.00403160
mov ebp, dword [esp + 0x14]
jmp 0x40bdd5
mov eax, dword [ebp + 0xc]
cmp eax, 0x1f
ja 0x40bd73
cmp eax, ebx
jae 0x40bd84
push 1
mov ecx, ebp
call fcn.00403160
push ebx
mov ecx, ebp
call fcn.00403420
mov edi, dword [ebp + 4]
mov ecx, ebx
mov eax, ecx
lea esi, [esp + 0x20]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp + 8], ebx
mov ebp, dword [ebp + 4]
mov byte [ebp + ebx], 0
add ebp, ebx
mov ebp, dword [esp + 0x14]
jmp 0x40bdd5
push 0x132
push 0x488dcc
push str._s_t_d
push str.ReadIniFile__
push str._CTransferDataInterfaceApp
call fcn.004094d0
add esp, 0x14
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x20]
lea edx, [esp + 0x20]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x10]
push ecx
push 0x400
push edx
push 0x48edf8
push str.billurl
push str.InterfaceInfo
call esi
test eax, eax
je 0x40bec2
mov al, byte [esp + 0x20]
test al, al
je 0x40bec2
lea edi, [esp + 0x20]
or ecx, 0xffffffff
xor eax, eax
add ebp, 0x138
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
cmp ebx, 0xfffffffd
jbe 0x40be36
call fcn.0043f3a0
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x40be62
mov al, byte [ecx - 1]
test al, al
je 0x40be62
cmp al, 0xff
je 0x40be62
test ebx, ebx
jne 0x40be8a
dec al
push ebx
mov byte [ecx - 1], al
mov ecx, ebp
call fcn.00403160
mov ebp, dword [esp + 0x14]
jmp 0x40bee3
test ebx, ebx
jne 0x40be75
push 1
mov ecx, ebp
call fcn.00403160
mov ebp, dword [esp + 0x14]
jmp 0x40bee3
mov eax, dword [ebp + 0xc]
cmp eax, 0x1f
ja 0x40be81
cmp eax, ebx
jae 0x40be92
push 1
mov ecx, ebp
call fcn.00403160
push ebx
mov ecx, ebp
call fcn.00403420
mov edi, dword [ebp + 4]
mov ecx, ebx
mov eax, ecx
lea esi, [esp + 0x20]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp + 8], ebx
mov ebp, dword [ebp + 4]
mov byte [ebp + ebx], 0
add ebp, ebx
mov ebp, dword [esp + 0x14]
jmp 0x40bee3
push 0x13f
push 0x488d9c
push str._s_t_d
push str.ReadIniFile__
push str._CTransferDataInterfaceApp
call fcn.004094d0
add esp, 0x14
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x20]
lea edx, [esp + 0x20]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x10]
push ecx
push 0x400
push edx
push 0x48edf8
push str.parkkey
push str.InterfaceInfo
call esi
test eax, eax
je 0x40bfe8
mov al, byte [esp + 0x20]
test al, al
je 0x40bfe8
lea edi, [esp + 0x20]
or ecx, 0xffffffff
xor eax, eax
add ebp, 0x148
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
cmp ebx, 0xfffffffd
jbe 0x40bf44
call fcn.0043f3a0
mov ecx, dword [ebp + 4]
xor esi, esi
cmp ecx, esi
je 0x40bf6f
mov al, byte [ecx - 1]
test al, al
je 0x40bf6f
cmp al, 0xff
je 0x40bf6f
cmp ebx, esi
jne 0x40bfbb
dec al
mov byte [ecx - 1], al
mov dword [ebp + 4], esi
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], esi
jmp 0x40c009
cmp ebx, esi
jne 0x40bfa6
cmp ecx, esi
je 0x40bf9b
mov al, byte [ecx - 1]
dec ecx
test al, al
je 0x40bf92
cmp al, 0xff
je 0x40bf92
dec al
mov byte [ecx], al
mov dword [ebp + 4], esi
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], esi
jmp 0x40c009
push ecx
call fcn.00459108
add esp, 4
mov dword [ebp + 4], esi
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], esi
jmp 0x40c009
mov eax, dword [ebp + 0xc]
cmp eax, 0x1f
ja 0x40bfb2
cmp eax, ebx
jae 0x40bfc3
push 1
mov ecx, ebp
call fcn.00403160
push ebx
mov ecx, ebp
call fcn.00403420
mov edi, dword [ebp + 4]
mov ecx, ebx
mov eax, ecx
lea esi, [esp + 0x20]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp + 8], ebx
mov ebp, dword [ebp + 4]
add ebp, ebx
mov byte [ebp], 0
jmp 0x40c009
push 0x14c
push 0x488d6c
push str._s_t_d
push str.ReadIniFile__
push str._CTransferDataInterfaceApp
call fcn.004094d0
add esp, 0x14
lea ecx, [esp + 0x1c]
mov byte [esp + 0x428], 2
call fcn.00458a0e
lea ecx, [esp + 0x10]
mov dword [esp + 0x428], 0xffffffff
call fcn.00458a0e
mov ecx, dword [esp + 0x420]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x41c
ret