Function at 0x408ca0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x532bc2
mov eax, dword fs:[0]
push eax
sub esp, 0x290
mov eax, dword [0x59e074]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esi + 0xc]
mov edi, dword [eax]
test edi, edi
jne 0x408cdc
xor eax, eax
jmp 0x408d22
mov ecx, dword [edi + 0xb8]
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x29c]
mov dword [ebp - 0x234], 0xa
push eax
add ecx, 0x40
call fcn.0047a700
mov ecx, dword [edi + 0xb8]
mov eax, dword [eax]
cmp eax, dword [ecx + 0x40]
je 0x408d16
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x408d22
mov eax, dword [esi + 0xc]
push 0xa
mov ecx, dword [eax]
call fcn.004798e0
mov ecx, dword [esi - 0x20]
lea edx, [esi + 0xd4]
mov dword [edx + 8], ecx
mov dword [edx + 4], eax
test eax, eax
je 0x408d3b
mov dword [eax + 0xc0], edx
lea ecx, [ebp - 0x294]
call fcn.00427eb0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x230]
push 0x10
xor eax, eax
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0
push str.KeanPdfConverter
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
call fcn.00404720
mov byte [ebp - 4], 1
lea eax, [ebp - 0x230]
cmp dword [ebp - 0x21c], 8
lea ecx, [ebp - 0x294]
push dword [ebp - 0x220]
cmovae eax, dword [ebp - 0x230]
push eax
call fcn.00404720
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.004046b0
lea eax, [ebp - 0x264]
mov byte [ebp - 4], 0
push eax
lea ecx, [ebp - 0x294]
call fcn.00429910
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x254]
test ecx, ecx
je 0x408e91
cmp ecx, 0xfa
ja 0x408e35
lea edi, [esi + 0xe0]
lea eax, [ebp - 0x264]
cmp edi, eax
je 0x408e20
cmp dword [ebp - 0x250], 8
push ecx
cmovae eax, dword [ebp - 0x264]
mov ecx, edi
push eax
call fcn.00404720
mov ecx, dword [esi + 0xd8]
test ecx, ecx
je 0x408e35
mov eax, dword [ecx]
push 1
push edi
call dword [eax + 0xd0]
mov ecx, dword [esi + 0xd8]
mov byte [esi + 0xf8], 0
test ecx, ecx
je 0x408e4d
mov eax, dword [ecx]
push 0
call dword [eax + 0x3c]
push 0x3ea
mov ecx, esi
call fcn.00468df0
test eax, eax
je 0x408e66
mov edx, dword [eax]
mov ecx, eax
push 0
call dword [edx + 0x3c]
push 0xb
mov ecx, esi
call fcn.00468df0
mov edi, eax
test edi, edi
je 0x4090a9
mov edx, dword [edi]
mov ecx, edi
push 1
call dword [edx + 0x34]
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0xa0]
jmp 0x4090a9
mov ecx, dword [esi + 0xd8]
mov byte [esi + 0xf8], 1
test ecx, ecx
je 0x408ea9
mov eax, dword [ecx]
push 1
call dword [eax + 0x3c]
push 0x3ea
mov ecx, esi
call fcn.00468df0
test eax, eax
je 0x408ec2
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx + 0x3c]
push 0xb
mov ecx, esi
call fcn.00468df0
mov edi, eax
test edi, edi
je 0x408ee4
mov edx, dword [edi]
mov ecx, edi
push 0
call dword [edx + 0x34]
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0xa0]
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.0050c400
add esp, 0xc
call fcn.00413630
test al, al
lea eax, [ebp - 0x218]
push 0x104
push eax
je 0x408f16
push str._ProgramW6432_
jmp 0x408f1b
push str._ProgramFiles_
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
xor eax, eax
mov dword [ebp - 0x23c], 0
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x23c], 0
lea edx, [ecx + 2]
mov dword [ebp - 0x238], 7
mov word [ebp - 0x24c], ax
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x408f60
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x24c]
call fcn.00404720
push 6
push str.Kean_
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 7
call fcn.00404be0
mov dword [ebp - 0x26c], 0
xor ecx, ecx
mov dword [ebp - 0x268], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x27c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x26c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push 0x10
push str.KeanPdfConverter
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 8
call fcn.00404be0
xor ecx, ecx
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x230], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea ecx, [ebp - 0x27c]
movq qword [ebp - 0x220], xmm0
mov byte [ebp - 4], 7
call fcn.004046b0
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 6
call fcn.004046b0
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x220]
cmp ecx, 0xfa
ja 0x409096
lea edi, [esi + 0xe0]
lea eax, [ebp - 0x230]
cmp edi, eax
je 0x409081
cmp dword [ebp - 0x21c], 8
push ecx
cmovae eax, dword [ebp - 0x230]
mov ecx, edi
push eax
call fcn.00404720
mov ecx, dword [esi + 0xd8]
test ecx, ecx
je 0x409096
mov eax, dword [ecx]
push 1
push edi
call dword [eax + 0xd0]
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0xa
call fcn.004046b0
mov byte [ebp - 4], 6
push 0x3e9
push 0x400000
call dword [sym.imp.USER32.dll_LoadIconW]
push eax
push 1
push 0x80
push dword [esi - 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0xe
call fcn.004046b0
lea ecx, [ebp - 0x294]
mov dword [ebp - 4], 0xffffffff
call fcn.00414960
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00509af6
mov esp, ebp
pop ebp
ret