Function at 0x10005470
Capabilities:
Get common file path

Disassembly:
sub esp, 8
push ebx
push esi
push edi
push 0x85a
push 0x10030ea0
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov edi, dword [esp + 0x10]
mov ecx, edi
mov dword [0x10023800], eax
call fcn.100053c0
push dword [0x10023798]
mov dword [0x10023800], eax
push str._u_like_Heart
call fcn.10001010
mov ecx, dword [0x10023798]
add esp, 8
call fcn.100053c0
push 0x10024210
push 0x85a
mov dword [0x100237b0], eax
mov dword [0x100237b4], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov esi, eax
mov ecx, edi
mov dword [esp + 0x10], esi
mov dword [0x10023794], esi
call fcn.100053c0
mov dl, byte [0x100237a4]
mov ebx, eax
movzx ecx, dl
mov eax, 3
mov esi, ecx
nop
movzx ecx, byte [eax + 0x100237a0]
sub ebx, ecx
cmp edi, esi
je 0x10005513
inc eax
cmp eax, 7
jl 0x10005500
mov esi, dword [esp + 0x10]
movzx eax, dl
mov dword [0x10023800], ebx
cmp eax, ebx
jb 0x10005534
mov cx, word [0x1002379c]
movzx eax, dl
movzx edx, cl
imul edx, eax
cmp byte [0x100237a3], 0xd
movzx edx, dl
movzx eax, bl
cmovbe edx, eax
mov dword [esp + 0xc], edx
mov byte [0x100237a4], dl
cmp edi, 0x2744e391
jne 0x100055c7
mov ecx, 3
movzx edx, dl
mov dword [0x10030e90], ecx
movzx eax, byte [ecx + 0x100237a0]
sub esi, eax
cmp ebx, edx
je 0x10005577
inc ecx
cmp ecx, 7
jl 0x10005564
mov dword [0x10023794], esi
mov dword [0x10030e90], ecx
pop edi
fnstsw word [ebx]
nop
mov dl, byte [0x100237a4]
mov ecx, 3
mov ebx, dword [0x10023800]
mov esi, dword [0x10023794]
movzx eax, dl
mov dword [esp + 0xc], edx
mov edi, eax
mov dword [esp + 0x10], eax
nop dword [eax + eax]
movzx eax, byte [ecx + 0x100237a0]
sub esi, eax
cmp ebx, edi
je 0x100055c3
inc ecx
cmp ecx, 7
jl 0x100055b0
mov edi, dword [esp + 0x10]
movzx eax, dl
cmp eax, ebx
jb 0x100055e1
mov ecx, dword [0x100237b0]
movzx eax, dl
movzx edx, cl
imul edx, eax
mov dword [esp + 0xc], edx
mov cx, word [0x1002379c]
mov eax, 3
movzx edx, dl
cmp cx, dx
je 0x100055fb
inc eax
cmp eax, 7
jl 0x100055f0
movzx eax, byte [0x100237a3]
mov dword [esp + 0x10], eax
cdq
cmp edx, dword [0x100237b4]
ja 0x1000561d
jb 0x10005619
cmp eax, dword [0x100237b0]
ja 0x1000561d
mov al, bl
jmp 0x10005621
mov eax, dword [esp + 0xc]
cmp dword [esp + 0x10], ebx
movzx edx, al
movzx eax, cl
cmovbe edx, eax
mov eax, 3
mov dword [esp + 0xc], edx
mov byte [0x100237a4], dl
movzx edx, dl
cmp cx, dx
je 0x1000564b
inc eax
cmp eax, 7
jl 0x10005640
mov eax, dword [esp + 0xc]
mov ecx, 3
mov dword [0x100237b0], esi
mov dword [0x100237b4], 0
movzx edx, al
nop word [eax + eax]
movzx eax, byte [ecx + 0x100237a0]
sub esi, eax
cmp ebx, edx
je 0x10005683
inc ecx
cmp ecx, 7
jl 0x10005670
mov eax, dword [esp + 0xc]
mov ecx, 3
mov dword [0x10023794], esi
mov dword [0x10030e90], ecx
movzx edx, al
nop dword [eax + eax]
movzx eax, byte [ecx + 0x100237a0]
sub ebx, eax
cmp edi, edx
je 0x100056b3
inc ecx
cmp ecx, 7
jl 0x100056a0
mov dword [0x10030e90], ecx
mov ecx, dword [0x10023798]
mov dword [0x10023800], ebx
call fcn.10004cb0
mov dword [0x10023798], eax
call fcn.10001040
cmp dword [0x100237cc], edi
mov eax, dword [0x100237d0]
cmovbe eax, dword [0x10023794]
pop edi
pop esi
mov dword [0x100237d0], eax
mov eax, 1
pop ebx
add esp, 8
ret 0xc