Function at 0x439300
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x577199
mov eax, dword fs:[0]
push eax
sub esp, 0x98
mov eax, dword [0x5f0bf8]
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 esi, ecx
call fcn.00438cb0
push 1
lea eax, [ebp - 0x90]
push eax
mov ecx, esi
call fcn.00436e20
xor ebx, ebx
mov dword [ebp - 4], ebx
mov ecx, dword [ebp - 0x90]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dword [esi + 0x9c], ebx
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
mov byte [ebp - 4], 1
lea edx, [ebp - 0x48]
push edx
mov ecx, esi
call fcn.00436690
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x64]
push ecx
call fcn.0042e270
add esp, 8
mov byte [ebp - 4], 2
push ebx
push ebx
push ebx
push str.xmlrequest
mov ecx, 0x5f674c
call fcn.0043f9f0
mov ecx, 0x5f674c
call fcn.0043e5f0
cmp dword [ebp - 0x50], 8
mov eax, dword [ebp - 0x64]
jae 0x4393b5
lea eax, [ebp - 0x64]
push ebx
push ebx
push eax
push 0x588214
mov ecx, 0x5f674c
call fcn.0043f9f0
push ebx
push ebx
push ebx
push str.data
mov ecx, 0x5f674c
call fcn.0043f9f0
mov ecx, 0x5f674c
call fcn.0043e5f0
push ebx
push ebx
push ebx
push 0x5881f8
mov ecx, 0x5f674c
call fcn.0043f9f0
mov eax, dword [esi + 0x48]
mov edx, dword [0x5f6770]
push eax
push 0x5881f0
push edx
mov ecx, 0x5f674c
call fcn.0043f480
lea eax, [ebp - 0x84]
push eax
mov ecx, 0x5f6168
call fcn.004032f0
mov byte [ebp - 4], 3
push eax
lea ecx, [esi + 0x10]
call fcn.00403760
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x439453
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [esi + 0x10]
mov ecx, dword [0x5f6770]
push edi
push 0x5881e0
push ecx
mov ecx, 0x5f674c
call fcn.0043f480
push 0xc
push 0x58b448
lea ecx, [esi + 0x4c]
call fcn.00402e30
mov edi, dword [esi + 0x4c]
mov edx, dword [0x5f6770]
push edi
push 0x5881d4
push edx
mov ecx, 0x5f674c
call fcn.0043f480
lea eax, [ebp - 0x84]
push eax
call fcn.00430430
add esp, 4
mov byte [ebp - 4], 5
mov eax, dword [eax]
cmp eax, ebx
je 0x4394b4
add eax, 0xc
jmp 0x4394b9
mov eax, 0x587f8c
push eax
lea ecx, [ebp - 0x88]
call fcn.00404420
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x84]
call fcn.005685da
call fcn.0044184e
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x4394ee
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x84], eax
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x88]
cmp dword [eax - 0xc], ebx
jge 0x439514
or eax, 0xffffffff
jmp 0x439533
push 0x588f10
push eax
call fcn.00543063
add esp, 8
cmp eax, ebx
jne 0x43952b
or eax, 0xffffffff
jmp 0x439533
sub eax, dword [ebp - 0x88]
sar eax, 1
add eax, 5
push eax
lea ecx, [ebp - 0x98]
push ecx
lea ecx, [ebp - 0x88]
call fcn.004036f0
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x84]
call fcn.00403760
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x98]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x43957f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [esi + 0x20]
mov ecx, dword [0x5f6770]
push esi
push 0x5881c0
push ecx
mov ecx, 0x5f674c
call fcn.0043f480
mov edx, dword [0x5f6770]
push 0x587f8c
push str.edition
push edx
mov ecx, 0x5f674c
call fcn.0043f480
push ebx
mov ecx, 0x5f674c
push ebx
cmp dword [ebp + 8], ebx
je 0x4395c7
push 0x58fa2c
jmp 0x4395cc
push str.Installation
push str.reason4failure
call fcn.0043f9f0
push 0x587f8c
lea ecx, [ebp - 0x8c]
call fcn.00404420
mov byte [ebp - 4], 0xc
push ecx
mov dword [ebp - 0xa4], esp
mov ecx, esp
push 0xffffffffffffffff
push 0x588f1c
call fcn.005685f4
mov byte [ebp - 4], 0xd
push ecx
mov dword [ebp - 0xa0], esp
mov ecx, esp
push 0xffffffffffffffff
push str.SOFTWAREFoxit_SoftwareFoxit_ReaderFoxit_Information
call fcn.005685f4
mov byte [ebp - 4], 0xe
push reloc.OLEAUT32.dll_SysReAllocString
lea eax, [ebp - 0x98]
push eax
mov byte [ebp - 4], 0xc
call fcn.0042fc70
add esp, 0x10
mov byte [ebp - 4], 0xf
mov eax, dword [eax]
cmp eax, ebx
je 0x439649
lea ecx, [eax + 0xc]
cmp ecx, ebx
jne 0x43964e
xor eax, eax
jmp 0x439662
mov ecx, 0x587f8c
mov eax, ecx
lea esi, [eax + 2]
mov dx, word [eax]
add eax, 2
cmp dx, bx
jne 0x439653
sub eax, esi
sar eax, 1
push eax
push ecx
lea ecx, [ebp - 0x8c]
call fcn.00402e30
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x98]
call fcn.005685da
push ebx
push ebx
push ebx
push str.agent
mov ecx, 0x5f674c
call fcn.0043f9f0
mov ecx, dword [ebp - 0x8c]
mov edx, dword [0x5f6770]
push ecx
push 0x5881f0
push edx
mov ecx, 0x5f674c
call fcn.0043f480
push 0x587f8c
lea ecx, [ebp - 0x94]
call fcn.00404420
mov byte [ebp - 4], 0x10
push 5
push str.Foxit
lea ecx, [ebp - 0x94]
call fcn.00402e30
mov eax, dword [ebp - 0x94]
mov ecx, dword [0x5f6770]
push eax
push 0x5881d4
push ecx
mov ecx, 0x5f674c
call fcn.0043f480
lea edx, [ebp - 0x9c]
push edx
mov ecx, 0x5f674c
call fcn.00403290
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x9c]
xor eax, eax
mov word [ebp - 0x80], ax
mov edi, 7
mov eax, edx
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x70], ebx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x439721
sub eax, esi
sar eax, 1
push eax
push edx
lea ecx, [ebp - 0x80]
call fcn.00403be0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x80]
push ecx
lea edx, [ebp - 0x2c]
push edx
call fcn.0042e430
add esp, 8
mov byte [ebp - 4], 0x14
cmp dword [ebp - 0x6c], 8
jb 0x439764
mov eax, dword [ebp - 0x80]
push eax
call fcn.00440737
add esp, 4
mov edx, dword [ebp - 0x90]
push ebx
xor ecx, ecx
push 0x1001
mov word [ebp - 0x80], cx
push edx
mov ecx, 0x5f6708
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x70], ebx
call fcn.00456f03
test eax, eax
jne 0x4398b6
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x18], 0x10
jb 0x4397a5
mov eax, dword [ebp - 0x2c]
push eax
call fcn.00440737
add esp, 4
mov esi, 0xf
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x9c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4397d9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4397ff
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x439825
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43984b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x88]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x439871
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x50], 8
jb 0x439887
mov ecx, dword [ebp - 0x64]
push ecx
call fcn.00440737
add esp, 4
xor edx, edx
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x54], ebx
mov word [ebp - 0x64], dx
mov byte [ebp - 4], bl
cmp dword [ebp - 0x34], 0x10
jb 0x4398a8
mov eax, dword [ebp - 0x48]
push eax
call fcn.00440737
add esp, 4
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
jmp 0x439a20
mov edx, dword [0x5f6708]
mov eax, dword [edx + 0x2c]
push ebx
push ebx
push ebx
mov ecx, 0x5f6708
call eax
mov eax, dword [ebp - 0x2c]
mov edi, 0x10
cmp dword [ebp - 0x18], edi
jae 0x4398d9
lea eax, [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
push ecx
push eax
mov ecx, 0x5f6708
call fcn.00456757
mov ecx, 0x5f6708
call fcn.00456843
mov ecx, 0x5f6708
call fcn.004569bb
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x18], edi
jb 0x439911
mov edx, dword [ebp - 0x2c]
push edx
call fcn.00440737
add esp, 4
mov esi, 0xf
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x9c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x439945
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43996b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x439991
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4399b7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x88]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4399dd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x50], 8
jb 0x4399f3
mov ecx, dword [ebp - 0x64]
push ecx
call fcn.00440737
add esp, 4
xor edx, edx
mov dword [ebp - 0x50], 7
mov dword [ebp - 0x54], ebx
mov word [ebp - 0x64], dx
mov byte [ebp - 4], bl
cmp dword [ebp - 0x34], edi
jb 0x439a17
mov eax, dword [ebp - 0x48]
push eax
call fcn.00440737
add esp, 4
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x90]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x439a49
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
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.005437e5
mov esp, ebp
pop ebp
ret 4