Function at 0x404b30
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x427f46
mov eax, dword fs:[0]
push eax
sub esp, 0xcf4
mov eax, dword [0x43582c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0
push pe_nt_image_headers32
lea ecx, [ebp - 0xbb0]
call dword [sym.imp.value.dll_public:_void___thiscall_value_string::constructor_int__char_const__]
mov dword [ebp - 4], 0
mov dword [ebp - 0xb0c], 0x437ba0
mov eax, dword [ebp - 0xb0c]
add eax, 1
mov dword [ebp - 0xb34], eax
mov ecx, dword [ebp - 0xb0c]
mov dl, byte [ecx]
mov byte [ebp - 0xb05], dl
add dword [ebp - 0xb0c], 1
cmp byte [ebp - 0xb05], 0
jne 0x404b8e
mov eax, dword [ebp - 0xb0c]
sub eax, dword [ebp - 0xb34]
mov dword [ebp - 0xb28], eax
push 1
mov ecx, dword [ebp - 0xb28]
add ecx, 1
push ecx
push 0x437ba0
lea ecx, [ebp - 0xd00]
call fcn.00403690
mov byte [ebp - 4], 1
push 0x437ba0
call dword [sym.imp.dbmfuns.dll_char____cdecl_LeftTrim_char_const__]
add esp, 4
mov dword [ebp - 0xb04], eax
lea ecx, [ebp - 0xa28]
call dword [sym.imp.stdstrng.dll_public:_void___thiscall_String::constructor_void_]
mov byte [ebp - 4], 2
push 0xfd8
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.00412090
add esp, 0xc
mov eax, 1
imul eax, eax, 0
mov ecx, dword [ebp - 0xb04]
movzx edx, byte [ecx + eax]
test edx, edx
jne 0x404c91
lea ecx, [ebp - 0xbc8]
call fcn.00403ce0
mov dword [ebp - 0xb30], eax
mov eax, dword [ebp - 0xb30]
mov dword [ebp - 0xb38], eax
mov byte [ebp - 4], 3
push str.Parameters_empty
mov ecx, dword [ebp - 0xb38]
push ecx
call fcn.0040bd80
add esp, 8
push eax
lea ecx, [ebp - 0xbbc]
call fcn.00403d30
push 0x431b64
lea edx, [ebp - 0xbbc]
push edx
call fcn.0040fedb
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xbc8]
call fcn.00403de0
jmp 0x4054e7
mov eax, 1
imul eax, eax, 0
mov ecx, dword [ebp - 0xb04]
movzx edx, byte [ecx + eax]
cmp edx, 0x40
jne 0x404f30
mov eax, dword [ebp - 0xb04]
add eax, 1
mov dword [ebp - 0xb04], eax
mov ecx, dword [ebp - 0xb04]
push ecx
push pe_nt_image_headers32
lea edx, [ebp - 0x128]
push edx
push 0x42fdcd
push 0x42fec0
push 0x42fec4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x128]
push eax
lea ecx, [ebp - 0xa88]
call dword [sym.imp.stdstrng.dll_public:_void___thiscall_String::constructor_char_const__]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xa88]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0xf9c
call dword [sym.imp.stdstrng.dll_public:_class_String____thiscall_String::operator_class_String_const__]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xa88]
call dword [sym.imp.stdstrng.dll_public:_void___thiscall_String::destructor_void_]
mov edx, dword [ebp - 0xb04]
push edx
push pe_nt_image_headers32
lea eax, [ebp - 0x128]
push eax
push 0x42fdce
push str.CONNECT
push 0x42fed4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x128]
push ecx
lea ecx, [ebp - 0xaa0]
call dword [sym.imp.stdstrng.dll_public:_void___thiscall_String::constructor_char_const__]
mov byte [ebp - 4], 5
lea edx, [ebp - 0xaa0]
push edx
mov ecx, dword [ebp + 8]
add ecx, 0xd0c
call dword [sym.imp.stdstrng.dll_public:_class_String____thiscall_String::operator_class_String_const__]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xaa0]
call dword [sym.imp.stdstrng.dll_public:_void___thiscall_String::destructor_void_]
mov eax, dword [ebp - 0xb04]
push eax
push pe_nt_image_headers32
lea ecx, [ebp - 0x128]
push ecx
push 0x42fdcf
push str.DBNAME
push 0x42fee4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x128]
push edx
lea ecx, [ebp - 0xab8]
call dword [sym.imp.stdstrng.dll_public:_void___thiscall_String::constructor_char_const__]
mov byte [ebp - 4], 6
lea eax, [ebp - 0xab8]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0xd38
call dword [sym.imp.stdstrng.dll_public:_class_String____thiscall_String::operator_class_String_const__]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xab8]
call dword [sym.imp.stdstrng.dll_public:_void___thiscall_String::destructor_void_]
mov ecx, dword [ebp - 0xb04]
push ecx
push 0x21
mov edx, dword [ebp + 8]
add edx, 0xd50
push edx
push 0x42fddd
push str.MAIN_USER
push 0x42fef8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp - 0xb04]
push eax
push pe_nt_image_headers32
lea ecx, [ebp - 0x128]
push ecx
push 0x42fdde
push str.CONN_ID
push 0x42ff08
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x128]
push edx
call fcn.0040d891
add esp, 4
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xd30], eax
mov dword [ecx + 0xd34], edx
mov edx, dword [ebp - 0xb04]
push edx
push pe_nt_image_headers32
lea eax, [ebp - 0x128]
push eax
push 0x42fddf
push str.OFF_ID
push 0x42ff18
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x128]
push ecx
call fcn.0040d891
add esp, 4
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xd28], eax
mov dword [ecx + 0xd2c], edx
mov edx, dword [ebp - 0xb04]
push edx
push 0xa
lea eax, [ebp - 0x1c]
push eax
push 0x42ff20
push str.UNIQUE
push 0x42ff2c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [ebp - 0xb04]
push ecx
push pe_nt_image_headers32
lea edx, [ebp - 0x128]
push edx
push 0x42ff34
push str.SILENT
push 0x42ff40
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, 1
imul eax, eax, 0
mov ecx, dword [ebp + 8]
mov dl, byte [ebp + eax - 0x128]
mov byte [ecx + 0xf99], dl
mov eax, dword [ebp - 0xb04]
push eax
push 0x105
mov ecx, dword [ebp + 8]
add ecx, 0xe94
push ecx
push 0x42fe11
push str.TMP_DIR
push str.PARAMS
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
jmp 0x4054e7
push 0
push str._______
mov edx, dword [ebp + 8]
add edx, 0xd38
push edx
lea eax, [ebp - 0xbec]
push eax
call dword [sym.imp.dbmfuns.dll_class_Upon___cdecl_upon_class_String___char_const___char_]
add esp, 0x10
mov ecx, dword [eax]
mov dword [ebp - 0xb60], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xb5c], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0xb58], eax
push 0
push 0x42ff5c
lea ecx, [ebp - 0xa28]
push ecx
lea edx, [ebp - 0xc04]
push edx
call dword [sym.imp.dbmfuns.dll_class_Upon___cdecl_upon_class_String___char_const___char_]
add esp, 0x10
mov ecx, dword [eax]
mov dword [ebp - 0xb6c], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xb68], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0xb64], eax
push 0
push 0x42ff60
mov ecx, dword [ebp + 8]
add ecx, 0xd0c
push ecx
lea edx, [ebp - 0xbd4]
push edx
call dword [sym.imp.dbmfuns.dll_class_Upon___cdecl_upon_class_String___char_const___char_]
add esp, 0x10
mov ecx, dword [eax]
mov dword [ebp - 0xb84], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xb80], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0xb7c], eax
push 0
push 0x42ff64
lea ecx, [ebp - 0xa28]
push ecx
lea edx, [ebp - 0xbe0]
push edx
call dword [sym.imp.dbmfuns.dll_class_Upon___cdecl_upon_class_String___char_const___char_]
add esp, 0x10
mov ecx, dword [eax]
mov dword [ebp - 0xb90], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xb8c], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0xb88], eax
push 0
push 0x42ff68
mov ecx, dword [ebp + 8]
add ecx, 0xf9c
push ecx
lea edx, [ebp - 0xbf8]
push edx
call dword [sym.imp.dbmfuns.dll_class_Upon___cdecl_upon_class_String___char_const___char_]
add esp, 0x10
mov ecx, dword [eax]
mov dword [ebp - 0xb78], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xb74], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0xb70], eax
push 0
push 0x42ff6c
lea ecx, [ebp - 0xa28]
push ecx
lea edx, [ebp - 0xc10]
push edx
call dword [sym.imp.dbmfuns.dll_class_Upon___cdecl_upon_class_String___char_const___char_]
add esp, 0x10
mov ecx, dword [eax]
mov dword [ebp - 0xb54], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xb50], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0xb4c], eax
push 0x402800
lea ecx, [ebp - 0x28]
push ecx
push 0x402800
lea edx, [ebp - 0x1c]
push edx
push 0x402800
lea eax, [ebp - 0x228]
push eax
mov ecx, dword [ebp - 0xbac]
push ecx
mov edx, dword [ebp + 8]
add edx, 0xd50
push edx
lea eax, [ebp - 0xb60]
push eax
lea ecx, [ebp - 0xb6c]
push ecx
lea edx, [ebp - 0xb84]
push edx
lea eax, [ebp - 0xb90]
push eax
lea ecx, [ebp - 0xb78]
push ecx
lea edx, [ebp - 0xb54]
push edx
lea eax, [ebp - 0xd00]
push eax
call dword [sym.imp.dbmfuns.dll_class_std::basic_istream_char__struct_std::char_traits_char______cdecl_operator___class_std::basic_istream_char__struct_std::char_traits_char_____class_Upon_const__]
add esp, 8
push eax
call dword [sym.imp.dbmfuns.dll_class_std::basic_istream_char__struct_std::char_traits_char______cdecl_operator___class_std::basic_istream_char__struct_std::char_traits_char_____class_Upon_const__]
add esp, 8
push eax
call dword [sym.imp.dbmfuns.dll_class_std::basic_istream_char__struct_std::char_traits_char______cdecl_operator___class_std::basic_istream_char__struct_std::char_traits_char_____class_Upon_const__]
add esp, 8
push eax
call dword [sym.imp.dbmfuns.dll_class_std::basic_istream_char__struct_std::char_traits_char______cdecl_operator___class_std::basic_istream_char__struct_std::char_traits_char_____class_Upon_const__]
add esp, 8
push eax
call dword [sym.imp.dbmfuns.dll_class_std::basic_istream_char__struct_std::char_traits_char______cdecl_operator___class_std::basic_istream_char__struct_std::char_traits_char_____class_Upon_const__]
add esp, 8
push eax
call dword [sym.imp.dbmfuns.dll_class_std::basic_istream_char__struct_std::char_traits_char______cdecl_operator___class_std::basic_istream_char__struct_std::char_traits_char_____class_Upon_const__]
add esp, 8
push eax
call fcn.0040be70
add esp, 8
push eax
call fcn.0040be70
add esp, 8
push eax
call fcn.0040be70
add esp, 8
mov ecx, eax
call fcn.00408010
push eax
call fcn.0040be70
add esp, 8
mov ecx, eax
call fcn.00408010
push eax
call fcn.0040be70
add esp, 8
mov ecx, eax
call fcn.00408010
mov ecx, 1
imul ecx, ecx, 0
mov edx, dword [ebp + 8]
mov al, byte [ebp + ecx - 0x28]
mov byte [edx + 0xf99], al
lea ecx, [ebp - 0xbb0]
call dword [sym.imp.value.dll_public_virtual:_void___thiscall_value_anc::SetNotNull_void_]
push 0x42ff70
lea ecx, [ebp - 0xbb0]
push ecx
call dword [sym.imp.value.dll_int___cdecl_Instr_class_value_string_const___char_const__]
add esp, 8
mov dword [ebp - 0xb14], eax
cmp dword [ebp - 0xb14], 0
jle 0x40525d
push 0
mov edx, dword [ebp - 0xb14]
add edx, 1
push edx
lea eax, [ebp - 0xbb0]
push eax
lea ecx, [ebp - 0xc50]
push ecx
call dword [sym.imp.value.dll_class_value_string___cdecl_Substr_class_value_string_const___int__int_]
add esp, 0x10
mov dword [ebp - 0xb40], eax
mov edx, dword [ebp - 0xb40]
mov eax, dword [edx + 4]
push eax
call fcn.0040d891
add esp, 4
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xfb8], eax
mov dword [ecx + 0xfbc], edx
lea ecx, [ebp - 0xc50]
call dword [sym.imp.value.dll_public_virtual:_void___thiscall_value_string::destructor_void_]
mov edx, dword [ebp - 0xb14]
sub edx, 1
push edx
push 1
lea eax, [ebp - 0xbb0]
push eax
lea ecx, [ebp - 0xc30]
push ecx
call dword [sym.imp.value.dll_class_value_string___cdecl_Substr_class_value_string_const___int__int_]
add esp, 0x10
mov dword [ebp - 0xb48], eax
mov edx, dword [ebp - 0xb48]
mov eax, dword [edx + 4]
push eax
call fcn.0040d891
add esp, 4
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xd30], eax
mov dword [ecx + 0xd34], edx
lea ecx, [ebp - 0xc30]
call dword [sym.imp.value.dll_public_virtual:_void___thiscall_value_string::destructor_void_]
jmp 0x405292
mov edx, dword [ebp + 8]
mov dword [edx + 0xfb8], 0
mov dword [edx + 0xfbc], 0
mov eax, dword [ebp - 0xbac]
push eax
call fcn.0040d891
add esp, 4
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xd30], eax
mov dword [ecx + 0xd34], edx
lea edx, [ebp - 0x228]
push edx
call fcn.0040d891
add esp, 4
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xd28], eax
mov dword [ecx + 0xd2c], edx
push 0x42ff74
lea ecx, [ebp - 0xa58]
call dword [sym.imp.stdstrng.dll_public:_void___thiscall_String::constructor_char_const__]
mov byte [ebp - 4], 7
push 0
push 0
push 0x7d0
lea edx, [ebp - 0x9f8]
push edx
lea ecx, [ebp - 0xd00]
call fcn.00408290
lea eax, [ebp - 0x9f8]
push eax
lea ecx, [ebp - 0xa40]
call dword [sym.imp.stdstrng.dll_public:_void___thiscall_String::constructor_char_const__]
mov byte [ebp - 4], 8
push 0xffffffffffffffff
push str.__n_r_t
lea ecx, [ebp - 0xa40]
call dword [sym.imp.stdstrng.dll_public:_int___thiscall_String::find_last_not_of_char_const___int_const]
add eax, 1
push eax
push 0
lea ecx, [ebp - 0xa10]
push ecx
lea ecx, [ebp - 0xa40]
call dword [sym.imp.stdstrng.dll_public:_class_String___thiscall_String::substr_int__int_]
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xa58]
call dword [sym.imp.stdstrng.dll_public:_char_const____thiscall_String::operator_char_const__void_const]
push eax
lea ecx, [ebp - 0xa10]
call dword [sym.imp.stdstrng.dll_public:_int___thiscall_String::find_char_const__const]
mov dword [ebp - 0xb10], eax
lea ecx, [ebp - 0xa70]
call dword [sym.imp.stdstrng.dll_public:_void___thiscall_String::constructor_void_]
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0xb10], 0
jle 0x40543b
mov edx, dword [ebp - 0xb10]
push edx
push 0
lea eax, [ebp - 0xae8]
push eax
lea ecx, [ebp - 0xa10]
call dword [sym.imp.stdstrng.dll_public:_class_String___thiscall_String::substr_int__int_]
mov dword [ebp - 0xb24], eax
mov ecx, dword [ebp - 0xb24]
mov dword [ebp - 0xb44], ecx
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0xb44]
call dword [sym.imp.stdstrng.dll_public:_char_const____thiscall_String::operator_char_const__void_const]
push eax
mov edx, dword [ebp + 8]
add edx, 0xe94
push edx
call fcn.0040c110
add esp, 8
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xae8]
call dword [sym.imp.stdstrng.dll_public:_void___thiscall_String::destructor_void_]
lea ecx, [ebp - 0xa58]
call dword [sym.imp.stdstrng.dll_public:_int___thiscall_String::length_void_const]
add eax, dword [ebp - 0xb10]
push eax
lea eax, [ebp - 0xb00]
push eax
lea ecx, [ebp - 0xa10]
call dword [sym.imp.stdstrng.dll_public:_class_String___thiscall_String::substr_int_]
mov dword [ebp - 0xb2c], eax
mov ecx, dword [ebp - 0xb2c]
mov dword [ebp - 0xb3c], ecx
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0xb3c]
push edx
lea ecx, [ebp - 0xa70]
call dword [sym.imp.stdstrng.dll_public:_class_String____thiscall_String::operator_class_String_const__]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xb00]
call dword [sym.imp.stdstrng.dll_public:_void___thiscall_String::destructor_void_]
lea eax, [ebp - 0xa70]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0xfc0
call dword [sym.imp.stdstrng.dll_public:_class_String____thiscall_String::operator_class_String_const__]
jmp 0x4054a7
lea ecx, [ebp - 0xa10]
call dword [sym.imp.stdstrng.dll_public:_char_const____thiscall_String::operator_char_const__void_const]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0xe94
push ecx
call fcn.0040c110
add esp, 8
push 0x42fe12
lea ecx, [ebp - 0xad0]
call dword [sym.imp.stdstrng.dll_public:_void___thiscall_String::constructor_char_const__]
mov dword [ebp - 0xb1c], eax
mov edx, dword [ebp - 0xb1c]
mov dword [ebp - 0xb20], edx
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0xb20]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0xfc0
call dword [sym.imp.stdstrng.dll_public:_class_String____thiscall_String::operator_class_String_const__]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xad0]
call dword [sym.imp.stdstrng.dll_public:_void___thiscall_String::destructor_void_]
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xa70]
call dword [sym.imp.stdstrng.dll_public:_void___thiscall_String::destructor_void_]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xa10]
call dword [sym.imp.stdstrng.dll_public:_void___thiscall_String::destructor_void_]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xa40]
call dword [sym.imp.stdstrng.dll_public:_void___thiscall_String::destructor_void_]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xa58]
call dword [sym.imp.stdstrng.dll_public:_void___thiscall_String::destructor_void_]
mov ecx, 1
imul ecx, ecx, 0
movzx edx, byte [ebp + ecx - 0x1c]
cmp edx, 0x59
jne 0x405505
mov dword [ebp - 0xb18], 1
jmp 0x40550f
mov dword [ebp - 0xb18], 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xb18]
mov dword [eax + 0xd8c], ecx
mov edx, dword [ebp + 8]
add edx, 0xf9c
push edx
mov ecx, dword [ebp + 8]
add ecx, 0xd74
call dword [sym.imp.stdstrng.dll_public:_class_String____thiscall_String::operator_class_String_const__]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xa28]
call dword [sym.imp.stdstrng.dll_public:_void___thiscall_String::destructor_void_]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xd00]
call fcn.00403800
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xbb0]
call dword [sym.imp.value.dll_public_virtual:_void___thiscall_value_string::destructor_void_]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040d400
mov esp, ebp
pop ebp
ret