Function at 0x406120
Capabilities:
Hide graphical window
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x501b27
mov eax, dword fs:[0]
push eax
sub esp, 0x2b0
mov eax, dword [0x556620]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x245]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], 0
call fcn.004071b0
push 0x55bc38
mov dword [ebp - 4], 0
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
push 0
push 0
call fcn.004071c0
add esp, 8
mov byte [ebp - 0x219], 1
call fcn.00408a10
movzx ecx, byte [ebp - 0x219]
xor edx, edx
cmp eax, 1
cmovl ecx, edx
mov dword [ebp - 0x27c], ecx
call fcn.00408da0
cmp byte [str.type], 0
mov esi, eax
mov dword [ebp - 0x288], esi
mov dword [ebp - 0x2a8], 0xf
mov dword [ebp - 0x2ac], 0
mov byte [ebp - 0x2bc], 0
jne 0x4061e8
xor ecx, ecx
jmp 0x4061f9
mov ecx, str.type
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4061f0
sub ecx, edx
push ecx
push str.type
lea ecx, [ebp - 0x2bc]
call fcn.00408dc0
lea eax, [ebp - 0x2bc]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x23c]
mov ecx, esi
push eax
call fcn.00408ec0
cmp dword [ebp - 0x2a8], 0x10
mov byte [ebp - 4], 3
jb 0x40623e
push dword [ebp - 0x2bc]
call fcn.0040823e
add esp, 4
cmp byte [str.renderer], 0
mov dword [ebp - 0x2a8], 0xf
mov dword [ebp - 0x2ac], 0
mov byte [ebp - 0x2bc], 0
jne 0x406266
xor ecx, ecx
jmp 0x406279
mov ecx, str.renderer
lea edx, [ecx + 1]
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406270
sub ecx, edx
cmp dword [ebp - 0x228], 0x10
lea esi, [ebp - 0x23c]
mov edi, dword [ebp - 0x22c]
mov edx, ecx
cmovae esi, dword [ebp - 0x23c]
cmp edi, ecx
cmovb edx, edi
test edx, edx
je 0x4062fe
mov edi, str.renderer
sub edx, 4
jb 0x4062b9
mov eax, dword [esi]
cmp eax, dword [edi]
jne 0x4062be
add esi, 4
add edi, 4
sub edx, 4
jae 0x4062a8
cmp edx, 0xfffffffc
je 0x4062f2
mov al, byte [esi]
cmp al, byte [edi]
jne 0x4062eb
cmp edx, 0xfffffffd
je 0x4062f2
mov al, byte [esi + 1]
cmp al, byte [edi + 1]
jne 0x4062eb
cmp edx, 0xfffffffe
je 0x4062f2
mov al, byte [esi + 2]
cmp al, byte [edi + 2]
jne 0x4062eb
cmp edx, 0xffffffff
je 0x4062f2
mov al, byte [esi + 3]
cmp al, byte [edi + 3]
je 0x4062f2
sbb eax, eax
or eax, 1
jmp 0x4062f4
xor eax, eax
mov edi, dword [ebp - 0x22c]
test eax, eax
jne 0x406310
cmp edi, ecx
jae 0x406307
or eax, 0xffffffff
jmp 0x40630e
xor eax, eax
cmp edi, ecx
setne al
test eax, eax
sete byte [ebp - 0x277]
cmp byte [str.compute_only_renderer], 0
jne 0x406324
xor ecx, ecx
jmp 0x406339
mov ecx, str.compute_only_renderer
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406330
sub ecx, edx
cmp dword [ebp - 0x228], 0x10
lea esi, [ebp - 0x23c]
mov edx, ecx
cmovae esi, dword [ebp - 0x23c]
cmp edi, ecx
cmovb edx, edi
test edx, edx
je 0x4063b8
mov edi, str.compute_only_renderer
sub edx, 4
jb 0x406373
mov eax, dword [esi]
cmp eax, dword [edi]
jne 0x406378
add esi, 4
add edi, 4
sub edx, 4
jae 0x406362
cmp edx, 0xfffffffc
je 0x4063ac
mov al, byte [esi]
cmp al, byte [edi]
jne 0x4063a5
cmp edx, 0xfffffffd
je 0x4063ac
mov al, byte [esi + 1]
cmp al, byte [edi + 1]
jne 0x4063a5
cmp edx, 0xfffffffe
je 0x4063ac
mov al, byte [esi + 2]
cmp al, byte [edi + 2]
jne 0x4063a5
cmp edx, 0xffffffff
je 0x4063ac
mov al, byte [esi + 3]
cmp al, byte [edi + 3]
je 0x4063ac
sbb eax, eax
or eax, 1
jmp 0x4063ae
xor eax, eax
test eax, eax
jne 0x4063ca
mov edi, dword [ebp - 0x22c]
cmp edi, ecx
jae 0x4063c1
or eax, 0xffffffff
jmp 0x4063c8
xor eax, eax
cmp edi, ecx
setne al
test eax, eax
sete byte [ebp - 0x219]
cmp byte [str.compute_only_broker], 0
jne 0x4063de
xor edi, edi
jmp 0x4063ef
mov edi, str.compute_only_broker
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x4063e6
sub edi, ecx
cmp dword [ebp - 0x228], 0x10
lea ecx, [ebp - 0x23c]
mov esi, dword [ebp - 0x22c]
mov edx, edi
cmovae ecx, dword [ebp - 0x23c]
cmp esi, edi
cmovb edx, esi
test edx, edx
je 0x406476
mov esi, str.compute_only_broker
sub edx, 4
jb 0x406431
mov edi, edi
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x406436
add ecx, 4
add esi, 4
sub edx, 4
jae 0x406420
cmp edx, 0xfffffffc
je 0x40646a
mov al, byte [ecx]
cmp al, byte [esi]
jne 0x406463
cmp edx, 0xfffffffd
je 0x40646a
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x406463
cmp edx, 0xfffffffe
je 0x40646a
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x406463
cmp edx, 0xffffffff
je 0x40646a
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
je 0x40646a
sbb eax, eax
or eax, 1
jmp 0x40646c
xor eax, eax
test eax, eax
jne 0x406488
mov esi, dword [ebp - 0x22c]
cmp esi, edi
jae 0x40647f
or eax, 0xffffffff
jmp 0x406486
xor eax, eax
cmp esi, edi
setne al
test eax, eax
sete byte [ebp - 0x275]
call fcn.00409600
mov edi, dword [ebp - 0x22c]
mov byte [ebp - 0x276], al
test edi, edi
je 0x4064e5
cmp byte [ebp - 0x277], 0
jne 0x4064e5
cmp byte [ebp - 0x219], 0
jne 0x4064e5
cmp byte [ebp - 0x275], 0
jne 0x4064e5
cmp dword [ebp - 0x228], 0x10
mov byte [ebp - 4], 0
jb 0x4064da
push dword [ebp - 0x23c]
call fcn.0040823e
add esp, 4
mov edi, dword [ebp - 0x288]
jmp 0x40714e
mov ecx, dword [ebp - 0x27c]
test cl, cl
je 0x40663a
test edi, edi
jne 0x406526
push 0x513978
push str.Acrobat_Reader
call fcn.00409a40
mov edi, dword [ebp - 0x22c]
add esp, 8
test eax, eax
setne al
mov byte [ebp - 0x27c], al
mov al, byte [ebp - 0x276]
mov ecx, dword [ebp - 0x27c]
test cl, cl
je 0x40663a
test al, al
je 0x406563
call fcn.00408a10
cmp eax, 3
jl 0x40655d
push str.user32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
je 0x40655d
push str.SetProcessDPIAware
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x40655d
call eax
mov edi, dword [ebp - 0x22c]
test edi, edi
je 0x4065fa
cmp byte [str.compute_only_broker], 0
jne 0x406578
xor esi, esi
jmp 0x406589
mov esi, str.compute_only_broker
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x406580
sub esi, ecx
cmp dword [ebp - 0x228], 0x10
lea ecx, [ebp - 0x23c]
mov eax, esi
cmovae ecx, dword [ebp - 0x23c]
cmp edi, esi
cmovb eax, edi
push eax
push str.compute_only_broker
push ecx
call fcn.0040b860
add esp, 0xc
test eax, eax
jne 0x4065c9
cmp edi, esi
jae 0x4065c0
or eax, 0xffffffff
jmp 0x4065c7
xor eax, eax
cmp edi, esi
setne al
test eax, eax
sete al
test al, al
jne 0x4065fa
cmp dword [0x55b4c4], 0
jne 0x4065f0
push 0xc0100010
mov edi, 3
call fcn.00450660
add esp, 4
jmp 0x407133
push 0
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
jmp 0x406662
call fcn.0040b480
push 0x513e4c
push 0x8002
mov byte [0x55a336], al
call dword [sym.imp.USER32.dll_FindWindowA]
mov edi, eax
test edi, edi
je 0x406662
push str.AcroExe_load_done
call dword [sym.imp.USER32.dll_RegisterWindowMessageA]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push 1
push esi
push edi
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x406662
push dword [ebp - 0x284]
call fcn.0040b3b0
add esp, 4
test al, al
je 0x406655
mov byte [ebp - 0x27c], 1
jmp 0x406662
cmp byte [ebp - 0x27c], 0
je 0x40672a
call fcn.0040b4d0
cmp byte [ebp - 0x275], 0
mov byte [0x55a334], al
jne 0x40667e
cmp byte [ebp - 0x219], 0
je 0x406688
mov dword [str.acrord32_sbx], 0x513e70
call fcn.0040bed0
mov byte [0x55a335], al
test al, al
je 0x40672a
cmp byte [str.renderer], 0
jne 0x4066a7
xor esi, esi
jmp 0x4066b9
mov esi, str.renderer
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x4066b0
sub esi, ecx
cmp dword [ebp - 0x228], 0x10
lea ecx, [ebp - 0x23c]
mov edi, dword [ebp - 0x22c]
mov eax, esi
cmovae ecx, dword [ebp - 0x23c]
cmp edi, esi
cmovb eax, edi
push eax
push str.renderer
push ecx
call fcn.0040b860
add esp, 0xc
test eax, eax
jne 0x4066ff
cmp edi, esi
jae 0x4066f6
or eax, 0xffffffff
jmp 0x4066fd
xor eax, eax
cmp edi, esi
setne al
test eax, eax
sete al
test al, al
je 0x40672a
mov eax, dword [0x55a348]
test eax, eax
je 0x40672a
push eax
call dword [sym.imp.USER32.dll_SetProcessWindowStation]
test eax, eax
je 0x40672a
mov eax, dword [0x55a34c]
test eax, eax
je 0x40672a
push eax
call dword [sym.imp.USER32.dll_SetThreadDesktop]
mov edi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
lea eax, [ebp - 0x240]
push eax
push 0x20019
push 0
push str.SoftwareAdobeAdobe_AcrobatDCSecurity
push 0x80000002
mov esi, 1
call edi
test eax, eax
jne 0x4067b2
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x224], eax
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x224]
mov dword [ebp - 0x220], 4
push eax
lea eax, [ebp - 0x244]
push eax
push 0
push 0x513afc
push dword [ebp - 0x240]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40679e
cmp dword [ebp - 0x224], eax
cmove esi, eax
push dword [ebp - 0x240]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
je 0x4068b6
lea eax, [ebp - 0x224]
xor esi, esi
push eax
push 0x20019
push esi
push 0x513b00
push 0x80000002
mov dword [ebp - 0x224], esi
call edi
test eax, eax
jne 0x40683b
lea eax, [ebp - 0x244]
mov dword [ebp - 0x240], esi
push eax
lea eax, [ebp - 0x220]
mov dword [ebp - 0x220], esi
push eax
lea eax, [ebp - 0x240]
mov dword [ebp - 0x244], 4
push eax
push esi
push str.bEnableATL7Compat
push dword [ebp - 0x224]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40682f
cmp dword [ebp - 0x240], 4
jne 0x40682f
mov eax, 1
cmp dword [ebp - 0x220], eax
cmove esi, eax
push dword [ebp - 0x224]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push 0x511988
call edi
test eax, eax
je 0x406871
push str.SetProcessDEPPolicy
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x406871
xor ecx, ecx
test esi, esi
sete cl
lea ecx, [ecx*2 + 1]
push ecx
call eax
test eax, eax
jne 0x4068b6
push 0x513b64
call edi
test eax, eax
je 0x4068b6
push str.NtSetInformationProcess
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
test edi, edi
je 0x4068b6
xor ecx, ecx
lea eax, [ebp - 0x244]
test esi, esi
push 4
setne cl
push eax
push 0x22
lea ecx, [ecx*4 + 9]
mov dword [ebp - 0x244], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call edi
cmp byte [ebp - 0x27c], 0
je 0x406934
mov edi, dword [ebp - 0x22c]
test edi, edi
je 0x406934
cmp byte [str.compute_only_broker], 0
jne 0x4068d6
xor esi, esi
jmp 0x4068e9
mov esi, str.compute_only_broker
lea ecx, [esi + 1]
mov edi, edi
mov al, byte [esi]
inc esi
test al, al
jne 0x4068e0
sub esi, ecx
cmp dword [ebp - 0x228], 0x10
lea ecx, [ebp - 0x23c]
mov eax, esi
cmovae ecx, dword [ebp - 0x23c]
cmp edi, esi
cmovb eax, edi
push eax
push str.compute_only_broker
push ecx
call fcn.0040b860
add esp, 0xc
test eax, eax
jne 0x406929
cmp edi, esi
jae 0x406920
or eax, 0xffffffff
jmp 0x406927
xor eax, eax
cmp edi, esi
setne al
test eax, eax
sete al
test al, al
je 0x4069e2
push 1
call fcn.0040b760
add esp, 4
test eax, eax
je 0x406977
push 0xc0100010
xor edi, edi
call fcn.00450660
add esp, 4
mov byte [ebp - 4], 0
cmp dword [ebp - 0x228], 0x10
jb 0x40696c
push dword [ebp - 0x23c]
call fcn.0040823e
add esp, 4
mov dword [ebp - 0x22c], edi
jmp 0x407158
mov eax, dword [0x5560fc]
xor esi, esi
mov edi, dword [sym.imp.USER32.dll_SendNotifyMessageW]
mov dword [ebp - 0x244], eax
lea ebx, [ebx]
push 0
push eax
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
je 0x4069b2
push 0
push 0
push 0x10
push eax
call edi
mov eax, dword [ebp - 0x244]
inc esi
cmp esi, 0x14
jb 0x406990
mov eax, dword [str.AdobeReaderSpeedLaunchCmdWnd]
xor esi, esi
mov dword [ebp - 0x244], eax
nop
push 0
push eax
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
je 0x4069e2
push 0
push 0
push 0x10
push eax
call edi
mov eax, dword [ebp - 0x244]
inc esi
cmp esi, 0x14
jb 0x4069c0
xor edi, edi
mov dword [ebp - 0x240], edi
cmp dword [ebp - 0x22c], edi
jne 0x406a3f
push dword [ebp - 0x284]
call fcn.0040b9e0
add esp, 4
test al, al
je 0x406a3f
push str.Acrobat_Viewer_Safe_DDE
push 3
push 3
push edi
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
mov edi, eax
mov dword [ebp - 0x240], edi
test edi, edi
je 0x406a3f
push 0x927c0
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x406a3f
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor edi, edi
mov dword [ebp - 0x240], edi
call fcn.0040ba40
cmp byte [ebp - 0x27c], 0
je 0x406bac
cmp byte [0x55a335], 0
mov byte [ebp - 0x219], 1
mov dword [ebp - 0x224], 0
je 0x406a7a
mov edx, dword [ebp - 0x22c]
test edx, edx
jne 0x406a84
call fcn.0040c0e0
mov edx, dword [ebp - 0x22c]
test edx, edx
je 0x406af8
cmp byte [str.compute_only_broker], 0
jne 0x406a91
xor esi, esi
jmp 0x406aa9
mov esi, str.compute_only_broker
lea ecx, [esi + 1]
lea esp, [esp]
mov al, byte [esi]
inc esi
test al, al
jne 0x406aa0
sub esi, ecx
cmp dword [ebp - 0x228], 0x10
lea ecx, [ebp - 0x23c]
mov eax, esi
cmovae ecx, dword [ebp - 0x23c]
cmp edx, esi
cmovb eax, edx
push eax
push str.compute_only_broker
push ecx
call fcn.0040b860
mov ecx, eax
add esp, 0xc
test ecx, ecx
jne 0x406af1
mov eax, dword [ebp - 0x22c]
cmp eax, esi
jae 0x406ae8
or ecx, 0xffffffff
jmp 0x406aef
xor ecx, ecx
cmp eax, esi
setne cl
test ecx, ecx
sete al
test al, al
je 0x406aff
mov byte [0x55a351], 1
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x219]
push eax
push dword [ebp - 0x28c]
call fcn.0040c440
mov esi, eax
add esp, 0xc
mov eax, dword [0x55a340]
test eax, eax
je 0x406b39
push eax
call fcn.00419db5
add esp, 4
mov dword [0x55a340], 0
test esi, esi
je 0x406b81
cmp dword [ebp - 0x22c], 0
jne 0x406b81
mov byte [ebp - 0x27c], 0
cmp esi, 5
jne 0x406bac
test edi, edi
je 0x406b69
push 0
push 1
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
call eax
mov edi, dword [ebp - 0x224]
push 0xc0100010
call fcn.00450660
add esp, 4
jmp 0x407133
cmp byte [ebp - 0x219], 0
jne 0x406bac
test edi, edi
je 0x406ba1
push 0
push 1
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
call eax
mov edi, dword [ebp - 0x224]
jmp 0x407133
mov byte [0x55a351], 0
call fcn.0040bcf0
cmp byte [ebp - 0x27c], 0
mov byte [ebp - 0x277], al
je 0x406e53
cmp byte [str.renderer], 0
jne 0x406bd8
xor ecx, ecx
jmp 0x406be9
mov ecx, str.renderer
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406be0
sub ecx, edx
cmp dword [ebp - 0x228], 0x10
lea esi, [ebp - 0x23c]
mov eax, dword [ebp - 0x22c]
mov edx, ecx
cmovae esi, dword [ebp - 0x23c]
cmp eax, ecx
cmovb edx, eax
test edx, edx
je 0x406cb1
mov dword [ebp - 0x220], str.renderer
sub edx, 4
jb 0x406c42
mov edi, dword [ebp - 0x220]
mov eax, dword [esi]
cmp eax, dword [edi]
mov edi, dword [ebp - 0x240]
jne 0x406c47
add dword [ebp - 0x220], 4
add esi, 4
sub edx, 4
jae 0x406c21
cmp edx, 0xfffffffc
je 0x406ca5
mov edi, dword [ebp - 0x220]
mov al, byte [esi]
cmp al, byte [edi]
mov edi, dword [ebp - 0x240]
jne 0x406c9e
cmp edx, 0xfffffffd
je 0x406ca5
mov edi, dword [ebp - 0x220]
mov al, byte [esi + 1]
cmp al, byte [edi + 1]
mov edi, dword [ebp - 0x240]
jne 0x406c9e
cmp edx, 0xfffffffe
je 0x406ca5
mov edi, dword [ebp - 0x220]
mov al, byte [esi + 2]
cmp al, byte [edi + 2]
mov edi, dword [ebp - 0x240]
jne 0x406c9e
cmp edx, 0xffffffff
je 0x406ca5
mov edx, dword [ebp - 0x220]
mov al, byte [esi + 3]
cmp al, byte [edx + 3]
je 0x406ca5
sbb eax, eax
or eax, 1
jmp 0x406ca7
xor eax, eax
test eax, eax
jne 0x406cc7
mov eax, dword [ebp - 0x22c]
cmp eax, ecx
jae 0x406cba
or eax, 0xffffffff
jmp 0x406cc5
xor eax, eax
cmp dword [ebp - 0x22c], ecx
setne al
test eax, eax
sete al
test al, al
je 0x406e60
push 3
xor eax, eax
mov dword [ebp - 0x290], 7
push 0x511f3c
lea ecx, [ebp - 0x2a4]
mov dword [ebp - 0x294], 0
mov word [ebp - 0x2a4], ax
call fcn.004073d0
mov ecx, dword [ebp - 0x288]
lea eax, [ebp - 0x2a4]
push eax
mov byte [ebp - 4], 4
call fcn.00410940
cmp dword [ebp - 0x290], 8
mov byte [ebp - 0x219], al
mov byte [ebp - 4], 3
jb 0x406d3e
push dword [ebp - 0x2a4]
call fcn.0040823e
mov al, byte [ebp - 0x219]
add esp, 4
test al, al
je 0x406d7c
lea eax, [ebp - 0x2a4]
push 0x511f3c
push eax
call fcn.004643d0
add esp, 8
mov dword [ebp - 0x280], 1
mov ecx, eax
push 0xd
push 0
push str.pdfshell_prev
call fcn.0040b680
mov byte [ebp - 0x275], 1
cmp eax, 0xffffffff
jne 0x406d83
mov byte [ebp - 0x275], 0
test byte [ebp - 0x280], 1
je 0x406da3
cmp dword [ebp - 0x290], 8
jb 0x406da3
push dword [ebp - 0x2a4]
call fcn.0040823e
add esp, 4
cmp byte [ebp - 0x219], 0
je 0x406db5
cmp byte [ebp - 0x275], 0
je 0x406e06
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
push 0
push 0
push 0
push 0
push 0xffffc000
push 0xffffc000
push 0x10000000
push 0x511a98
push str.EDIT
push 0x80
call fcn.00414370
cmp byte [ebp - 0x276], 0
mov dword [0x55a344], eax
jne 0x406e06
test eax, eax
je 0x406e06
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
call fcn.00417c80
push 0x40100001
call fcn.0040c080
add esp, 4
cmp byte [ebp - 0x276], 0
je 0x406e3d
call fcn.00482190
mov eax, dword [0x55a344]
test eax, eax
je 0x406e3d
push 0x8000000
push 0xffffffffffffffec
push eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
cmp byte [0x55a337], 0
je 0x406e60
push str.UseSandboxModalWndReparenting
call dword [sym.imp.KERNEL32.dll_AddAtomW]
jmp 0x406e60
push 0x40100001
call fcn.0040c080
add esp, 4
push 0x104
lea eax, [ebp - 0x218]
push eax
push str.AcroRd32.dll
call fcn.0040c1a0
add esp, 0xc
test eax, eax
je 0x4070fa
lea eax, [ebp - 0x218]
push eax
call fcn.0040c7d0
mov esi, eax
mov dword [ebp - 0x224], esi
test esi, esi
je 0x4070fa
xor edi, edi
lea ecx, [ebp - 0x254]
xorps xmm0, xmm0
mov dword [ebp - 0x24c], edi
movdqu xmmword [ebp - 0x25c], xmm0
mov dword [ebp - fcn.0043f810], 0x513b94
mov dword [ebp - 0x258], edi
mov dword [ebp - 0x254], edi
mov dword [ebp - 0x250], edi
call fcn.00405f90
mov dword [ebp - 0x254], eax
mov dword [ebp - 0x24c], edi
push dword [ebp - 0x284]
mov byte [ebp - 4], 5
call fcn.0040df6a
add esp, 4
mov dword [ebp - 0x280], eax
cmp byte [ebp - 0x27c], 0
je 0x40706c
cmp byte [str.compute_only_renderer], 0
lea eax, [ebp - 0x25c]
xorps xmm0, xmm0
movdqu xmmword [ebp - 0x274], xmm0
mov dword [ebp - 0x274], 1
movq qword [ebp - 0x264], xmm0
mov dword [ebp - 0x270], fcn.00417c80
mov dword [ebp - 0x26c], eax
jne 0x406f48
xor ecx, ecx
jmp 0x406f59
mov ecx, str.compute_only_renderer
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406f50
sub ecx, edx
cmp dword [ebp - 0x228], 0x10
lea edi, [ebp - 0x23c]
mov eax, dword [ebp - 0x22c]
mov edx, ecx
cmovae edi, dword [ebp - 0x23c]
cmp eax, ecx
cmovb edx, eax
test edx, edx
je 0x407021
mov dword [ebp - 0x220], str.compute_only_renderer
sub edx, 4
jb 0x406fb2
mov esi, dword [ebp - 0x220]
mov eax, dword [edi]
cmp eax, dword [esi]
mov esi, dword [ebp - 0x224]
jne 0x406fb7
add dword [ebp - 0x220], 4
add edi, 4
sub edx, 4
jae 0x406f91
cmp edx, 0xfffffffc
je 0x407015
mov esi, dword [ebp - 0x220]
mov al, byte [edi]
cmp al, byte [esi]
mov esi, dword [ebp - 0x224]
jne 0x40700e
cmp edx, 0xfffffffd
je 0x407015
mov esi, dword [ebp - 0x220]
mov al, byte [edi + 1]
cmp al, byte [esi + 1]
mov esi, dword [ebp - 0x224]
jne 0x40700e
cmp edx, 0xfffffffe
je 0x407015
mov esi, dword [ebp - 0x220]
mov al, byte [edi + 2]
cmp al, byte [esi + 2]
mov esi, dword [ebp - 0x224]
jne 0x40700e
cmp edx, 0xffffffff
je 0x407015
mov edx, dword [ebp - 0x220]
mov al, byte [edi + 3]
cmp al, byte [edx + 3]
je 0x407015
sbb eax, eax
or eax, 1
jmp 0x407017
xor eax, eax
test eax, eax
jne 0x407037
mov eax, dword [ebp - 0x22c]
cmp eax, ecx
jae 0x40702a
or eax, 0xffffffff
jmp 0x407035
xor eax, eax
cmp dword [ebp - 0x22c], ecx
setne al
test eax, eax
sete al
lea edi, [ebp - 0x274]
xor ecx, ecx
test al, al
movzx eax, byte [ebp - 0x277]
mov dword [ebp - 0x264], eax
setne cl
movzx eax, byte [0x55a350]
mov dword [ebp - 0x268], ecx
mov dword [ebp - 0x260], eax
call fcn.0041b5c0
push str.AcroWinMainSandbox
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x407083
mov edi, 0xff
jmp 0x40709d
push edi
push dword [ebp + 0x14]
push dword [ebp - 0x280]
push dword [ebp - 0x28c]
push esi
call eax
mov edi, eax
neg edi
sbb edi, edi
inc edi
push dword [ebp - 0x280]
call fcn.004039c2
add esp, 4
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov esi, dword [ebp - 0x240]
test esi, esi
je 0x4070cf
push 0
push 1
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call eax
mov eax, dword [ebp - 0x254]
lea ecx, [ebp - 0x254]
push eax
push dword [eax]
lea eax, [ebp - 0x288]
push eax
call fcn.0040e120
push dword [ebp - 0x254]
call fcn.0040823e
add esp, 4
jmp 0x407133
cmp byte [ebp - 0x27c], 0
jne 0x407117
push 0
push str.Fatal_Error
push str.Acrobat_failed_to_load_its_Core_DLL
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
test edi, edi
je 0x40712e
push 0
push 1
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
call eax
mov edi, 0xff
cmp dword [ebp - 0x228], 0x10
mov byte [ebp - 4], 0
jb 0x40714e
push dword [ebp - 0x23c]
call fcn.0040823e
add esp, 4
mov dword [ebp - 0x22c], 0
push 0x40100000
mov dword [ebp - 0x228], 0xf
mov byte [ebp - 0x23c], 0
call fcn.0040c080
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x245]
call fcn.0040e320
mov eax, edi
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.00401580
mov esp, ebp
pop ebp
ret 0x10