Function at 0x40b3f0
Capabilities:
Get common file path

Disassembly:
sub esp, 0x100
push ebp
push edi
push esi
push ebx
push 0x41cf3c
push 0x104
call sub.kernel32.dll_GetCurrentDirectoryA
mov dword [0x41d080], 0x4c
mov dword [0x41d08c], 0x41cbb4
mov dword [0x41d098], 1
mov dword [0x41d09c], 0x41c9b0
mov dword [0x41d0a0], 0x104
mov dword [0x41d0a4], 0x41cab4
mov dword [0x41d0a8], 0x100
mov dword [0x41d0ac], 0x41cf3c
mov dword [0x41d0bc], 0x42650a
push 0x40
push 0x41d040
push 0x56
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
mov esi, eax
mov edx, 0x41d040
lea eax, [esi - 1]
mov bl, byte [eax + edx]
mov esi, eax
test esi, esi
jl 0x40b498
lea eax, [edx + esi]
cmp byte [eax], bl
jne 0x40b494
mov byte [eax], 0
dec eax
dec esi
jns 0x40b48d
mov dword [0x41d1d8], 0x4c
mov dword [0x41d1e4], 0x41d040
mov dword [0x41d1f0], 1
mov dword [0x41d1f4], 0x41ce38
mov dword [0x41d1f8], 0x104
mov dword [0x41d1fc], 0x41cd38
mov dword [0x41d200], 0x100
mov dword [0x41d204], 0x41d0d4
mov dword [0x41d20c], 0x208014
mov dword [0x41d214], 0x426510
call fcn.004181a8
push 0x20
lea ecx, [esp + 0xf4]
mov dword [esp + 0x28], ecx
push ecx
push 7
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 1
mov ecx, dword [esp + 0x28]
push ecx
push 0x41e6f8
call fcn.0040a6f4
test eax, eax
setne al
mov ecx, eax
and ecx, 1
mov dword [0x41de44], ecx
add esp, 0xc
push 0x20
mov ecx, dword [esp + 0x28]
push ecx
push 0x1f
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 0
mov ecx, dword [esp + 0x28]
push ecx
push 0x41e6f8
call fcn.0040a6f4
mov dword [0x41dee0], eax
push 0x20
mov ecx, dword [esp + 0x34]
push ecx
push 0x28
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 1
mov ecx, dword [esp + 0x34]
push ecx
push 0x41e6f8
call fcn.0040a6f4
add esp, 0x18
test eax, eax
je 0x40b5a2
mov dword [0x426920], 0xfb8
jmp 0x40b5ac
mov dword [0x426920], 0xfb9
push 0x20
lea ecx, [esp + 0xf4]
mov dword [esp + 0x24], ecx
push ecx
push 0x36
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 1
mov ecx, dword [esp + 0x24]
push ecx
push 0x41e6f8
call fcn.0040a6f4
test eax, eax
setne al
mov ecx, eax
and ecx, 1
mov dword [0x426a40], ecx
add esp, 0xc
push 0x20
mov ecx, dword [esp + 0x24]
push ecx
push 9
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 1
mov ecx, dword [esp + 0x24]
push ecx
push 0x41e6f8
call fcn.0040a6f4
test eax, eax
setne al
mov ecx, eax
and ecx, 1
add esp, 0xc
mov dword [0x41e578], ecx
mov esi, dword [esp + 0x20]
mov ecx, edi
mov ecx, dword [esi]
test cl, ch
jne 0x40b637
test cl, cl
je 0x40b64f
test ch, ch
je 0x40b64e
test ecx, 0xff0000
je 0x40b64d
add esi, 4
test ecx, 0xff000000
jne 0x40b629
sub esi, 3
inc esi
inc esi
push 0xc
mov ebp, esi
push ebp
push 0x32
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 0x20
lea esi, [esp + 0x2c]
push esi
push 0x2f
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 0x104
push 0x41df3c
push esi
mov ecx, dword [esp + 0x2c]
push ecx
push 0x41e6f8
call fcn.0040a638
push 0xc
push ebp
push 0x30
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
mov ebx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov ecx, dword [ebx]
test cl, ch
jne 0x40b6b5
test cl, cl
je 0x40b6cd
test ch, ch
je 0x40b6cc
test ecx, 0xff0000
je 0x40b6cb
add ebx, 4
test ecx, 0xff000000
jne 0x40b6a7
sub ebx, 3
inc ebx
inc ebx
mov dword [esp + 0x30], ecx
mov edi, ebx
push 0xc
push edi
push 0x28
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push ebp
call sub.user32.dll_CharLowerA
push 0x20
push esi
push 0x2e
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 0x104
push 0x41e160
push esi
mov ecx, dword [esp + 0x40]
push ecx
push 0x41e6f8
call fcn.0040a638
add esp, 0x28
push 0xc
push edi
push 0x2b
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push edi
call sub.user32.dll_CharLowerA
push 0x20
push esi
push 0x33
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 0x104
push 0x41e5d0
push esi
mov ecx, dword [esp + 0x2c]
push ecx
push 0x41e6f8
call fcn.0040a638
push 0xc
push ebp
push 0x31
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
mov ebx, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ebx]
test cl, ch
jne 0x40b77c
test cl, cl
je 0x40b794
test ch, ch
je 0x40b793
test ecx, 0xff0000
je 0x40b792
add ebx, 4
test ecx, 0xff000000
jne 0x40b76e
sub ebx, 3
inc ebx
inc ebx
mov dword [esp + 0x2c], ecx
mov edi, ebx
push 0xc
push edi
push 0x28
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push ebp
call sub.user32.dll_CharLowerA
push 0x20
push esi
push 0x2e
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 0x104
push 0x41e474
push esi
mov ecx, dword [esp + 0x40]
push ecx
push 0x41e6f8
call fcn.0040a638
add esp, 0x28
push 0xc
push edi
push 0x2b
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push edi
call sub.user32.dll_CharLowerA
push 0x20
push esi
push 0x33
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 0x104
push 0x41db7c
push esi
mov ecx, dword [esp + 0x2c]
push ecx
push 0x41e6f8
call fcn.0040a638
push 0x20
mov ecx, dword [esp + 0x38]
push ecx
push 0x1c
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 0xc8
push esi
push 0x40b2c7
mov ecx, dword [esp + 0x40]
push ecx
push 0x41e6f8
call fcn.0040a638
add esp, 0x28
push 0
push esi
call fcn.0040b2b4
mov dword [0x41c658], eax
push 2
push 0
call fcn.0040b2a0
mov dword [0x41c65c], eax
push 2
push 0
call fcn.0040b2a0
mov dword [0x41c578], eax
push 0x6b8b
push 0
call fcn.0040b2a0
mov dword [0x424d30], eax
add esp, 0x20
push 0x20
mov ecx, dword [esp + 0x24]
push ecx
push 0x40
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
xor ebx, ebx
mov ecx, dword [eax]
test cl, ch
jne 0x40b8b7
test cl, cl
je 0x40b8cf
test ch, ch
je 0x40b8ce
test ecx, 0xff0000
je 0x40b8cd
add eax, 4
test ecx, 0xff000000
jne 0x40b8a9
sub eax, 3
inc eax
inc eax
mov ebp, dword [esp + 0x20]
sub eax, dword [esp + 0x20]
mov edi, 0x424b78
lea esi, [eax - 1]
push 0x100
push 2
call sub.kernel32.dll_GlobalAlloc
push eax
call sub.kernel32.dll_GlobalLock
mov dword [edi], eax
test eax, eax
je 0x40b92a
mov cl, bl
add cl, 0x30
mov byte [esi + ebp], cl
push 0x100
mov eax, dword [edi]
push eax
push 0x40b2c7
push ebp
push 0x41e6f8
call fcn.0040a638
mov eax, dword [edi]
add esp, 0x14
cmp byte [eax], 0
je 0x40b92a
add edi, 4
inc ebx
cmp ebx, 9
jle 0x40b8df
push 0x20
lea ecx, [esp + 0xf4]
mov dword [esp + 0x14], ecx
push ecx
push 0x21
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 0xc8
lea esi, [esp + 0x2c]
push esi
push 0x40b2c7
mov ecx, dword [esp + 0x1c]
push ecx
push 0x41e6f8
call fcn.0040a638
push 0
push esi
call fcn.0040b2a0
mov dword [0x425080], eax
push 0x41
push 0
call fcn.0040b2a0
mov dword [0x425078], eax
add esp, 0x24
push 0x78
push 0
call fcn.0040b278
mov edx, eax
shl eax, 4
sub eax, edx
shl eax, 2
mov dword [0x42507c], eax
push 0
push 0
call fcn.0040b2a0
mov dword [0x425084], eax
push 0x20
mov ecx, dword [esp + 0x24]
push ecx
push 0xc
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 0
mov ecx, dword [esp + 0x24]
push ecx
push 0x41e6f8
call fcn.0040a6f4
test eax, eax
setne al
mov ecx, eax
and ecx, 1
mov dword [0x41dd00], ecx
add esp, 0x1c
push 0x20
mov ecx, dword [esp + 0x14]
push ecx
push 0xd
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 0
mov ecx, dword [esp + 0x14]
push ecx
push 0x41e6f8
call fcn.0040a6f4
test eax, eax
setne al
mov ecx, eax
and ecx, 1
mov dword [0x41da60], ecx
add esp, 0xc
push 0x20
mov ecx, dword [esp + 0x14]
push ecx
push 0x50
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 1
mov ecx, dword [esp + 0x14]
push ecx
push 0x41e6f8
call fcn.0040a6f4
mov dword [0x41ddd4], eax
push 0x20
mov ecx, dword [esp + 0x20]
push ecx
push 0x51
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 0
mov ecx, dword [esp + 0x20]
push ecx
push 0x41e6f8
call fcn.0040a6f4
mov dword [0x41e57c], eax
push 0x20
mov ecx, dword [esp + 0x2c]
push ecx
push 0xe
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 0
mov ecx, dword [esp + 0x2c]
push ecx
push 0x41e6f8
call fcn.0040a6f4
test eax, eax
setne al
mov ecx, eax
and ecx, 1
mov dword [0x41dcf0], ecx
add esp, 0x24
push 0x20
mov ecx, dword [esp + 0x14]
push ecx
push 0x35
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 0
mov ecx, dword [esp + 0x14]
push ecx
push 0x41e6f8
call fcn.0040a6f4
mov dword [0x426530], eax
push 0x20
mov ecx, dword [esp + 0x20]
push ecx
push 5
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 0xc8
push esi
push 0x40b2c7
mov ecx, dword [esp + 0x28]
push ecx
push 0x41e6f8
call fcn.0040a638
add esp, 0x20
push 0
push esi
call fcn.0040b2b4
mov dword [0x423d78], eax
push 0
push 0
call fcn.0040b2b4
mov dword [0x42469c], eax
push 0xc8
push esi
push 0x40b2c7
push 0x41de48
push 0x41e6f8
call fcn.0040a638
add esp, 0x24
push 0
push esi
call fcn.0040b2b4
add esp, 8
test eax, eax
je 0x40bb58
cmp dword [0x41e33c], 7
je 0x40bb58
mov dword [0x41e33c], 3
push 0x14
push 0
call fcn.0040b2a0
mov dword [0x41e590], eax
push 0x14
push 0
call fcn.0040b2a0
mov dword [0x41e594], eax
push 0x276
push 0
call fcn.0040b2a0
mov dword [0x41e598], eax
push 0x1d6
push 0
call fcn.0040b2a0
mov dword [0x41e59c], eax
add esp, 0x20
push 0x20
lea ebx, [esp + 0xf4]
push ebx
push 0x23
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 0xc8
lea esi, [esp + 0x2c]
push esi
push 0x40b2c7
push ebx
push 0x41e6f8
call fcn.0040a638
push 0xc
push esi
call fcn.0040b2a0
mov dword [0x41dcf8], eax
push 8
push 0
call fcn.0040b2a0
mov dword [0x41dcfc], eax
add esp, 0x24
push 0x134
push 0x24c
push 8
push 0x184
push 1
push 0xf
push 0x1005
call fcn.0040b2c8
push 0x148
push 0x260
push 0x1c
push 0x198
push 0
push 0x10
push 0x1006
call fcn.0040b2c8
add esp, 0x38
push 0x15c
push 0x274
push 0x30
push 0x1ac
push 0
push 0x11
push 0x1007
call fcn.0040b2c8
push 0x170
push 0x288
push 0x44
push 0x1c0
push 0
push 0x14
push 0x1008
call fcn.0040b2c8
add esp, 0x38
push 0x176
push 0x24c
push 0x13a
push 0x184
push 2
push 0x20
push 0x1009
call fcn.0040b2c8
push 0x1e9
push 0x260
push 0x14e
push 0x20
push 0
push 0x27
push 0x100a
call fcn.0040b2c8
add esp, 0x38
push 0x1d5
push 0x274
push 0x13a
push 0x34
push 0
push 0x3f
push 0x100b
call fcn.0040b2c8
push 0x20
push ebx
push 0x34
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 0x104
push 0x41c680
push 0x40b2c7
push ebx
push 0x41e6f8
call fcn.0040a638
add esp, 0x30
push 0x20
push ebx
push 0x22
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 0x104
push 0x41e054
push 0x40b2c7
push ebx
push 0x41e6f8
call fcn.0040a638
push 0x20
push ebx
push 0x4e
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 0x104
push 0x41d0d4
push 0x40b2c7
push ebx
push 0x41e6f8
call fcn.0040a638
add esp, 0x28
push 0x20
push ebx
push 0x4f
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 0x21
push 0x41c580
push 0x40b2c7
push ebx
push 0x41e6f8
call fcn.0040a638
add esp, 0x14
cmp byte [0x41c580], 0
jne 0x40bd98
push 0x21
push 0x41c580
push 0
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 0x20
push ebx
push 0x52
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 1
push ebx
push 0x41e6f8
call fcn.0040a6f4
test eax, eax
setne al
mov ecx, eax
and ecx, 1
mov dword [0x41e2b4], ecx
add esp, 0xc
push 0x20
push ebx
push 0x53
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 1
push ebx
push 0x41e6f8
call fcn.0040a6f4
test eax, eax
setne al
mov ecx, eax
and ecx, 1
mov dword [0x41dcd4], ecx
add esp, 0xc
push 0x20
push ebx
push 0x18
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 0xc8
push esi
push 0x40b2c7
push ebx
push 0x41e6f8
call fcn.0040a638
push 0x80ffff
push esi
call fcn.0040b278
mov dword [0x41da5c], eax
push 0x4060a0
push 0
call fcn.0040b278
mov dword [0x41e6dc], eax
add esp, 0x24
push 0xff
push 0
call fcn.0040b278
mov dword [0x41de34], eax
push pe_nt_image_headers32
push 0
call fcn.0040b278
mov dword [0x41df2c], eax
push 0x20
push ebx
push 0x41
mov eax, dword [0x41db78]
push eax
call sub.user32.dll_LoadStringA
push 0xc8
push esi
push 0x40b2c7
push ebx
push 0x41e6f8
call fcn.0040a638
mov eax, esi
xor esi, esi
add esp, 0x24
push 0xffffff
push eax
call fcn.0040b278
mov dword [esi*4 + 0x41deec], eax
add esp, 8
xor eax, eax
inc esi
cmp esi, 0xf
jle 0x40be91
pop ebx
pop esi
pop edi
pop ebp
add esp, 0x100
ret