Function at 0x474080
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ca2b6
mov eax, dword fs:[0]
push eax
sub esp, 0xd0
mov eax, dword [0x645624]
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 eax, dword [ebp + 8]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x44], 0xf
mov dword [ebp - 0x48], 0
mov byte [ebp - 0x58], 0
push 0x48
lea eax, [ebp - 0xd0]
mov dword [ebp - 4], 0
push 0
push eax
call fcn.00581fe0
add esp, 0xc
lea ecx, [ebp - 0xd0]
call fcn.00457ba0
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
mov dword [ebp - 0x74], 0xf
mov dword [ebp - 0x78], 0
mov byte [ebp - 0x88], 0
push 0xffffffffffffffff
push 0
xor bl, bl
mov byte [ebp - 4], 3
push 0x64e560
lea ecx, [ebp - 0x28]
mov byte [ebp - 0xd1], bl
call fcn.0045f9d0
cmp dword [ebp - 0x18], 0
je 0x474429
push str.PRODUCT_INFO_XML
push 0xd9
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov esi, eax
test esi, esi
je 0x474183
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov edi, eax
test edi, edi
je 0x474183
push esi
push 0
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_LockResource]
test eax, eax
je 0x474183
push esi
push eax
lea ecx, [ebp - 0x58]
call fcn.0045f8d0
cmp dword [ebp - 0x48], 0
je 0x474445
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
push 1
cmovae eax, dword [ebp - 0x58]
lea ecx, [ebp - 0xd0]
push 0
push eax
call fcn.0045a3e0
mov esi, dword [ebp - 0xb8]
test esi, esi
je 0x474445
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
test eax, eax
jne 0x4741cd
mov esi, dword [esi + 0x28]
test esi, esi
jne 0x4741b6
jmp 0x474445
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
test eax, eax
je 0x474445
push str.leid
mov ecx, eax
call fcn.004566a0
mov esi, eax
test esi, esi
je 0x474445
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x18]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4742ec
mov eax, dword [eax + 0x20]
mov edx, 0x6090cf
add eax, 8
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
cmovne edx, eax
mov byte [ebp - 0x40], 0
cmp byte [edx], 0
jne 0x47422d
xor ecx, ecx
jmp 0x47423b
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x474232
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x40]
call fcn.0045f8d0
xor ecx, ecx
mov byte [ebp - 4], 4
cmp byte [str.Acrobat], cl
mov eax, 7
cmove eax, ecx
push eax
push ecx
push str.Acrobat
lea ecx, [ebp - 0x40]
call fcn.004679a0
lea ecx, [ebp - 0x40]
cmp eax, 0xffffffff
je 0x47428e
push dword [ebp - 0x18]
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
push 0
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.004679a0
cmp eax, 0xffffffff
setne al
jmp 0x4742cf
cmp dword [ebp - 0x14], 0x10
lea edx, [ebp - 0x28]
mov edi, dword [ebp - 0x18]
mov eax, edi
cmovae edx, dword [ebp - 0x28]
cmp dword [ebp - 0x2c], 0x10
mov ebx, dword [ebp - 0x30]
cmovae ecx, dword [ebp - 0x40]
cmp ebx, edi
cmovb eax, ebx
push eax
push edx
push ecx
call fcn.00462f10
add esp, 0xc
test eax, eax
jne 0x4742cc
cmp edi, ebx
jbe 0x4742c6
or eax, 0xffffffff
jmp 0x4742ca
sbb eax, eax
neg eax
test eax, eax
sete al
test al, al
jne 0x474325
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x2c]
cmp eax, 0x10
jb 0x4742ec
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.00459720
mov esi, dword [esi + 0x28]
test esi, esi
je 0x474305
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
test eax, eax
jne 0x47431a
mov esi, dword [esi + 0x28]
test esi, esi
jne 0x4742f3
xor esi, esi
test esi, esi
jne 0x4741f2
mov bl, byte [ebp - 0xd1]
jmp 0x474445
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
mov esi, eax
jmp 0x474307
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x18]
push str.iconId
lea ecx, [eax + 0x2c]
call fcn.00458bd0
test eax, eax
je 0x47435a
mov eax, dword [eax + 0x18]
add eax, 8
je 0x47435a
mov eax, dword [esi]
mov ecx, esi
push str.iconId
call dword [eax + 0x18]
mov ecx, eax
call fcn.00457580
jmp 0x47435f
mov eax, 0x6090cf
push eax
lea ecx, [ebp - 0x70]
call fcn.0045e830
mov byte [ebp - 4], 5
cmp dword [ebp - 0x60], 0
jne 0x474379
mov eax, 0x87
jmp 0x47438d
cmp dword [ebp - 0x5c], 0x10
lea eax, [ebp - 0x70]
cmovae eax, dword [ebp - 0x70]
push eax
call fcn.0058df7a
add esp, 4
mov ebx, dword [ebp - 0xd8]
mov byte [ebx + 0x30], al
cmp dword [ebx + 0x28], 0
jne 0x4743d6
mov eax, dword [esi]
mov ecx, esi
push str.version
call dword [eax + 0x18]
mov ecx, eax
call fcn.00457580
test eax, eax
je 0x4743c8
mov eax, dword [esi]
mov ecx, esi
push str.version
call dword [eax + 0x18]
mov ecx, eax
call fcn.00457580
jmp 0x4743cd
mov eax, 0x6090cf
push eax
lea ecx, [ebx + 0x18]
call fcn.0045f890
cmp dword [ebx + 0x10], 0
jne 0x474415
mov eax, dword [esi]
mov ecx, esi
push 0x60ba98
call dword [eax + 0x18]
mov ecx, eax
call fcn.00457580
test eax, eax
je 0x474408
mov eax, dword [esi]
mov ecx, esi
push 0x60ba98
call dword [eax + 0x18]
mov ecx, eax
call fcn.00457580
jmp 0x47440d
mov eax, 0x6090cf
push eax
mov ecx, ebx
call fcn.0045f890
lea ecx, [ebp - 0x70]
mov bl, 1
call fcn.0045e7f0
lea ecx, [ebp - 0x40]
call fcn.0045e7f0
jmp 0x474445
push str.No_Active_LEID_found
push 0
push 5
push 0x60a638
push dword [0x64ced4]
call fcn.00555430
add esp, 0x14
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x47445a
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00459720
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
call fcn.00456c90
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x47448c
inc ecx
push ecx
push dword [ebp - 0x58]
lea ecx, [ebp - 0x58]
call fcn.00459720
mov al, bl
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.0057b676
mov esp, ebp
pop ebp
ret 4