Function at 0x476ec0
Capabilities:
Get common file path

Disassembly:
sub esp, 0x220
mov eax, dword [0x5fe940]
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x22c], eax
mov esi, ecx
call fcn.00476bc0
lea eax, [esp + 0x2c]
push eax
push 0x200
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push str.equip
call fcn.00436a80
mov eax, dword [esp + 0x238]
lea eax, [eax + eax*2]
shl eax, 1
lea edi, [esi + 0x180]
mov esi, eax
imul esi, esi, 0x340
mov ebx, eax
shl ebx, 8
add esp, 4
xor ebp, ebp
add ebx, str.carrot_armor_default.spr
mov dword [esp + 0x28], eax
add esi, 0x67b2f5
jmp 0x476f31
mov eax, dword [esp + 0x28]
lea ecx, [eax + ebp]
cmp ecx, 6
jge 0x477104
mov al, byte [esi - 1]
mov dl, byte [esi - 9]
mov cl, byte [esi - 8]
xor dl, al
xor cl, al
mov byte [esp + 0x20], dl
mov dl, byte [esi - 7]
mov byte [esp + 0x21], cl
mov cl, byte [esi - 6]
xor dl, al
xor cl, al
mov al, byte [esi]
mov byte [esp + 0x22], dl
mov dl, byte [esi - 5]
mov byte [esp + 0x23], cl
mov cl, byte [esi - 4]
xor dl, al
xor cl, al
mov byte [esp + 0x18], dl
mov dl, byte [esi - 3]
mov byte [esp + 0x19], cl
mov cl, byte [esi - 2]
xor dl, al
xor cl, al
mov byte [esp + 0x1a], dl
mov edx, dword [esp + 0x20]
mov byte [esp + 0x1b], cl
cmp edx, dword [esp + 0x18]
je 0x476f9e
mov dword [0], 1
mov al, byte [esi - 1]
mov cl, byte [esi - 9]
mov dl, byte [esi - 8]
xor cl, al
xor dl, al
mov byte [esp + 0x24], cl
mov cl, byte [esi - 7]
mov byte [esp + 0x25], dl
mov dl, byte [esi - 6]
xor cl, al
xor dl, al
mov byte [esp + 0x26], cl
mov byte [esp + 0x27], dl
mov eax, dword [esp + 0x24]
test eax, eax
je 0x476fee
mov ecx, dword [0x6508a4]
imul eax, eax, 0x4ac
lea eax, [eax + ecx + 0x3ac]
cmp byte [eax], 0
je 0x476fee
push 0
push 3
push 1
push eax
jmp 0x476ff5
push 0
push 3
push 1
push ebx
mov ecx, 0x879bc8
call fcn.0055cf20
mov dword [edi], eax
mov al, byte [esi + 0x10f]
mov dl, byte [esi + 0x107]
mov cl, byte [esi + 0x108]
xor dl, al
xor cl, al
mov byte [esp + 0x10], dl
mov dl, byte [esi + 0x109]
mov byte [esp + 0x11], cl
mov cl, byte [esi + 0x10a]
xor dl, al
xor cl, al
mov al, byte [esi + 0x110]
mov byte [esp + 0x12], dl
mov dl, byte [esi + 0x10b]
mov byte [esp + 0x13], cl
mov cl, byte [esi + 0x10c]
xor dl, al
xor cl, al
mov byte [esp + 0x14], dl
mov dl, byte [esi + 0x10d]
mov byte [esp + 0x15], cl
mov cl, byte [esi + 0x10e]
xor dl, al
xor cl, al
mov byte [esp + 0x16], dl
mov edx, dword [esp + 0x10]
mov byte [esp + 0x17], cl
cmp edx, dword [esp + 0x14]
je 0x477081
mov dword [0], 1
mov al, byte [esi + 0x10f]
mov cl, byte [esi + 0x107]
mov dl, byte [esi + 0x108]
xor cl, al
xor dl, al
mov byte [esp + 0x1c], cl
mov cl, byte [esi + 0x109]
mov byte [esp + 0x1d], dl
mov dl, byte [esi + 0x10a]
xor cl, al
xor dl, al
mov byte [esp + 0x1e], cl
mov byte [esp + 0x1f], dl
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4770eb
mov ecx, dword [0x6508a4]
imul eax, eax, 0x4ac
lea eax, [eax + ecx + 0x3ac]
cmp byte [eax], 0
je 0x4770eb
push 0
push 3
push 1
push eax
mov ecx, 0x879bc8
call fcn.0055cf20
mov dword [edi + 4], eax
inc ebp
add ebx, 0x100
add esi, 0x340
add edi, 0xc
cmp ebp, 6
jl 0x476f2d
lea edx, [esp + 0x2c]
push edx
call fcn.00436a80
mov ecx, dword [esp + 0x230]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
call fcn.005900c7
add esp, 0x220
ret 4