Function at 0x100424c0
Capabilities:
Get common file path
Get startup folder

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10121f29
mov eax, dword fs:[0]
push eax
sub esp, 0x3b8
mov eax, dword [0x1019742c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x250], ecx
push 0x1014fa58
lea ecx, [ebp - 0x12c]
call fcn.10022500
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x144]
call fcn.10023590
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x250]
mov ecx, dword [eax + 0x34]
push ecx
push 0x1014fa64
lea edx, [ebp - 0x24c]
push edx
call fcn.1003f870
add esp, 0xc
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x254]
push eax
lea ecx, [ebp - 0x144]
call fcn.10019560
lea ecx, [ebp - 0x24c]
call fcn.100238b0
lea ecx, [ebp - 0x144]
call fcn.10023550
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2d0], esp
push eax
call fcn.10022500
mov dword [ebp - 0x258], eax
mov ecx, dword [ebp - 0x258]
mov dword [ebp - 0x2d4], ecx
mov byte [ebp - 4], 2
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2d8], esp
push 0x1014fa68
call fcn.10022500
mov dword [ebp - 0x25c], eax
mov edx, dword [ebp - 0x25c]
mov dword [ebp - 0x2dc], edx
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x12c]
call fcn.10023550
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2e0], esp
push eax
call fcn.10022500
mov dword [ebp - 0x2e4], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x250]
call sym.UserAndPayClient.dll_public:_void___thiscall_Talk2Svr::CTalk2Svr::WriteValuetoIni_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x2e8], esp
push 0
mov ecx, dword [ebp - 0x250]
add ecx, 0x38
call fcn.10023620
push eax
push esi
call fcn.1003ebe0
add esp, 0xc
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x2ec], eax
mov byte [ebp - 4], 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2f0], esp
push 0x1014fa70
call fcn.10022500
mov dword [ebp - 0x264], eax
mov ecx, dword [ebp - 0x264]
mov dword [ebp - 0x3c0], ecx
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x12c]
call fcn.10023550
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x3bc], esp
push eax
call fcn.10022500
mov dword [ebp - 0x3b8], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x250]
call sym.UserAndPayClient.dll_public:_void___thiscall_Talk2Svr::CTalk2Svr::WriteValuetoIni_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x3b4], esp
push 0
mov ecx, dword [ebp - 0x250]
add ecx, 0x50
call fcn.10023620
push eax
push esi
call fcn.1003ebe0
add esp, 0xc
mov dword [ebp - 0x268], eax
mov edx, dword [ebp - 0x268]
mov dword [ebp - 0x3b0], edx
mov byte [ebp - 4], 6
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x3ac], esp
push 0x1014fa7c
call fcn.10022500
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x3a8], eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x12c]
call fcn.10023550
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x3a4], esp
push eax
call fcn.10022500
mov dword [ebp - 0x3a0], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x250]
call sym.UserAndPayClient.dll_public:_void___thiscall_Talk2Svr::CTalk2Svr::WriteValuetoIni_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___
mov ecx, dword [ebp - 0x250]
add ecx, 0x68
call fcn.10023550
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x39c], esp
push eax
call fcn.10022500
mov dword [ebp - 0x270], eax
mov ecx, dword [ebp - 0x270]
mov dword [ebp - 0x398], ecx
mov byte [ebp - 4], 8
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x394], esp
push 0x1014fa84
call fcn.10022500
mov dword [ebp - 0x274], eax
mov edx, dword [ebp - 0x274]
mov dword [ebp - 0x35c], edx
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x12c]
call fcn.10023550
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x390], esp
push eax
call fcn.10022500
mov dword [ebp - 0x2f4], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x250]
call sym.UserAndPayClient.dll_public:_void___thiscall_Talk2Svr::CTalk2Svr::WriteValuetoIni_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___
mov eax, dword [ebp - 0x250]
mov ecx, dword [eax + 0x120]
push ecx
push 0x1014fa88
lea edx, [ebp - 0x234]
push edx
call fcn.1003f870
add esp, 0xc
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x278]
push eax
lea ecx, [ebp - 0x144]
call fcn.10019560
lea ecx, [ebp - 0x234]
call fcn.100238b0
lea ecx, [ebp - 0x144]
call fcn.10023550
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2f8], esp
push eax
call fcn.10022500
mov dword [ebp - 0x27c], eax
mov ecx, dword [ebp - 0x27c]
mov dword [ebp - 0x2fc], ecx
mov byte [ebp - 4], 0xa
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x300], esp
push str.login
call fcn.10022500
mov dword [ebp - 0x280], eax
mov edx, dword [ebp - 0x280]
mov dword [ebp - 0x304], edx
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x12c]
call fcn.10023550
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x308], esp
push eax
call fcn.10022500
mov dword [ebp - 0x30c], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x250]
call sym.UserAndPayClient.dll_public:_void___thiscall_Talk2Svr::CTalk2Svr::WriteValuetoIni_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___
mov eax, dword [ebp - 0x250]
cmp dword [eax + 0x120], 1
jne 0x10042922
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x310], esp
push 0
mov ecx, dword [ebp - 0x250]
add ecx, 0x38
call fcn.10023620
push eax
push esi
call fcn.1003ebe0
add esp, 0xc
mov dword [ebp - 0x2cc], eax
mov ecx, dword [ebp - 0x2cc]
mov dword [ebp - 0x314], ecx
mov byte [ebp - 4], 0xc
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x318], esp
push 0x1014fa94
call fcn.10022500
mov dword [ebp - 0x284], eax
mov edx, dword [ebp - 0x284]
mov dword [ebp - 0x31c], edx
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x12c]
call fcn.10023550
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x320], esp
push eax
call fcn.10022500
mov dword [ebp - 0x324], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x250]
call sym.UserAndPayClient.dll_public:_void___thiscall_Talk2Svr::CTalk2Svr::WriteValuetoIni_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___
mov eax, dword [ebp - 0x250]
mov ecx, dword [eax + 0x9c]
push ecx
push 0x1014fa9c
lea edx, [ebp - 0x21c]
push edx
call fcn.1003f870
add esp, 0xc
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x288]
push eax
lea ecx, [ebp - 0x144]
call fcn.10019560
lea ecx, [ebp - 0x21c]
call fcn.100238b0
lea ecx, [ebp - 0x144]
call fcn.10023550
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x328], esp
push eax
call fcn.10022500
mov dword [ebp - 0x28c], eax
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x32c], ecx
mov byte [ebp - 4], 0xe
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x330], esp
push 0x1014faa0
call fcn.10022500
mov dword [ebp - 0x290], eax
mov edx, dword [ebp - 0x290]
mov dword [ebp - 0x334], edx
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x12c]
call fcn.10023550
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x338], esp
push eax
call fcn.10022500
mov dword [ebp - 0x33c], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x250]
call sym.UserAndPayClient.dll_public:_void___thiscall_Talk2Svr::CTalk2Svr::WriteValuetoIni_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___
mov eax, dword [ebp - 0x250]
mov ecx, dword [eax + 0x98]
push ecx
push 0x1014faa8
lea edx, [ebp - 0x204]
push edx
call fcn.1003f870
add esp, 0xc
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x294]
push eax
lea ecx, [ebp - 0x144]
call fcn.10019560
lea ecx, [ebp - 0x204]
call fcn.100238b0
lea ecx, [ebp - 0x144]
call fcn.10023550
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x340], esp
push eax
call fcn.10022500
mov dword [ebp - 0x298], eax
mov ecx, dword [ebp - 0x298]
mov dword [ebp - 0x344], ecx
mov byte [ebp - 4], 0x10
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x348], esp
push 0x1014faac
call fcn.10022500
mov dword [ebp - 0x29c], eax
mov edx, dword [ebp - 0x29c]
mov dword [ebp - 0x34c], edx
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x12c]
call fcn.10023550
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x350], esp
push eax
call fcn.10022500
mov dword [ebp - 0x354], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x250]
call sym.UserAndPayClient.dll_public:_void___thiscall_Talk2Svr::CTalk2Svr::WriteValuetoIni_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x358], esp
push 0
mov ecx, dword [ebp - 0x250]
add ecx, 0xa0
call fcn.10023620
push eax
push esi
call fcn.1003ebe0
add esp, 0xc
mov dword [ebp - 0x2a0], eax
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x3c4], eax
mov byte [ebp - 4], 0x12
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x360], esp
push 0x1014fab4
call fcn.10022500
mov dword [ebp - 0x2a4], eax
mov ecx, dword [ebp - 0x2a4]
mov dword [ebp - 0x364], ecx
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x12c]
call fcn.10023550
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x368], esp
push eax
call fcn.10022500
mov dword [ebp - 0x36c], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x250]
call sym.UserAndPayClient.dll_public:_void___thiscall_Talk2Svr::CTalk2Svr::WriteValuetoIni_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x370], esp
push 0
mov ecx, dword [ebp - 0x250]
add ecx, 0xb8
call fcn.10023620
push eax
push esi
call fcn.1003ebe0
add esp, 0xc
mov dword [ebp - 0x2a8], eax
mov edx, dword [ebp - 0x2a8]
mov dword [ebp - 0x374], edx
mov byte [ebp - 4], 0x14
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x378], esp
push 0x1014fac0
call fcn.10022500
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x37c], eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x12c]
call fcn.10023550
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x380], esp
push eax
call fcn.10022500
mov dword [ebp - 0x384], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x250]
call sym.UserAndPayClient.dll_public:_void___thiscall_Talk2Svr::CTalk2Svr::WriteValuetoIni_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___
lea ecx, [ebp - 0x15c]
call fcn.10023590
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x174]
call fcn.10023590
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x250]
add ecx, 0xb8
push ecx
lea edx, [ebp - 0x1bc]
push edx
call fcn.1003eb00
add esp, 8
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x2b8], eax
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x250]
add ecx, 0xa0
push ecx
lea edx, [ebp - 0x1d4]
push edx
call fcn.1003eb00
add esp, 8
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [ebp - 0x2bc], eax
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x250]
add ecx, 0x280
call fcn.10023550
push eax
mov ecx, dword [ebp - 0x2b8]
call fcn.10023550
push eax
mov ecx, dword [ebp - 0x2bc]
call fcn.10023550
push eax
mov ecx, dword [ebp - 0x250]
mov edx, dword [ecx + 0x98]
push edx
mov eax, dword [ebp - 0x250]
mov ecx, dword [eax + 0x9c]
push ecx
push 0x1014facc
lea edx, [ebp - 0x1ec]
push edx
call fcn.1003f870
add esp, 0x1c
mov dword [ebp - 0x2c0], eax
mov eax, dword [ebp - 0x2c0]
push eax
lea ecx, [ebp - 0x15c]
call fcn.10019560
lea ecx, [ebp - 0x1ec]
call fcn.100238b0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x1d4]
call fcn.100238b0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x1bc]
call fcn.100238b0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x388], esp
lea edx, [ebp - 0x15c]
push edx
call fcn.10022bf0
mov dword [ebp - 0x38c], eax
lea eax, [ebp - 0x1a4]
push eax
call fcn.1002d070
add esp, 0x1c
mov dword [ebp - 0x2c4], eax
mov ecx, dword [ebp - 0x2c4]
mov dword [ebp - 0x2c8], ecx
mov edx, dword [ebp - 0x2c8]
push edx
lea ecx, [ebp - 0x174]
call fcn.10019560
lea ecx, [ebp - 0x1a4]
call fcn.100238b0
mov al, byte [0x10146149]
mov byte [ebp - 0x114], al
push 0x103
push 0
lea ecx, [ebp - 0x113]
push ecx
call fcn.100e0740
add esp, 0xc
push 1
push 0x1a
lea edx, [ebp - 0x114]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x18c]
call fcn.10022500
mov byte [ebp - 4], 0x1a
push 0x1014fadc
lea ecx, [ebp - 0x18c]
call fcn.10022380
lea ecx, [ebp - 0x18c]
call fcn.10023550
push eax
lea ecx, [ebp - 0x174]
call fcn.10023550
push eax
mov ecx, dword [ebp - 0x250]
add ecx, 0x280
call fcn.10023550
push eax
push 0x1014fae8
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x18c]
call fcn.100238b0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x174]
call fcn.100238b0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x15c]
call fcn.100238b0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x144]
call fcn.100238b0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x12c]
call fcn.100238b0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100e3069
mov esp, ebp
pop ebp
ret