Function at 0x11caa1cc
Capabilities:
Get common file path
Set current directory

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x11f9ec31
push eax
mov dword fs:[0], esp
sub esp, 0x624
push ebx
push esi
mov esi, ecx
xor ebx, ebx
mov eax, dword [esi + 8]
cmp eax, ebx
jne 0x11caa4e0
cmp dword [0x12133f80], ebx
je 0x11caa1fe
mov eax, dword [0x1211996c]
push eax
push str.CDocToText::Initialize__________d_
push str.GetTxt
push 0xffffffffffffffff
call fcn.11ca5810
add esp, 0x10
mov eax, dword [0x1211996c]
cmp eax, 3
jge 0x11caa4bd
push ebp
push edi
mov edi, eax
push 0x12119948
inc edi
lea ecx, [esp + 0x14]
mov dword [0x1211996c], edi
call fcn.11e7eae0
push 0x12119948
lea ecx, [esp + 0x18]
mov dword [esp + 0x640], ebx
call fcn.11e7eae0
mov ebp, dword [esp + 0x644]
mov byte [esp + 0x63c], 1
cmp ebp, ebx
je 0x11caa296
push ebp
lea ecx, [esp + 0x18]
call fcn.11e7f500
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x1e]
mov word [esp + 0x1c], bx
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x1c]
push 0x103
push ecx
push ebp
stosw word es:[edi], ax
call fcn.11e94710
add esp, 0xc
test eax, eax
je 0x11caa308
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x10]
push edx
call fcn.11e7f500
jmp 0x11caa308
push str.TKSdoc32.dll
lea ecx, [esp + 0x1c]
call fcn.11e7eae0
mov eax, dword [0x12119970]
mov byte [esp + 0x63c], 2
cmp eax, ebx
je 0x11caa2c3
push str.TKSdoc64.dll
lea ecx, [esp + 0x1c]
call fcn.11e7f500
call fcn.11c91890
push eax
lea eax, [esp + 0x14]
push str._sTKS
push eax
call fcn.11e82200
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
add esp, 0xc
lea eax, [esp + 0x14]
push ecx
push edx
push 0x12025c58
push eax
call fcn.11e82200
add esp, 0x10
lea ecx, [esp + 0x18]
mov byte [esp + 0x63c], 1
call fcn.11e7f280
cmp dword [0x12133f80], ebx
je 0x11caa32e
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push str.CDocToText::Initialize_1___s____s_
push str.GetTxt
push 0xffffffffffffffff
call fcn.11ca5810
add esp, 0x14
mov ecx, 0x103
xor eax, eax
lea edi, [esp + 0x226]
mov word [esp + 0x224], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x224]
push eax
push 0x207
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
cmp dword [0x12133f80], ebx
je 0x11caa380
lea ecx, [esp + 0x224]
push ecx
push eax
push str.CDocToText::Initialize_2___08x____s_
push str.GetTxt
push 0xffffffffffffffff
call fcn.11ca5810
add esp, 0x14
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x224]
push eax
xor edi, edi
mov ebp, dword [edx - 8]
call fcn.11e67d05
add esp, 4
cmp ebp, eax
mov ebp, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
jne 0x11caa3bc
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x224]
push ecx
push edx
call fcn.11e67d22
add esp, 8
cmp eax, ebx
je 0x11caa3c5
mov eax, dword [esp + 0x10]
push eax
call ebp
mov edi, eax
mov ecx, dword [esp + 0x14]
push 8
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
cmp edi, ebx
mov dword [esi + 4], eax
je 0x11caa3e6
lea edx, [esp + 0x224]
push edx
call ebp
mov edi, eax
cmp dword [0x12133f80], ebx
je 0x11caa407
mov eax, dword [esi + 4]
push edi
push eax
push str.CDocToText::Initialize_3___08x____d_
push str.GetTxt
push 0xffffffffffffffff
call fcn.11ca5810
add esp, 0x14
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x11caa497
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.TKSxmlInitParser
push eax
call edi
mov ecx, dword [esi + 4]
push str.TKSxmlCleanupParser
push ecx
mov dword [esi + 0xc], eax
call edi
mov edx, dword [esi + 4]
push str.freeMalloc
push edx
mov dword [esi + 0x10], eax
call edi
mov dword [esi + 0x14], eax
mov eax, dword [esi + 4]
push str.extract_get_filetype
push eax
call edi
mov dword [esi + 0x18], eax
mov ecx, dword [0x12133f80]
cmp ecx, ebx
je 0x11caa478
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x10]
push eax
mov eax, dword [esi + 0xc]
push ecx
push edx
push eax
push str.CDocToText::Initialize_test__d___d___d___d_
push str.GetTxt
push 0xffffffffffffffff
call fcn.11ca5810
add esp, 0x1c
mov eax, dword [esi + 0xc]
cmp eax, ebx
je 0x11caa497
cmp dword [esi + 0x10], ebx
je 0x11caa497
cmp dword [esi + 0x14], ebx
je 0x11caa497
cmp dword [esi + 0x18], ebx
je 0x11caa497
call eax
mov dword [esi + 8], 1
lea ecx, [esp + 0x14]
mov byte [esp + 0x63c], bl
call fcn.11e7f280
lea ecx, [esp + 0x10]
mov dword [esp + 0x63c], 0xffffffff
call fcn.11e7f280
pop edi
pop ebp
cmp dword [0x12133f80], ebx
je 0x11caa4dd
mov ecx, dword [esi + 8]
push ecx
push str.CDocToText::Initialize______d_
push str.GetTxt
push 0xffffffffffffffff
call fcn.11ca5810
add esp, 0x10
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x62c]
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x630
ret 4