Function at 0x437fb0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x489a3f
mov eax, dword fs:[0]
push eax
sub esp, 0x24c
mov eax, dword [0x4bc1dc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x254], ebx
cmp word [ebx], 0x5c
mov dword [ebp - 0x250], esi
mov dword [ebp - 0x23c], edi
jne 0x438489
cmp word [esi], 0x19
jb 0x438041
push 0x19
push 0x4a2568
push ebx
call fcn.0046ffcb
add esp, 0xc
test eax, eax
jne 0x438041
cmp word [ebx + 0x32], 0x3b
mov ecx, 0x2d
push 0x4a259c
mov eax, 0x19
cmove eax, ecx
push eax
push 0
push esi
push ebx
call fcn.004372a0
add esp, 0x14
cmp word [esi], 4
jb 0x438072
push 4
push 0x4a24f8
push ebx
call fcn.0047277b
add esp, 0xc
test eax, eax
jne 0x438072
push 0x490c20
push 4
push eax
push esi
push ebx
call fcn.004372a0
add esp, 0x14
jmp 0x438489
cmp word [esi], 0xc
jbe 0x4380a3
push 0xc
push 0x4a25a4
push ebx
call fcn.0046ffcb
add esp, 0xc
test eax, eax
jne 0x4380a3
push 0x4a259c
push 0xc
push eax
push esi
push ebx
call fcn.004372a0
add esp, 0x14
jmp 0x438489
cmp byte [0x4be0a2], 0
je 0x4380d9
cmp word [ebx], 0x5c
jne 0x438489
cmp word [ebx + 2], 0x5c
je 0x438489
call dword [sym.imp.USER32.dll_GetActiveWindow]
push 0
push esi
push ebx
push eax
call fcn.004384b0
add esp, 0x10
jmp 0x438489
cmp word [esi], 0xc
jbe 0x438185
push 0xc
push 0x4a25c0
push ebx
call fcn.0046ffcb
add esp, 0xc
test eax, eax
jne 0x438185
mov ecx, dword [0x4bdde0]
test ecx, ecx
jne 0x438168
push 0x104
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea eax, [ebp - 0x212]
push 0x5c
push eax
call fcn.00471537
add esp, 8
xor ecx, ecx
mov word [eax], cx
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x438136
sub ecx, edx
mov eax, 0x5c
sar ecx, 1
mov word [ebp + ecx*2 - 0x218], ax
inc ecx
mov dword [0x4bdde0], ecx
lea eax, [ecx + ecx]
cmp eax, 0x208
jb 0x438168
call fcn.00472bf1
cmp ecx, 0xc
ja 0x438185
push 0x4bdbd8
push 0xc
push 0
push esi
push ebx
call fcn.004372a0
add esp, 0x14
jmp 0x438489
mov eax, dword [0x4bddfc]
test al, 1
jne 0x4381ae
or eax, 1
push 0x4bdde4
mov dword [0x4bddfc], eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x48d990
call fcn.0046fe79
add esp, 4
push 0x4bdde4
mov dword [ebp - 0x258], 0x4bdde4
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x4bddfc]
mov dword [ebp - 4], 0
test al, 2
jne 0x438213
or eax, 2
mov dword [0x4bddfc], eax
mov ecx, 0x4bde00
mov byte [ebp - 4], 1
mov dword [0x4bde00], 0
mov dword [0x4bde04], 0
call fcn.00438b20
push 0x48d910
mov dword [0x4bde00], eax
call fcn.0046fe79
add esp, 4
mov byte [ebp - 4], 0
cmp byte [0x4be2ea], 0
je 0x438235
mov eax, dword [0x4bde00]
mov ecx, 0x4bde00
push eax
push dword [eax]
lea eax, [ebp - 0x240]
push eax
call fcn.00438d10
mov eax, dword [edi]
mov ecx, 0x4bde00
mov dword [ebp - 0x224], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x21c], eax
lea eax, [ebp - 0x224]
push eax
call fcn.00438c90
mov ebx, dword [0x4bde00]
cmp eax, ebx
je 0x4382c3
lea esi, [eax + 0x10]
mov edi, 8
lea edx, [ebp - 0x224]
mov ecx, dword [edx]
cmp ecx, dword [esi]
jne 0x43828d
add edx, 4
add esi, 4
sub edi, 4
jae 0x438278
xor edi, edi
jmp 0x4382b9
movzx edi, cl
movzx ecx, byte [esi]
sub edi, ecx
jne 0x4382b9
movzx edi, byte [edx + 1]
movzx ecx, byte [esi + 1]
sub edi, ecx
jne 0x4382b9
movzx edi, byte [edx + 2]
movzx ecx, byte [esi + 2]
sub edi, ecx
jne 0x4382b9
movzx edi, byte [edx + 3]
movzx ecx, byte [esi + 3]
sub edi, ecx
mov dword [ebp - 0x240], eax
test edi, edi
jns 0x4382c9
mov dword [ebp - 0x240], ebx
lea edi, [ebp - 0x240]
mov edi, dword [edi]
cmp edi, ebx
jne 0x4383ad
lea ecx, [ebp - 0x24c]
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x248], 0
call fcn.00438b50
mov dword [ebp - 0x24c], eax
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x238]
call fcn.00430a90
movzx edx, byte [0x4bdb78]
mov ecx, 0x4bde00
push edx
push eax
push 0
lea eax, [ebp - 0x244]
mov byte [ebp - 4], 3
push eax
call fcn.00431070
mov eax, dword [ebp - 0x22c]
lea ecx, [ebp - 0x22c]
mov edi, dword [ebp - 0x244]
push eax
mov byte [ebp - 4], 2
push dword [eax]
lea eax, [ebp - 0x240]
push eax
call fcn.00439060
push dword [ebp - 0x22c]
call fcn.0046f057
mov eax, dword [ebp - 0x24c]
lea ecx, [ebp - 0x24c]
add esp, 4
mov byte [ebp - 4], 0
push eax
push dword [eax]
lea eax, [ebp - 0x240]
push eax
call fcn.00439060
push dword [ebp - 0x24c]
call fcn.0046f057
lea eax, [edi + 0x1c]
push eax
push dword [ebp - 0x23c]
push dword [ebp + 0x14]
call fcn.0043b610
add esp, 0x10
mov eax, dword [edi + 0x1c]
mov esi, dword [eax]
mov dword [ebp - 0x240], esi
cmp esi, eax
je 0x43847e
lea ecx, [esi + 0x10]
call fcn.0046a870
lea ecx, [esi + 0x10]
mov dword [ebp - 0x23c], eax
call fcn.0046a2c0
mov ebx, dword [ebp - 0x23c]
mov edx, eax
mov eax, dword [ebp - 0x250]
movzx ecx, word [eax]
cmp ebx, ecx
ja 0x438419
push ebx
push dword [ebp - 0x254]
push edx
call fcn.0046ffcb
add esp, 0xc
test eax, eax
jne 0x438419
mov ecx, dword [ebp - 0x254]
cmp word [ecx + ebx*2], 0x5c
je 0x438431
mov eax, dword [ebp - 0x250]
movzx eax, word [eax]
cmp ebx, eax
je 0x438431
lea ecx, [ebp - 0x240]
call fcn.00462750
mov esi, dword [ebp - 0x240]
cmp esi, dword [edi + 0x1c]
jne 0x4383c0
jmp 0x43847e
mov edi, dword [ebp - 0x250]
lea edx, [ebx + 4]
mov dword [ebp - 0x23c], edx
movzx eax, word [edi]
cmp eax, edx
jb 0x438463
push 4
lea eax, [ecx + ebx*2]
push 0x4a24f8
push eax
call fcn.0046ffcb
add esp, 0xc
test eax, eax
cmove ebx, dword [ebp - 0x23c]
lea ecx, [esi + 0x14]
call fcn.0046a2c0
push eax
push ebx
push 0
push edi
push dword [ebp - 0x254]
call fcn.004372a0
add esp, 0x14
push 0x4bdde4
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046f8ce
mov esp, ebp
pop ebp
ret