Function at 0x458300
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x598510
mov eax, dword fs:[0]
push eax
sub esp, 0x3a4
mov eax, dword [0x610684]
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 dword [ebp - 0x398], ecx
mov esi, dword [ebp + 8]
mov dword [ebp - 0x394], esi
mov dword [ebp - 4], 0
mov dword [ebp - 0x2d8], 0xf
mov dword [ebp - 0x2dc], 0
mov byte [ebp - 0x2ec], 0
mov dword [ebp - 0x2c0], 0xf
mov dword [ebp - 0x2c4], 0
mov byte [ebp - 0x2d4], 0
mov dword [ebp - 0x2a8], 0xf
mov dword [ebp - 0x2ac], 0
mov byte [ebp - 0x2bc], 0
mov dword [ebp - 0x274], 0xf
mov dword [ebp - 0x278], 0
mov byte [ebp - 0x288], 0
mov dword [ebp - 0x254], 0xf
mov dword [ebp - 0x258], 0
mov byte [ebp - 0x268], 0
lea ecx, [ebp - 0x37c]
call fcn.00457ec0
mov byte [ebp - 4], 5
mov eax, 0x88888889
mov ecx, dword [ebp + 0x10]
xor ebx, ebx
mov esi, dword [ebp + 0xc]
sub ecx, esi
imul ecx
mov byte [ebp - 0x37d], 0
add edx, ecx
mov dword [ebp - 0x390], ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x384], eax
test eax, eax
jle 0x4587d4
xor edi, edi
mov dword [ebp - 0x38c], edi
nop word [eax + eax]
mov eax, dword [edi + esi]
lea ecx, [ebp - 0x288]
mov dword [ebp - 0x28c], eax
lea eax, [esi + 4]
add eax, edi
cmp ecx, eax
je 0x458442
push 0xffffffffffffffff
push 0
push eax
call fcn.0044f670
mov eax, dword [edi + esi + 0x1c]
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x270], eax
mov eax, dword [edi + esi + 0x20]
mov dword [ebp - 0x26c], eax
lea eax, [esi + 0x24]
add eax, edi
cmp ecx, eax
je 0x45846f
push 0xffffffffffffffff
push 0
push eax
call fcn.0044f670
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x2ec]
call fcn.0044f670
push dword [ebp - 0x384]
mov esi, dword [ebp + 0x24]
lea eax, [ebp - 0x2ec]
push eax
push esi
push dword [ebp + 0x20]
call fcn.0045a520
add esp, 0x10
cmp eax, esi
je 0x4586ca
push 0x20a
lea eax, [ebp - 0x21c]
mov dword [ebp - 0x250], 0
push 0
push eax
call fcn.0054aa90
cmp dword [ebp - 0x254], 0x10
lea eax, [ebp - 0x268]
push 0xffffffffffffffff
cmovae eax, dword [ebp - 0x268]
push eax
push 0x105
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x250]
push eax
call fcn.0055e5e5
xor ecx, ecx
mov dword [ebp - 0x238], 7
add esp, 0x20
mov dword [ebp - 0x23c], 0
mov word [ebp - 0x24c], cx
mov byte [ebp - 4], 6
cmp dword [ebp - 0x250], ecx
jbe 0x4585b7
test eax, eax
jne 0x4585b7
lea edx, [ebp - 0x24c]
lea ecx, [ebp - 0x21c]
call fcn.00460e30
test al, al
je 0x4585b7
cmp dword [ebp - 0x238], 8
lea ecx, [ebp - 0x24c]
mov eax, dword [ebp - 0x23c]
lea ebx, [ebp - 0x24c]
cmovae ecx, dword [ebp - 0x24c]
lea edx, [ebp - 0x268]
cmovae ebx, dword [ebp - 0x24c]
cmp dword [ebp - 0x254], 0x10
cmovae edx, dword [ebp - 0x268]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x258]
add eax, edx
lea edx, [ebp - 0x268]
cmp dword [ebp - 0x254], 0x10
push ecx
cmovae edx, dword [ebp - 0x268]
lea ecx, [ebp - 0x268]
push ebx
push eax
push edx
call fcn.004557a0
mov ebx, dword [ebp - 0x390]
mov edi, dword [ebp - 0x38c]
sub esp, 0x18
mov ecx, esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
cmp dword [ecx + 0x14], 0x10
mov dword [ecx + 0x10], 0
jb 0x4585e2
mov eax, dword [ecx]
jmp 0x4585e4
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [ebp - 0x268]
push 0
push eax
call fcn.0044f670
lea ecx, [ebp - 0x2d4]
call fcn.0045f1e0
add esp, 0x18
mov dword [ebp - 0x220], 0xf
lea eax, [ebp - 0x2d4]
mov dword [ebp - 0x224], 0
lea ecx, [ebp - 0x234]
mov byte [ebp - 0x234], 0
push 0xffffffffffffffff
push 0
push eax
call fcn.0044f670
mov byte [ebp - 4], 7
cmp dword [ebp - 0x2c4], 0
je 0x45866f
push dword [ebp - 0x398]
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, 1
jne 0x45866f
lea eax, [ebp - 0x2ec]
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00458f20
test al, al
jne 0x4586ee
mov eax, dword [ebp - 0x220]
cmp eax, 0x10
jb 0x45868d
inc eax
lea ecx, [ebp - 0x234]
push eax
push dword [ebp - 0x234]
call fcn.0044c890
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x238]
mov byte [ebp - 0x234], 0
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 0xf
cmp eax, 8
jb 0x4586ca
inc eax
lea ecx, [ebp - 0x24c]
push eax
push dword [ebp - 0x24c]
call fcn.0044f7a0
inc ebx
add edi, 0x3c
mov dword [ebp - 0x390], ebx
mov dword [ebp - 0x38c], edi
cmp ebx, dword [ebp - 0x384]
jge 0x4587ce
mov esi, dword [ebp + 0xc]
jmp 0x458420
lea eax, [ebp - 0x2ec]
push eax
lea eax, [ebp - 0x388]
push eax
lea ecx, [ebp + 0x18]
call fcn.0045a460
mov eax, dword [ebp - 0x388]
lea ecx, [ebp - 0x2a4]
push 0xffffffffffffffff
add eax, 0x58
mov dword [ebp - 0x290], 0xf
push 0
push eax
mov dword [ebp - 0x294], 0
mov byte [ebp - 0x2a4], 0
call fcn.0044f670
xor eax, eax
mov byte [ebp - 4], 8
cmp byte [str.Acrobat.exe], al
lea ecx, [ebp - 0x2ec]
mov edi, dword [ebp - 0x2dc]
mov esi, 0xb
cmove esi, eax
cmp dword [ebp - 0x2d8], 0x10
mov eax, esi
cmovae ecx, dword [ebp - 0x2ec]
cmp edi, esi
cmovb eax, edi
push eax
push str.Acrobat.exe
push ecx
call fcn.0044fe20
add esp, 0xc
test eax, eax
jne 0x4588e1
cmp edi, esi
jb 0x4588e1
ja 0x4588e1
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x2a4]
push eax
call fcn.004594d0
test al, al
jne 0x4588e1
lea ecx, [ebp - 0x2a4]
call fcn.0044f2b0
lea ecx, [ebp - 0x234]
call fcn.0044f2b0
lea ecx, [ebp - 0x24c]
call fcn.0044f210
mov bl, byte [ebp - 0x37d]
lea ecx, [ebp - 0x37c]
call fcn.00457f40
mov eax, dword [ebp - 0x254]
cmp eax, 0x10
jb 0x4587fd
inc eax
lea ecx, [ebp - 0x268]
push eax
push dword [ebp - 0x268]
call fcn.0044c890
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x254], 0xf
mov dword [ebp - 0x258], 0
mov byte [ebp - 0x268], 0
cmp eax, 0x10
jb 0x458836
inc eax
lea ecx, [ebp - 0x288]
push eax
push dword [ebp - 0x288]
call fcn.0044c890
lea ecx, [ebp - 0x2ec]
mov dword [ebp - 0x274], 0xf
mov dword [ebp - 0x278], 0
mov byte [ebp - 0x288], 0
call fcn.004512a0
lea ecx, [ebp + 0xc]
call fcn.00452a90
mov eax, dword [ebp + 0x18]
lea ecx, [ebp + 0x18]
push eax
push dword [eax]
lea eax, [ebp - 0x384]
push eax
call fcn.004531d0
push dword [ebp + 0x18]
call fcn.0051122d
mov eax, dword [ebp + 0x20]
add esp, 4
test eax, eax
je 0x4588c1
push dword [ebp - 0x384]
lea ecx, [ebp + 0x20]
push ecx
push dword [ebp + 0x24]
push eax
call fcn.00455990
mov ecx, dword [ebp + 0x28]
mov eax, 0x2aaaaaab
mov esi, dword [ebp + 0x20]
add esp, 0x10
sub ecx, esi
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
push esi
call fcn.00453170
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.00544516
mov esp, ebp
pop ebp
ret 0x24
mov esi, dword [ebp - 0x394]
lea eax, [ebp - 0x2a4]
lea ecx, [esi + 0x18]
cmp ecx, eax
je 0x4588fe
push 0xffffffffffffffff
push 0
push eax
call fcn.0044f670
lea edi, [esi + 0x30]
lea eax, [ebp - 0x268]
cmp edi, eax
je 0x458917
push 0xffffffffffffffff
push 0
push eax
mov ecx, edi
call fcn.0044f670
lea eax, [ebp - 0x288]
cmp esi, eax
je 0x45892d
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
call fcn.0044f670
lea eax, [ebp - 0x3b0]
push eax
call fcn.00459130
mov ebx, eax
add esi, 0x48
cmp esi, ebx
je 0x45897b
cmp dword [esi + 0x14], 0x10
jb 0x458956
mov eax, dword [esi + 0x14]
mov ecx, esi
inc eax
push eax
push dword [esi]
call fcn.0044c890
mov dword [esi + 0x14], 0xf
cmp dword [esi + 0x14], 0x10
mov dword [esi + 0x10], 0
jb 0x45896e
mov eax, dword [esi]
jmp 0x458970
mov eax, esi
push ebx
mov ecx, esi
mov byte [eax], 0
call fcn.00452e10
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x39c]
cmp eax, 0x10
jb 0x45899d
inc eax
lea ecx, [ebp - 0x3b0]
push eax
push dword [ebp - 0x3b0]
call fcn.0044c890
lea eax, [ebp - 0x2ec]
push eax
lea eax, [ebp - 0x388]
push eax
lea ecx, [ebp + 0x18]
call fcn.0045a460
mov esi, dword [ebp - 0x394]
mov eax, dword [ebp - 0x388]
add eax, 0x70
lea ecx, [esi + 0x78]
cmp ecx, eax
je 0x4589d3
push 0xffffffffffffffff
push 0
push eax
call fcn.0044f670
sub esp, 0x18
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push edi
mov byte [ecx], 0
call fcn.0044f670
lea ecx, [esi + 0x60]
call fcn.0045f1e0
mov ecx, dword [ebp - 0x398]
add esp, 0x18
mov eax, dword [ebp - 0x270]
mov bl, 1
mov dword [ecx], eax
mov eax, dword [ebp - 0x26c]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x290]
cmp eax, 0x10
jb 0x458a35
inc eax
lea ecx, [ebp - 0x2a4]
push eax
push dword [ebp - 0x2a4]
call fcn.0044c890
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x290], 0xf
mov dword [ebp - 0x294], 0
mov byte [ebp - 0x2a4], 0
cmp eax, 0x10
jb 0x458a6e
inc eax
lea ecx, [ebp - 0x234]
push eax
push dword [ebp - 0x234]
call fcn.0044c890
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x220], 0xf
mov dword [ebp - 0x224], 0
mov byte [ebp - 0x234], 0
cmp eax, 8
jb 0x4587d4
inc eax
lea ecx, [ebp - 0x24c]
push eax
push dword [ebp - 0x24c]
call fcn.0044f7a0
jmp 0x4587d4