Function at 0x436fc0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48702f
mov eax, dword fs:[0]
push eax
sub esp, 0x24c
mov eax, dword [0x4b31cc]
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 0x437499
cmp word [esi], 0x19
jb 0x437051
push 0x19
push 0x49a4f8
push ebx
call fcn.0046e6bb
add esp, 0xc
test eax, eax
jne 0x437051
cmp word [ebx + 0x32], 0x3b
mov ecx, 0x2d
push 0x49a52c
mov eax, 0x19
cmove eax, ecx
push eax
push 0
push esi
push ebx
call fcn.004362b0
add esp, 0x14
cmp word [esi], 4
jb 0x437082
push 4
push 0x49a488
push ebx
call fcn.004707fb
add esp, 0xc
test eax, eax
jne 0x437082
push 0x48cc00
push 4
push eax
push esi
push ebx
call fcn.004362b0
add esp, 0x14
jmp 0x437499
cmp word [esi], 0xc
jbe 0x4370b3
push 0xc
push 0x49a534
push ebx
call fcn.0046e6bb
add esp, 0xc
test eax, eax
jne 0x4370b3
push 0x49a52c
push 0xc
push eax
push esi
push ebx
call fcn.004362b0
add esp, 0x14
jmp 0x437499
cmp byte [0x4b5059], 0
je 0x4370e9
cmp word [ebx], 0x5c
jne 0x437499
cmp word [ebx + 2], 0x5c
je 0x437499
call dword [sym.imp.USER32.dll_GetActiveWindow]
push 0
push esi
push ebx
push eax
call fcn.004374c0
add esp, 0x10
jmp 0x437499
cmp word [esi], 0xc
jbe 0x437195
push 0xc
push 0x49a550
push ebx
call fcn.0046e6bb
add esp, 0xc
test eax, eax
jne 0x437195
mov ecx, dword [0x4b4d98]
test ecx, ecx
jne 0x437178
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.0046f5b7
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 0x437146
sub ecx, edx
mov eax, 0x5c
sar ecx, 1
mov word [ebp + ecx*2 - 0x218], ax
inc ecx
mov dword [0x4b4d98], ecx
lea eax, [ecx + ecx]
cmp eax, 0x208
jb 0x437178
call fcn.00470c71
cmp ecx, 0xc
ja 0x437195
push 0x4b4b90
push 0xc
push 0
push esi
push ebx
call fcn.004362b0
add esp, 0x14
jmp 0x437499
mov eax, dword [0x4b4db4]
test al, 1
jne 0x4371be
or eax, 1
push 0x4b4d9c
mov dword [0x4b4db4], eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x48ae10
call fcn.0046e569
add esp, 4
push 0x4b4d9c
mov dword [ebp - 0x258], 0x4b4d9c
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x4b4db4]
mov dword [ebp - 4], 0
test al, 2
jne 0x437223
or eax, 2
mov dword [0x4b4db4], eax
mov ecx, 0x4b4db8
mov byte [ebp - 4], 1
mov dword [0x4b4db8], 0
mov dword [0x4b4dbc], 0
call fcn.00437b30
push 0x48ad90
mov dword [0x4b4db8], eax
call fcn.0046e569
add esp, 4
mov byte [ebp - 4], 0
cmp byte [0x4b52a1], 0
je 0x437245
mov eax, dword [0x4b4db8]
mov ecx, 0x4b4db8
push eax
push dword [eax]
lea eax, [ebp - 0x240]
push eax
call fcn.00437d70
mov eax, dword [edi]
mov ecx, 0x4b4db8
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.00437cf0
mov ebx, dword [0x4b4db8]
cmp eax, ebx
je 0x4372d3
lea esi, [eax + 0x10]
mov edi, 8
lea edx, [ebp - 0x224]
mov ecx, dword [edx]
cmp ecx, dword [esi]
jne 0x43729d
add edx, 4
add esi, 4
sub edi, 4
jae 0x437288
xor edi, edi
jmp 0x4372c9
movzx edi, cl
movzx ecx, byte [esi]
sub edi, ecx
jne 0x4372c9
movzx edi, byte [edx + 1]
movzx ecx, byte [esi + 1]
sub edi, ecx
jne 0x4372c9
movzx edi, byte [edx + 2]
movzx ecx, byte [esi + 2]
sub edi, ecx
jne 0x4372c9
movzx edi, byte [edx + 3]
movzx ecx, byte [esi + 3]
sub edi, ecx
mov dword [ebp - 0x240], eax
test edi, edi
jns 0x4372d9
mov dword [ebp - 0x240], ebx
lea edi, [ebp - 0x240]
mov edi, dword [edi]
cmp edi, ebx
jne 0x4373bd
lea ecx, [ebp - 0x24c]
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x248], 0
call fcn.0045b8c0
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.0042fae0
movzx edx, byte [0x4b4b30]
mov ecx, 0x4b4db8
push edx
push eax
push 0
lea eax, [ebp - 0x244]
mov byte [ebp - 4], 3
push eax
call fcn.004300c0
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.004380c0
push dword [ebp - 0x22c]
call fcn.0046d747
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.004380c0
push dword [ebp - 0x24c]
call fcn.0046d747
lea eax, [edi + 0x1c]
push eax
push dword [ebp - 0x23c]
push dword [ebp + 0x14]
call fcn.0043a660
add esp, 0x10
mov eax, dword [edi + 0x1c]
mov esi, dword [eax]
mov dword [ebp - 0x240], esi
cmp esi, eax
je 0x43748e
lea ecx, [esi + 0x10]
call fcn.00468f70
lea ecx, [esi + 0x10]
mov dword [ebp - 0x23c], eax
call fcn.004689b0
mov ebx, dword [ebp - 0x23c]
mov edx, eax
mov eax, dword [ebp - 0x250]
movzx ecx, word [eax]
cmp ebx, ecx
ja 0x437429
push ebx
push dword [ebp - 0x254]
push edx
call fcn.0046e6bb
add esp, 0xc
test eax, eax
jne 0x437429
mov ecx, dword [ebp - 0x254]
cmp word [ecx + ebx*2], 0x5c
je 0x437441
mov eax, dword [ebp - 0x250]
movzx eax, word [eax]
cmp ebx, eax
je 0x437441
lea ecx, [ebp - 0x240]
call fcn.0045ea20
mov esi, dword [ebp - 0x240]
cmp esi, dword [edi + 0x1c]
jne 0x4373d0
jmp 0x43748e
mov edi, dword [ebp - 0x250]
lea edx, [ebx + 4]
mov dword [ebp - 0x23c], edx
movzx eax, word [edi]
cmp eax, edx
jb 0x437473
push 4
lea eax, [ecx + ebx*2]
push 0x49a488
push eax
call fcn.0046e6bb
add esp, 0xc
test eax, eax
cmove ebx, dword [ebp - 0x23c]
lea ecx, [esi + 0x14]
call fcn.004689b0
push eax
push ebx
push 0
push edi
push dword [ebp - 0x254]
call fcn.004362b0
add esp, 0x14
push 0x4b4d9c
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.0046dfbe
mov esp, ebp
pop ebp
ret