Function at 0x45f1ec
Capabilities:
Contain obfuscated stackstrings
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x523a17
mov eax, dword fs:[0]
push eax
sub esp, 0x74c
mov eax, dword [0x5770a4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x6c4], ecx
and dword [ebp - 0x6d0], 0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x538]
call fcn.0040b2fe
mov byte [ebp - 4], 2
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x6c0]
push eax
mov ecx, dword [ebp - 0x6c4]
add ecx, 0x48
call fcn.0046bf14
lea eax, [ebp - 0x728]
push eax
mov ecx, dword [ebp - 0x6c4]
add ecx, 0x48
call fcn.0046b1c9
mov dword [ebp - 0x6e8], eax
mov eax, dword [ebp - 0x6e8]
mov ecx, dword [ebp - 0x6c0]
cmp ecx, dword [eax]
jne 0x45f28a
mov dword [ebp - 0x6c8], 1
jmp 0x45f291
and dword [ebp - 0x6c8], 0
movzx eax, byte [ebp - 0x6c8]
test eax, eax
jne 0x45f2a8
mov dword [ebp - 0x6cc], 1
jmp 0x45f2af
and dword [ebp - 0x6cc], 0
movzx eax, byte [ebp - 0x6cc]
test eax, eax
je 0x45f8e9
lea ecx, [ebp - 0x550]
call fcn.0040b2fe
mov byte [ebp - 4], 3
lea eax, [ebp - 0x550]
push eax
call fcn.004822ed
pop ecx
push 0x536150
lea ecx, [ebp - 0x5c8]
call fcn.00409053
mov byte [ebp - 4], 4
push 0x5c
lea eax, [ebp - 0x5c8]
push eax
lea eax, [ebp - 0x550]
push eax
lea eax, [ebp - 0x658]
push eax
call fcn.00481988
add esp, 0x10
mov dword [ebp - 0x6e4], eax
mov eax, dword [ebp - 0x6e4]
mov dword [ebp - 0x6ec], eax
mov byte [ebp - 4], 5
push dword [ebp - 0x6ec]
lea ecx, [ebp - 0x550]
call fcn.0041dc17
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x658]
call fcn.0040a62b
mov byte [ebp - 4], 7
mov byte [ebp - 4], 4
lea eax, [ebp - 0x658]
mov dword [ebp - 0x724], eax
mov byte [ebp - 4], 8
mov byte [ebp - 4], 9
mov byte [ebp - 4], 4
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x5c8]
call fcn.0040a62b
mov byte [ebp - 4], 0xb
mov byte [ebp - 4], 3
lea eax, [ebp - 0x5c8]
mov dword [ebp - 0x720], eax
mov byte [ebp - 4], 0xc
mov byte [ebp - 4], 0xd
mov byte [ebp - 4], 3
push 0x100
push 0
lea eax, [ebp - 0x110]
push eax
call fcn.004b0090
add esp, 0xc
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push 0x536178
lea eax, [ebp - 0x110]
push eax
call fcn.00418a75
add esp, 0x10
push 0x410
push 0
lea eax, [ebp - 0x520]
push eax
call fcn.004b0090
add esp, 0xc
lea ecx, [ebp - 0x550]
call fcn.0040a5f1
push eax
push 0x208
lea eax, [ebp - 0x520]
push eax
push 0x536184
push str.TCLSPath
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, dword [ebp - 0x6c0]
add eax, 0x10
mov dword [ebp - 0x6f0], eax
mov eax, dword [ebp - 0x6f0]
add eax, 8
push eax
lea ecx, [ebp - 0x580]
call fcn.00409053
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x580]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
mov ecx, dword [ebp - 0x6c4]
call fcn.00461f36
mov byte [ebp - 0x6b9], al
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x580]
call fcn.0040a62b
mov byte [ebp - 4], 0x10
mov byte [ebp - 4], 3
lea eax, [ebp - 0x580]
mov dword [ebp - 0x71c], eax
mov byte [ebp - 4], 0x11
mov byte [ebp - 4], 0x12
mov byte [ebp - 4], 3
movzx eax, byte [ebp - 0x6b9]
test eax, eax
je 0x45f59f
push 0x53619c
lea ecx, [ebp - 0x598]
call fcn.00409053
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x6c0]
add eax, 0x10
mov dword [ebp - 0x6f4], eax
mov eax, dword [ebp - 0x6f4]
add eax, 8
push eax
lea ecx, [ebp - 0x5b0]
call fcn.00409053
mov byte [ebp - 4], 0x14
push 0x5c
lea eax, [ebp - 0x598]
push eax
lea eax, [ebp - 0x5b0]
push eax
lea eax, [ebp - 0x670]
push eax
call fcn.00481988
add esp, 0x10
mov dword [ebp - 0x6f8], eax
mov eax, dword [ebp - 0x6f8]
mov dword [ebp - 0x6fc], eax
mov byte [ebp - 4], 0x15
push dword [ebp - 0x6fc]
lea ecx, [ebp - 0x538]
call fcn.0041dc17
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x670]
call fcn.0040a62b
mov byte [ebp - 4], 0x17
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x670]
mov dword [ebp - 0x718], eax
mov byte [ebp - 4], 0x18
mov byte [ebp - 4], 0x19
mov byte [ebp - 4], 0x14
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x5b0]
call fcn.0040a62b
mov byte [ebp - 4], 0x1b
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x5b0]
mov dword [ebp - 0x714], eax
mov byte [ebp - 4], 0x1c
mov byte [ebp - 4], 0x1d
mov byte [ebp - 4], 0x13
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x598]
call fcn.0040a62b
mov byte [ebp - 4], 0x1f
mov byte [ebp - 4], 3
lea eax, [ebp - 0x598]
mov dword [ebp - 0x758], eax
mov byte [ebp - 4], 0x20
mov byte [ebp - 4], 0x21
mov byte [ebp - 4], 3
jmp 0x45f8b8
push 2
pop eax
imul eax, eax, 0
movzx eax, word [ebp + eax - 0x520]
test eax, eax
jne 0x45f7a7
mov eax, dword [ebp - 0x6c0]
add eax, 0x10
mov dword [ebp - 0x700], eax
mov eax, dword [ebp - 0x700]
add eax, 8
push eax
lea ecx, [ebp - 0x5e0]
call fcn.00409053
mov byte [ebp - 4], 0x22
lea eax, [ebp - 0x5e0]
push eax
lea eax, [ebp - 0x568]
push eax
call sub.common.dll_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_ierd_tgp::util_version_cfg::get_tcls_path_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__
pop ecx
pop ecx
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x5e0]
call fcn.0040a62b
mov byte [ebp - 4], 0x26
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x5e0]
mov dword [ebp - 0x73c], eax
mov byte [ebp - 4], 0x27
mov byte [ebp - 4], 0x28
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x568]
push eax
call fcn.00481158
pop ecx
movzx eax, al
test eax, eax
je 0x45f664
lea eax, [ebp - 0x568]
push eax
lea ecx, [ebp - 0x538]
call fcn.0040b598
lea ecx, [ebp - 0x538]
call fcn.0040a5f1
push eax
push str.TCLSHostApp::GetTCLSPath_s
call fcn.0046c5d3
pop ecx
pop ecx
jmp 0x45f773
push 0x5361dc
lea ecx, [ebp - 0x610]
call fcn.00409053
mov byte [ebp - 4], 0x29
mov eax, dword [ebp - 0x6c0]
add eax, 0x10
mov dword [ebp - 0x704], eax
mov eax, dword [ebp - 0x704]
add eax, 8
push eax
lea ecx, [ebp - 0x5f8]
call fcn.00409053
mov byte [ebp - 4], 0x2a
push 0x5c
lea eax, [ebp - 0x610]
push eax
lea eax, [ebp - 0x5f8]
push eax
lea eax, [ebp - 0x688]
push eax
call fcn.00481988
add esp, 0x10
mov dword [ebp - 0x708], eax
mov eax, dword [ebp - 0x708]
mov dword [ebp - 0x70c], eax
mov byte [ebp - 4], 0x2b
push dword [ebp - 0x70c]
lea ecx, [ebp - 0x538]
call fcn.0041dc17
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x688]
call fcn.0040a62b
mov byte [ebp - 4], 0x2d
mov byte [ebp - 4], 0x2a
lea eax, [ebp - 0x688]
mov dword [ebp - 0x72c], eax
mov byte [ebp - 4], 0x2e
mov byte [ebp - 4], 0x2f
mov byte [ebp - 4], 0x2a
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x5f8]
call fcn.0040a62b
mov byte [ebp - 4], 0x31
mov byte [ebp - 4], 0x29
lea eax, [ebp - 0x5f8]
mov dword [ebp - 0x730], eax
mov byte [ebp - 4], 0x32
mov byte [ebp - 4], 0x33
mov byte [ebp - 4], 0x29
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x610]
call fcn.0040a62b
mov byte [ebp - 4], 0x35
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x610]
mov dword [ebp - 0x734], eax
mov byte [ebp - 4], 0x36
mov byte [ebp - 4], 0x37
mov byte [ebp - 4], 0x24
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x568]
call fcn.0040a62b
mov byte [ebp - 4], 0x39
mov byte [ebp - 4], 3
lea eax, [ebp - 0x568]
mov dword [ebp - 0x738], eax
mov byte [ebp - 4], 0x3a
mov byte [ebp - 4], 0x3b
mov byte [ebp - 4], 3
jmp 0x45f8b8
lea eax, [ebp - 0x520]
push eax
lea ecx, [ebp - 0x640]
call fcn.00409053
mov byte [ebp - 4], 0x3c
mov eax, dword [ebp - 0x6c0]
add eax, 0x10
mov dword [ebp - 0x710], eax
mov eax, dword [ebp - 0x710]
add eax, 8
push eax
lea ecx, [ebp - 0x628]
call fcn.00409053
mov byte [ebp - 4], 0x3d
push 0x5c
lea eax, [ebp - 0x640]
push eax
lea eax, [ebp - 0x628]
push eax
lea eax, [ebp - 0x6a0]
push eax
call fcn.00481988
add esp, 0x10
mov dword [ebp - 0x6d4], eax
mov eax, dword [ebp - 0x6d4]
mov dword [ebp - 0x6d8], eax
mov byte [ebp - 4], 0x3e
push dword [ebp - 0x6d8]
lea ecx, [ebp - 0x538]
call fcn.0041dc17
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x6a0]
call fcn.0040a62b
mov byte [ebp - 4], 0x40
mov byte [ebp - 4], 0x3d
lea eax, [ebp - 0x6a0]
mov dword [ebp - 0x740], eax
mov byte [ebp - 4], 0x41
mov byte [ebp - 4], 0x42
mov byte [ebp - 4], 0x3d
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x628]
call fcn.0040a62b
mov byte [ebp - 4], 0x44
mov byte [ebp - 4], 0x3c
lea eax, [ebp - 0x628]
mov dword [ebp - 0x744], eax
mov byte [ebp - 4], 0x45
mov byte [ebp - 4], 0x46
mov byte [ebp - 4], 0x3c
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x640]
call fcn.0040a62b
mov byte [ebp - 4], 0x48
mov byte [ebp - 4], 3
lea eax, [ebp - 0x640]
mov dword [ebp - 0x748], eax
mov byte [ebp - 4], 0x49
mov byte [ebp - 4], 0x4a
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x550]
call fcn.0040a62b
mov byte [ebp - 4], 0x4c
mov byte [ebp - 4], 2
lea eax, [ebp - 0x550]
mov dword [ebp - 0x74c], eax
mov byte [ebp - 4], 0x4d
mov byte [ebp - 4], 0x4e
mov byte [ebp - 4], 2
jmp 0x45f957
push dword [ebp + 0x10]
push dword [ebp + 0xc]
lea eax, [ebp - 0x6b8]
push eax
mov ecx, dword [ebp - 0x6c4]
call fcn.0045f9c6
mov dword [ebp - 0x6dc], eax
mov eax, dword [ebp - 0x6dc]
mov dword [ebp - 0x6e0], eax
mov byte [ebp - 4], 0x4f
push dword [ebp - 0x6e0]
lea ecx, [ebp - 0x538]
call fcn.0041dc17
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x6b8]
call fcn.0040a62b
mov byte [ebp - 4], 0x51
mov byte [ebp - 4], 2
lea eax, [ebp - 0x6b8]
mov dword [ebp - 0x750], eax
mov byte [ebp - 4], 0x52
mov byte [ebp - 4], 0x53
mov byte [ebp - 4], 2
lea eax, [ebp - 0x538]
push eax
push dword [ebp + 8]
call fcn.00481e2d
pop ecx
pop ecx
mov eax, dword [ebp - 0x6d0]
or eax, 1
mov dword [ebp - 0x6d0], eax
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0x538]
call fcn.0040a62b
mov byte [ebp - 4], 0x55
mov byte [ebp - 4], 1
lea eax, [ebp - 0x538]
mov dword [ebp - 0x754], eax
mov byte [ebp - 4], 0x56
mov byte [ebp - 4], 0x57
mov byte [ebp - 4], 1
mov byte [ebp - 4], 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004ad99f
leave
ret 0xc