Function at 0x436b20
Capabilities:
Check if file exists
Get file version info

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c3a66
mov eax, dword fs:[0]
push eax
sub esp, 0x2a4
mov eax, dword [0x64306c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x25c], 0
lea ecx, [ebp - 0x248]
call fcn.00425f30
mov dword [ebp - 4], 0
cmp dword [ebp + 0xc], 0
jne 0x436bb8
mov ax, word [0x628844]
mov word [ebp - 0x218], ax
push 0x206
push 0
lea ecx, [ebp - 0x216]
push ecx
call fcn.00596fa0
add esp, 0xc
push 0x104
lea edx, [ebp - 0x218]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x248]
call fcn.004347d0
jmp 0x436bc7
mov ecx, dword [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x248]
call fcn.004347d0
lea ecx, [ebp - 0x230]
call fcn.00425f30
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x248]
call fcn.00423dd0
test eax, eax
jbe 0x436f78
lea ecx, [ebp - 0x248]
call fcn.00422ca0
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x436f78
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x258], 0
lea edx, [ebp - 0x24c]
push edx
lea ecx, [ebp - 0x248]
call fcn.00422ca0
push eax
call dword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [ebp - 0x260], eax
cmp dword [ebp - 0x260], 0
jne 0x436c86
lea eax, [ebp - 0x230]
push eax
mov ecx, dword [ebp + 8]
call fcn.00425250
mov ecx, dword [ebp - 0x25c]
or ecx, 1
mov dword [ebp - 0x25c], ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x230]
call fcn.00425b70
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x248]
call fcn.00425b70
mov eax, dword [ebp + 8]
jmp 0x436fba
mov edx, dword [ebp - 0x260]
add edx, 1
push edx
call fcn.0057e12f
add esp, 4
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0x258], eax
cmp dword [ebp - 0x258], 0
jne 0x436cfa
lea ecx, [ebp - 0x230]
push ecx
mov ecx, dword [ebp + 8]
call fcn.00425250
mov edx, dword [ebp - 0x25c]
or edx, 1
mov dword [ebp - 0x25c], edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x230]
call fcn.00425b70
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x248]
call fcn.00425b70
mov eax, dword [ebp + 8]
jmp 0x436fba
mov eax, dword [ebp - 0x258]
push eax
mov ecx, dword [ebp - 0x260]
push ecx
push 0
lea ecx, [ebp - 0x248]
call fcn.00422ca0
push eax
call dword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
jne 0x436db1
mov edx, dword [ebp - 0x258]
mov dword [ebp - 0x264], edx
mov eax, dword [ebp - 0x264]
push eax
call fcn.0057e138
add esp, 4
cmp dword [ebp - 0x264], 0
jne 0x436d54
mov dword [ebp - 0x27c], 0
jmp 0x436d6a
mov dword [ebp - 0x258], 0x8123
mov ecx, dword [ebp - 0x258]
mov dword [ebp - 0x27c], ecx
lea edx, [ebp - 0x230]
push edx
mov ecx, dword [ebp + 8]
call fcn.00425250
mov eax, dword [ebp - 0x25c]
or eax, 1
mov dword [ebp - 0x25c], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x230]
call fcn.00425b70
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x248]
call fcn.00425b70
mov eax, dword [ebp + 8]
jmp 0x436fba
lea ecx, [ebp - 0x250]
push ecx
lea edx, [ebp - 0x254]
push edx
push 0x628848
mov eax, dword [ebp - 0x258]
push eax
call dword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
jne 0x436e66
mov ecx, dword [ebp - 0x258]
mov dword [ebp - 0x268], ecx
mov edx, dword [ebp - 0x268]
push edx
call fcn.0057e138
add esp, 4
cmp dword [ebp - 0x268], 0
jne 0x436e09
mov dword [ebp - 0x280], 0
jmp 0x436e1f
mov dword [ebp - 0x258], 0x8123
mov eax, dword [ebp - 0x258]
mov dword [ebp - 0x280], eax
lea ecx, [ebp - 0x230]
push ecx
mov ecx, dword [ebp + 8]
call fcn.00425250
mov edx, dword [ebp - 0x25c]
or edx, 1
mov dword [ebp - 0x25c], edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x230]
call fcn.00425b70
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x248]
call fcn.00425b70
mov eax, dword [ebp + 8]
jmp 0x436fba
mov eax, dword [ebp - 0x254]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x26c], ecx
mov edx, dword [ebp - 0x254]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x270], eax
mov ecx, dword [ebp - 0x26c]
shr ecx, 0x10
and ecx, 0xffff
movzx edx, cx
mov dword [ebp - 0x290], edx
mov eax, dword [ebp - 0x26c]
and eax, 0xffff
movzx ecx, ax
mov dword [ebp - 0x28c], ecx
mov edx, dword [ebp - 0x270]
shr edx, 0x10
and edx, 0xffff
movzx eax, dx
mov dword [ebp - 0x288], eax
mov ecx, dword [ebp - 0x270]
and ecx, 0xffff
movzx edx, cx
mov dword [ebp - 0x298], edx
mov eax, dword [ebp - 0x258]
mov dword [ebp - 0x274], eax
mov ecx, dword [ebp - 0x274]
push ecx
call fcn.0057e138
add esp, 4
cmp dword [ebp - 0x274], 0
jne 0x436f0d
mov dword [ebp - 0x284], 0
jmp 0x436f23
mov dword [ebp - 0x258], 0x8123
mov edx, dword [ebp - 0x258]
mov dword [ebp - 0x284], edx
mov eax, dword [ebp - 0x288]
xor edx, edx
mov ecx, 0x64
div ecx
push eax
mov edx, dword [ebp - 0x28c]
push edx
mov eax, dword [ebp - 0x290]
push eax
push 0x62884c
lea ecx, [ebp - 0x2b0]
push ecx
call fcn.004401d0
add esp, 0x14
mov dword [ebp - 0x294], eax
mov edx, dword [ebp - 0x294]
push edx
lea ecx, [ebp - 0x230]
call fcn.00433560
lea ecx, [ebp - 0x2b0]
call fcn.00425b70
lea eax, [ebp - 0x230]
push eax
mov ecx, dword [ebp + 8]
call fcn.00425250
mov ecx, dword [ebp - 0x25c]
or ecx, 1
mov dword [ebp - 0x25c], ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x230]
call fcn.00425b70
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x248]
call fcn.00425b70
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0057e11e
mov esp, ebp
pop ebp
ret