Function at 0x438400
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57cb94
mov eax, dword fs:[0]
push eax
sub esp, 0x98
mov eax, dword [0x5f6998]
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.00437b30
push 1
lea eax, [ebp - 0x94]
push eax
mov ecx, esi
call fcn.00435b70
xor ebx, ebx
mov dword [ebp - 4], ebx
mov ecx, dword [ebp - 0x94]
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
push ecx
mov ecx, esp
mov dword [ebp - 0x8c], esp
push 0xffffffffffffffff
push 0x58e188
call fcn.00567cd2
mov byte [ebp - 4], 2
lea edx, [ebp - 0x48]
push edx
mov byte [ebp - 4], 1
mov ecx, 0x5fc290
call fcn.00409a80
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x64]
push ecx
call fcn.004316a0
add esp, 8
mov byte [ebp - 4], 3
push ebx
push ebx
push ebx
push str.xmlrequest
mov ecx, 0x5fc914
call fcn.0043ec20
mov ecx, 0x5fc914
call fcn.0043d820
cmp dword [ebp - 0x50], 8
mov eax, dword [ebp - 0x64]
jae 0x4384d5
lea eax, [ebp - 0x64]
push ebx
push ebx
push eax
push 0x58e064
mov ecx, 0x5fc914
call fcn.0043ec20
push ebx
push ebx
push ebx
push str.data
mov ecx, 0x5fc914
call fcn.0043ec20
mov ecx, 0x5fc914
call fcn.0043d820
push ebx
push ebx
push ebx
push 0x58e048
mov ecx, 0x5fc914
call fcn.0043ec20
mov eax, dword [esi + 0x48]
mov edx, dword [0x5fc938]
push eax
push 0x58e040
push edx
mov ecx, 0x5fc914
call fcn.0043e6b0
lea eax, [ebp - 0x84]
push eax
mov ecx, 0x5fc348
call fcn.00402ed0
mov byte [ebp - 4], 4
push eax
lea ecx, [esi + 0x10]
call fcn.00403340
mov byte [ebp - 4], 3
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 0x438573
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 [0x5fc938]
push edi
push 0x58e030
push ecx
mov ecx, 0x5fc914
call fcn.0043e6b0
push 0xc
push 0x590bcc
lea ecx, [esi + 0x4c]
call fcn.00402a10
mov esi, dword [esi + 0x4c]
mov edx, dword [0x5fc938]
push esi
push 0x58e024
push edx
mov ecx, 0x5fc914
call fcn.0043e6b0
lea eax, [ebp - 0x84]
push eax
call fcn.0056d8d0
add esp, 4
mov byte [ebp - 4], 6
mov eax, dword [eax]
cmp eax, ebx
je 0x4385d4
add eax, 0xc
jmp 0x4385d9
mov eax, 0x58df78
push eax
lea ecx, [ebp - 0x88]
call fcn.00403d90
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x84]
call fcn.00567cb8
call fcn.00440a7e
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x43860e
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], 0xa
mov eax, dword [ebp - 0x88]
cmp dword [eax - 0xc], ebx
jge 0x438634
or eax, 0xffffffff
jmp 0x438653
push 0x58ed90
push eax
call fcn.00542363
add esp, 8
cmp eax, ebx
jne 0x43864b
or eax, 0xffffffff
jmp 0x438653
sub eax, dword [ebp - 0x88]
sar eax, 1
add eax, 5
push eax
lea ecx, [ebp - 0x8c]
push ecx
lea ecx, [ebp - 0x88]
call fcn.004032d0
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x84]
call fcn.00403340
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x8c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x43869f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x84]
mov edx, dword [0x5fc938]
push ecx
push 0x58e010
push edx
mov ecx, 0x5fc914
call fcn.0043e6b0
mov eax, dword [0x5fc938]
push 0x58df78
push str.edition
push eax
mov ecx, 0x5fc914
call fcn.0043e6b0
push ebx
mov ecx, 0x5fc914
push ebx
cmp dword [ebp + 8], ebx
je 0x4386e9
push 0x59424c
jmp 0x4386ee
push str.Installation
push str.reason4failure
call fcn.0043ec20
push 0x58df78
lea ecx, [ebp - 0x98]
call fcn.00403d90
mov byte [ebp - 4], 0xd
push ecx
mov dword [ebp - 0xa4], esp
mov ecx, esp
push 0xffffffffffffffff
push 0x58ee10
call fcn.00568ba9
mov byte [ebp - 4], 0xe
push ecx
mov dword [ebp - 0xa0], esp
mov ecx, esp
push 0xffffffffffffffff
push str.SOFTWAREFoxit_SoftwareFoxit_ReaderFoxit_Information
call fcn.00568ba9
mov byte [ebp - 4], 0xf
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x8c]
push ecx
mov byte [ebp - 4], 0xd
call fcn.004330a0
add esp, 0x10
mov byte [ebp - 4], 0x10
mov eax, dword [eax]
cmp eax, ebx
je 0x43876b
lea ecx, [eax + 0xc]
cmp ecx, ebx
jne 0x438770
xor eax, eax
jmp 0x438784
mov ecx, 0x58df78
mov eax, ecx
lea esi, [eax + 2]
mov dx, word [eax]
add eax, 2
cmp dx, bx
jne 0x438775
sub eax, esi
sar eax, 1
push eax
push ecx
lea ecx, [ebp - 0x98]
call fcn.00402a10
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x8c]
call fcn.00567cb8
push ebx
push ebx
push ebx
push str.agent
mov ecx, 0x5fc914
call fcn.0043ec20
mov edx, dword [ebp - 0x98]
mov eax, dword [0x5fc938]
push edx
push 0x58e040
push eax
mov ecx, 0x5fc914
call fcn.0043e6b0
push 0x58df78
lea ecx, [ebp - 0x90]
call fcn.00403d90
mov byte [ebp - 4], 0x11
push 5
push str.Foxit
lea ecx, [ebp - 0x90]
call fcn.00402a10
mov ecx, dword [ebp - 0x90]
mov edx, dword [0x5fc938]
push ecx
push 0x58e024
push edx
mov ecx, 0x5fc914
call fcn.0043e6b0
lea eax, [ebp - 0x9c]
push eax
mov ecx, 0x5fc914
call fcn.00402e70
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x9c]
mov edi, 7
xor ecx, ecx
mov eax, edx
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x70], ebx
mov word [ebp - 0x80], cx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x438842
sub eax, esi
sar eax, 1
push eax
push edx
lea ecx, [ebp - 0x80]
call fcn.004037c0
mov byte [ebp - 4], 0x13
lea edx, [ebp - 0x80]
push edx
lea eax, [ebp - 0x2c]
push eax
call fcn.00431860
add esp, 8
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0x6c], 8
jb 0x438885
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.0043f967
add esp, 4
mov eax, dword [ebp - 0x94]
push ebx
push 0x1001
xor edx, edx
push eax
mov ecx, 0x5fc8cc
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x70], ebx
mov word [ebp - 0x80], dx
call fcn.00455624
test eax, eax
jne 0x4389d7
mov byte [ebp - 4], 0x12
cmp dword [ebp - 0x18], 0x10
jb 0x4388c6
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.0043f967
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], 0x11
mov eax, dword [ebp - 0x9c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4388fa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x90]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438920
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438946
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 8
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 0x43896c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 3
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 0x438992
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 0x4389a8
mov ecx, dword [ebp - 0x64]
push ecx
call fcn.0043f967
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 0x4389c9
mov eax, dword [ebp - 0x48]
push eax
call fcn.0043f967
add esp, 4
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
jmp 0x438b41
mov edx, dword [0x5fc8cc]
mov eax, dword [edx + 0x2c]
push ebx
push ebx
push ebx
mov ecx, 0x5fc8cc
call eax
mov eax, dword [ebp - 0x2c]
mov edi, 0x10
cmp dword [ebp - 0x18], edi
jae 0x4389fa
lea eax, [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
push ecx
push eax
mov ecx, 0x5fc8cc
call fcn.00454e78
mov ecx, 0x5fc8cc
call fcn.00454f64
mov ecx, 0x5fc8cc
call fcn.004550dc
mov byte [ebp - 4], 0x12
cmp dword [ebp - 0x18], edi
jb 0x438a32
mov edx, dword [ebp - 0x2c]
push edx
call fcn.0043f967
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], 0x11
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 0x438a66
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x90]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438a8c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438ab2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 8
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 0x438ad8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 3
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 0x438afe
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 0x438b14
mov ecx, dword [ebp - 0x64]
push ecx
call fcn.0043f967
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 0x438b38
mov eax, dword [ebp - 0x48]
push eax
call fcn.0043f967
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 - 0x94]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438b6a
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.00542c3e
mov esp, ebp
pop ebp
ret 4