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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1011caf3
mov eax, dword fs:[0]
push eax
sub esp, 0x378
mov eax, dword [0x1019142c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x220], ecx
push 0x1014a2a4
lea ecx, [ebp - 0x12c]
call fcn.100213a0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x144]
call fcn.10021e90
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x220]
mov ecx, dword [eax + 0x34]
push ecx
push 0x1014a2b0
lea edx, [ebp - 0x1d4]
push edx
call fcn.1003d350
add esp, 0xc
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x224]
push eax
lea ecx, [ebp - 0x144]
call fcn.10018890
lea ecx, [ebp - 0x1d4]
call fcn.10022960
lea ecx, [ebp - 0x144]
call fcn.10021de0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x324], esp
push eax
call fcn.100213a0
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0x228]
mov dword [ebp - 0x358], ecx
mov byte [ebp - 4], 2
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x35c], esp
push 0x1014a2b4
call fcn.100213a0
mov dword [ebp - 0x22c], eax
mov edx, dword [ebp - 0x22c]
mov dword [ebp - 0x360], edx
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x12c]
call fcn.10021de0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x364], esp
push eax
call fcn.100213a0
mov dword [ebp - 0x368], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x220]
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 - 0x36c], esp
push 0
mov ecx, dword [ebp - 0x220]
add ecx, 0x38
call fcn.100226d0
push eax
push esi
call fcn.1003c6c0
add esp, 0xc
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x370], eax
mov byte [ebp - 4], 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x374], esp
push 0x1014a2bc
call fcn.100213a0
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x234]
mov dword [ebp - 0x378], ecx
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x12c]
call fcn.10021de0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x37c], esp
push eax
call fcn.100213a0
mov dword [ebp - 0x380], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x220]
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 - 0x290], esp
push 0
mov ecx, dword [ebp - 0x220]
add ecx, 0x50
call fcn.100226d0
push eax
push esi
call fcn.1003c6c0
add esp, 0xc
mov dword [ebp - 0x238], eax
mov edx, dword [ebp - 0x238]
mov dword [ebp - 0x294], edx
mov byte [ebp - 4], 6
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x298], esp
push 0x1014a2c8
call fcn.100213a0
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x29c], eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x12c]
call fcn.10021de0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2a0], esp
push eax
call fcn.100213a0
mov dword [ebp - 0x2a4], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x220]
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 - 0x220]
add ecx, 0x68
call fcn.10021de0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2a8], esp
push eax
call fcn.100213a0
mov dword [ebp - 0x240], eax
mov ecx, dword [ebp - 0x240]
mov dword [ebp - 0x2ac], ecx
mov byte [ebp - 4], 8
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2b0], esp
push 0x1014a2d0
call fcn.100213a0
mov dword [ebp - 0x288], eax
mov edx, dword [ebp - 0x288]
mov dword [ebp - 0x2b4], edx
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x12c]
call fcn.10021de0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2b8], esp
push eax
call fcn.100213a0
mov dword [ebp - 0x2bc], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x220]
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 - 0x220]
mov ecx, dword [eax + 0x120]
push ecx
push 0x1014a2d4
lea edx, [ebp - 0x1bc]
push edx
call fcn.1003d350
add esp, 0xc
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x284]
push eax
lea ecx, [ebp - 0x144]
call fcn.10018890
lea ecx, [ebp - 0x1bc]
call fcn.10022960
lea ecx, [ebp - 0x144]
call fcn.10021de0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2c0], esp
push eax
call fcn.100213a0
mov dword [ebp - 0x280], eax
mov ecx, dword [ebp - 0x280]
mov dword [ebp - 0x2c4], ecx
mov byte [ebp - 4], 0xa
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2c8], esp
push str.login
call fcn.100213a0
mov dword [ebp - 0x27c], eax
mov edx, dword [ebp - 0x27c]
mov dword [ebp - 0x2cc], edx
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x12c]
call fcn.10021de0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2d0], esp
push eax
call fcn.100213a0
mov dword [ebp - 0x2d4], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x220]
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 - 0x220]
cmp dword [eax + 0x120], 1
jne 0x1003ecb2
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x2d8], esp
push 0
mov ecx, dword [ebp - 0x220]
add ecx, 0x38
call fcn.100226d0
push eax
push esi
call fcn.1003c6c0
add esp, 0xc
mov dword [ebp - 0x278], eax
mov ecx, dword [ebp - 0x278]
mov dword [ebp - 0x2dc], ecx
mov byte [ebp - 4], 0xc
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2e0], esp
push 0x1014a2e0
call fcn.100213a0
mov dword [ebp - 0x274], eax
mov edx, dword [ebp - 0x274]
mov dword [ebp - 0x2e4], edx
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x12c]
call fcn.10021de0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2e8], esp
push eax
call fcn.100213a0
mov dword [ebp - 0x2ec], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x220]
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 - 0x220]
mov ecx, dword [eax + 0x9c]
push ecx
push 0x1014a2e8
lea edx, [ebp - 0x21c]
push edx
call fcn.1003d350
add esp, 0xc
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x270]
push eax
lea ecx, [ebp - 0x144]
call fcn.10018890
lea ecx, [ebp - 0x21c]
call fcn.10022960
lea ecx, [ebp - 0x144]
call fcn.10021de0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2f0], esp
push eax
call fcn.100213a0
mov dword [ebp - 0x26c], eax
mov ecx, dword [ebp - 0x26c]
mov dword [ebp - 0x2f4], ecx
mov byte [ebp - 4], 0xe
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2f8], esp
push 0x1014a2ec
call fcn.100213a0
mov dword [ebp - 0x268], eax
mov edx, dword [ebp - 0x268]
mov dword [ebp - 0x2fc], edx
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x12c]
call fcn.10021de0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x300], esp
push eax
call fcn.100213a0
mov dword [ebp - 0x304], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x220]
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 - 0x220]
mov ecx, dword [eax + 0x98]
push ecx
push 0x1014a2f4
lea edx, [ebp - 0x204]
push edx
call fcn.1003d350
add esp, 0xc
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x264]
push eax
lea ecx, [ebp - 0x144]
call fcn.10018890
lea ecx, [ebp - 0x204]
call fcn.10022960
lea ecx, [ebp - 0x144]
call fcn.10021de0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x308], esp
push eax
call fcn.100213a0
mov dword [ebp - 0x260], eax
mov ecx, dword [ebp - 0x260]
mov dword [ebp - 0x30c], ecx
mov byte [ebp - 4], 0x10
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x310], esp
push 0x1014a2f8
call fcn.100213a0
mov dword [ebp - 0x28c], eax
mov edx, dword [ebp - 0x28c]
mov dword [ebp - 0x314], edx
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x12c]
call fcn.10021de0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x318], esp
push eax
call fcn.100213a0
mov dword [ebp - 0x31c], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x220]
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 - 0x320], esp
push 0
mov ecx, dword [ebp - 0x220]
add ecx, 0xa0
call fcn.100226d0
push eax
push esi
call fcn.1003c6c0
add esp, 0xc
mov dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x354], eax
mov byte [ebp - 4], 0x12
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x328], esp
push 0x1014a300
call fcn.100213a0
mov dword [ebp - 0x248], eax
mov ecx, dword [ebp - 0x248]
mov dword [ebp - 0x32c], ecx
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x12c]
call fcn.10021de0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x330], esp
push eax
call fcn.100213a0
mov dword [ebp - 0x334], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x220]
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 - 0x338], esp
push 0
mov ecx, dword [ebp - 0x220]
add ecx, 0xb8
call fcn.100226d0
push eax
push esi
call fcn.1003c6c0
add esp, 0xc
mov dword [ebp - 0x24c], eax
mov edx, dword [ebp - 0x24c]
mov dword [ebp - 0x33c], edx
mov byte [ebp - 4], 0x14
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x340], esp
push 0x1014a30c
call fcn.100213a0
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x250]
mov dword [ebp - 0x344], eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x12c]
call fcn.10021de0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x348], esp
push eax
call fcn.100213a0
mov dword [ebp - 0x34c], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x220]
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.10021e90
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x174]
call fcn.10021e90
mov byte [ebp - 4], 0x17
push 0x1014a318
mov ecx, dword [ebp - 0x220]
add ecx, 0xb8
call fcn.100226d0
push eax
mov ecx, dword [ebp - 0x220]
add ecx, 0xa0
call fcn.100226d0
push eax
mov ecx, dword [ebp - 0x220]
mov edx, dword [ecx + 0x98]
push edx
mov eax, dword [ebp - 0x220]
mov ecx, dword [eax + 0x9c]
push ecx
push 0x1014a31c
lea edx, [ebp - 0x1ec]
push edx
call fcn.1003d350
add esp, 0x1c
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x254]
push eax
lea ecx, [ebp - 0x15c]
call fcn.10018890
lea ecx, [ebp - 0x1ec]
call fcn.10022960
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x350], esp
lea edx, [ebp - 0x15c]
push edx
call fcn.10021a90
mov dword [ebp - 0x384], eax
lea eax, [ebp - 0x1a4]
push eax
call fcn.1002ac60
add esp, 0x1c
mov dword [ebp - 0x258], eax
mov ecx, dword [ebp - 0x258]
mov dword [ebp - 0x25c], ecx
mov edx, dword [ebp - 0x25c]
push edx
lea ecx, [ebp - 0x174]
call fcn.10018890
lea ecx, [ebp - 0x1a4]
call fcn.10022960
mov al, byte [0x10141149]
mov byte [ebp - 0x114], al
push 0x103
push 0
lea ecx, [ebp - 0x113]
push ecx
call fcn.100db6b0
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.100213a0
mov byte [ebp - 4], 0x18
push 0x1014a32c
lea ecx, [ebp - 0x18c]
call fcn.10021220
lea ecx, [ebp - 0x18c]
call fcn.10021de0
push eax
lea ecx, [ebp - 0x174]
call fcn.10021de0
push eax
push 0x1014a338
push 0x1014a33c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x18c]
call fcn.10022960
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x174]
call fcn.10022960
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x15c]
call fcn.10022960
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x144]
call fcn.10022960
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x12c]
call fcn.10022960
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100ddfee
mov esp, ebp
pop ebp
ret