Function at 0x436005
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
push ebx
push esi
push edi
push 0xfffffffffffffff6
pop edi
mov esi, ecx
mov dword [ebp - 8], edi
push 2
lea ecx, [ebp - 0x2c]
call fcn.00421789
xor ebx, ebx
push 3
mov dword [ebp - 8], ebx
pop ecx
jmp 0x436038
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x20], 0xfffffffc
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x43602a
mov dword [ebp - 8], ebx
jmp 0x436050
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x38], 0xbd52a284
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x436042
mov dword [ebp - 8], ebx
jmp 0x43606a
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x2c]
mov dword [eax + ecx*4], 0xfffffffa
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x43605a
mov dword [ebp - 0x1c], edi
cmp dword [ebp - 0x1c], 0xfffffffd
je 0x43620c
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 0x10], 0xfffffff8
mov dword [ebp - 0x14], 1
mov dword [ebp - 0xc], ebx
cmp dword [ebp - 0x18], ebx
je 0x4360b9
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x14]
test eax, eax
je 0x4360ab
cmp dword [ebp - 0x18], ebx
je 0x4360ab
xor eax, eax
inc eax
jmp 0x4360ad
mov eax, ebx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], 0x1a35ca42
mov eax, dword [ebp - 0x18]
cmp ecx, eax
sbb eax, eax
neg eax
imul ecx, eax, 0xb6bd
cmp dword [ebp - 0x10], 0xfffffffc
sbb eax, eax
xor edx, edx
neg eax
cmp eax, ecx
mov dword [edi + 4], ecx
setge dl
xor ecx, ecx
add edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setne cl
xor edx, edx
imul ecx, ecx, 0x8ef3
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xc]
setg cl
imul eax, ecx
cmp eax, 1
jae 0x436126
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x10]
jmp 0x4361fc
mov dword [ebp - 8], 1
mov dword [ebp - 0x14], 0x1cd3c6e8
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x436144
push ebx
call dword [sym.imp.USER32.dll_IsRectEmpty]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
mov dword [ebp - 8], 0x7527
cmp dword [ebp - 8], ebx
jne 0x43618b
mov eax, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
add ecx, 9
cmp ecx, eax
mov eax, dword [ebp - 8]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setge bl
xor ecx, ecx
cmp ebx, eax
setge cl
xor ebx, ebx
cmp ecx, 0xfffffffc
jbe 0x43618b
mov edx, ebx
jmp 0x43618e
xor edx, edx
inc edx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, edx
setne cl
sub ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
cmp eax, 7
setne dl
sub edx, 0x55ef1c8d
sub edx, dword [ebp - 0xc]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
sub edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
cmp edx, 0x3426ae69
setge cl
xor edx, edx
cmp ecx, eax
setg dl
mov dword [ebp - 0x30], edx
test edx, edx
je 0x4361e5
cmp dword [ebp - 8], ebx
je 0x4361e5
xor edx, edx
inc edx
jmp 0x4361e7
mov edx, ebx
mov eax, dword [ebp - 0xc]
xor ecx, ecx
cmp edx, eax
sete cl
xor eax, eax
cmp ecx, 0x233c
setle al
mov dword [ebp - 0x14], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffffd
jne 0x436080
mov dword [ebp - 8], ebx
jmp 0x436229
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x436226
push 0xd3f
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
inc dword [ebp - 8]
cmp dword [ebp - 8], 1
jle 0x436211
lea ecx, [ebp - 0x2c]
call fcn.00421a31
mov eax, dword [esi]
pop edi
pop esi
mov dword [eax], ebx
pop ebx
mov esp, ebp
pop ebp
ret