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

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
xor esi, esi
cmp dword [esp + 0x1c], esi
push edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], esi
je 0x1002850
dec dword [esp + 0x20]
mov edi, dword [esp + 0x24]
xor ebx, ebx
inc ebx
mov ebp, ebx
mov dword [0x10074b8], esi
mov dword [0x10074b0], esi
mov dword [0x10074ac], esi
mov eax, dword [esp + 0x20]
dec dword [esp + 0x20]
test eax, eax
je 0x1002a79
add edi, 4
mov eax, dword [edi]
mov cx, word [eax]
cmp cx, 0x2d
je 0x1002893
cmp cx, 0x2f
jne 0x1002a75
lea ecx, [eax + 2]
movzx edx, word [ecx]
add edx, 0xffffffbf
cmp edx, 0x39
ja case.0x10028ac.66
movzx edx, byte [edx + 0x1002b8d]
jmp dword [edx*4 + 0x1002b51]
cmp dword [0x100748c], esi
jne case.0x10028ac.66
cmp word [eax + 4], si
jne case.0x10028ac.66
mov dword [0x100748c], ebx
jmp 0x1002a37
cmp dword [0x1007004], esi
je case.0x10028ac.66
cmp word [eax + 4], si
jne case.0x10028ac.66
mov dword [0x1007004], esi
jmp 0x1002a37
mov dword [0x10074b8], ebx
mov dword [0x10074ac], ebx
jmp 0x1002a37
cmp dword [esp + 0x10], esi
jne case.0x10028ac.66
cmp word [eax + 4], 0x3a
jne case.0x10028ac.66
add eax, 6
cmp word [eax], si
je case.0x10028ac.66
mov dword [esp + 0x10], eax
jmp 0x1002a37
mov dword [0x10074b4], ebx
jmp 0x1002a37
mov dword [0x10074b8], ebx
jmp 0x1002a37
cmp dword [0x10074b0], esi
jne case.0x10028ac.66
cmp word [eax + 4], si
jne case.0x10028ac.66
mov dword [0x10074b0], ebx
mov dword [0x1007490], ebx
jmp 0x1002a37
mov dword [0x10074a8], ebx
jmp 0x1002a37
cmp dword [esp + 0x14], esi
jne case.0x10028ac.66
cmp word [eax + 4], 0x3a
jne case.0x10028ac.66
add eax, 6
cmp word [eax], si
je case.0x10028ac.66
mov dword [esp + 0x14], eax
jmp 0x1002a37
push 0xa
push 0x1001460
push ecx
call fcn.01003b82
add esp, 0xc
test eax, eax
jne 0x10029bb
push 0xb
pop eax
jmp 0x10029f6
mov eax, dword [edi]
push 8
inc eax
inc eax
push 0x100144c
push eax
call fcn.01003b82
add esp, 0xc
test eax, eax
jne 0x10029d7
push 9
jmp 0x10029b8
mov eax, dword [edi]
push ebx
inc eax
inc eax
push 0x1001448
push eax
call fcn.01003b82
add esp, 0xc
test eax, eax
jne 0x10029f2
push 2
jmp 0x10029b8
xor ebp, ebp
xor eax, eax
cmp dword [esp + 0x18], esi
jne case.0x10028ac.66
mov dword [0x10074bc], ebx
mov ecx, dword [edi]
lea eax, [ecx + eax*2]
cmp word [eax], 0x3a
jne case.0x10028ac.66
add eax, 2
cmp word [eax], si
je case.0x10028ac.66
mov dword [esp + 0x18], eax
jmp 0x1002a37
mov dword [0x10074a4], ebx
jmp 0x1002a37
cmp dword [0x1007490], esi
jne case.0x10028ac.66
cmp word [eax + 4], si
je 0x1002962
xor ebp, ebp
cmp ebp, esi
jne 0x100286b
movzx eax, word [0x1007498]
push 0x11010
push eax
push esi
push 0xea63
push esi
call fcn.01001e69
add esp, 0x14
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0xc
ret 8
mov dword [0x10071b0], ebx
jmp 0x1002a37
mov dword [esp + 0x20], esi
jmp 0x1002a37
xor ebp, ebp
jmp 0x1002a3f
cmp ebp, esi
je 0x1002a3f
cmp dword [esp + 0x10], esi
jne 0x1002a85
xor ebp, ebp
cmp ebp, esi
je 0x1002a3f
lea eax, [esp + 0x24]
push eax
mov edi, 0x1007b20
push edi
push dword [esp + 0x18]
call fcn.010027f8
push dword [esp + 0x10]
mov esi, 0x1007900
push esi
call fcn.01003b66
push 0x5c
pop ebx
push ebx
push esi
call fcn.01003b36
add esp, 0x10
test eax, eax
je 0x1002acc
push ebx
push esi
call fcn.01003b36
and word [eax], 0
pop ecx
pop ecx
jmp 0x1002ad8
push esi
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
cmp dword [esp + 0x14], 0
je 0x1002af4
lea eax, [esp + 0x24]
push eax
push 0x10076e0
push dword [esp + 0x1c]
call fcn.010027f8
jmp 0x1002b1b
push edi
mov edi, 0x10076e0
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push ebx
push edi
call fcn.01003b36
test eax, eax
pop ecx
pop ecx
je 0x1002b1b
push ebx
push edi
call fcn.01003b36
and word [eax], 0
pop ecx
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
xor eax, eax
cmp dword [esp + 0x18], eax
je 0x1002b42
lea eax, [esp + 0x24]
push eax
push 0x10074c0
push dword [esp + 0x20]
call fcn.010027f8
jmp 0x1002a5b
mov dword [0x10074b0], eax
mov dword [0x1007490], eax
jmp 0x1002a5b