Function at 0x4293c0
Capabilities:
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57a2d7
mov eax, dword fs:[0]
push eax
sub esp, 0x144
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 eax, dword [ebp + 8]
push 0x58df78
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x54], eax
call fcn.00403d90
xor edi, edi
mov dword [ebp - 4], edi
push 0x58df78
lea ecx, [ebp - 0x50]
call fcn.00403d90
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x124]
push ecx
push 0x1a
push edi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
mov edx, dword [ebp - 0x50]
mov eax, dword [edx - 8]
mov ecx, 1
sub ecx, dword [edx - 4]
sub eax, 0x104
or eax, ecx
jge 0x42944e
push 0x104
lea ecx, [ebp - 0x50]
call fcn.004019c0
mov edx, dword [ebp - 0x50]
push edx
mov edx, dword [ebp - 0x124]
push edx
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.00542f68
add esp, 8
cmp eax, edi
jl 0x42a105
mov ecx, dword [ebp - 0x50]
cmp eax, dword [ecx - 8]
jg 0x42a105
mov dword [ecx - 0xc], eax
mov edx, dword [ebp - 0x50]
xor ecx, ecx
mov word [edx + eax*2], cx
call fcn.00440a7e
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x4294a6
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 - 0x6c], eax
mov byte [ebp - 4], 3
push str.Foxit_SoftwareAddonFoxit_Reader_
lea ecx, [ebp - 0x50]
push ecx
lea edx, [ebp - 0x5c]
push edx
call fcn.00406860
add esp, 0xc
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x6c]
call fcn.00403340
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4294fe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.AutoUpdaterInfo.xml
lea ecx, [ebp - 0x6c]
push ecx
lea edx, [ebp - 0x5c]
push edx
call fcn.00406860
add esp, 0xc
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x58]
call fcn.00403340
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x429543
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0xec]
call fcn.00455141
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x58]
push edi
push 2
push ecx
lea ecx, [ebp - 0xec]
mov dword [ebp - 0x5c], edi
call fcn.00455624
test eax, eax
je 0x429c8b
lea ecx, [ebp - 0xec]
call fcn.0045502d
mov esi, eax
cmp esi, edi
jle 0x429bd2
lea edi, [esi + 1]
push edi
call fcn.0043f972
push edi
mov ebx, eax
push 0
push ebx
mov dword [ebp - 0x68], ebx
call fcn.00542dc0
add esp, 0x10
push esi
push ebx
lea ecx, [ebp - 0xec]
call fcn.00454e36
test eax, eax
je 0x429bc5
push 0
push 0
push 0
push 0
push esi
push ebx
call fcn.0056afc1
mov edi, eax
add esp, 0x18
mov dword [ebp - 0x84], edi
test edi, edi
je 0x429bc5
mov ecx, edi
call fcn.0056a2c1
xor ecx, ecx
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x64], ecx
test eax, eax
jle 0x4298e2
push ecx
mov ecx, edi
call fcn.0056a318
mov esi, eax
xor eax, eax
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 9
mov dword [ebp - 0x78], eax
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x7c], eax
mov byte [ebp - 4], 0xb
cmp esi, eax
je 0x429686
lea edx, [ebp - 0x4c]
push edx
lea eax, [ebp - 0x90]
push eax
mov ecx, esi
mov dword [ebp - 0x90], 0x592680
mov dword [ebp - 0x8c], 0xd
call fcn.0056a749
lea ecx, [ebp - 0x78]
push ecx
lea edx, [ebp - 0x140]
push edx
mov ecx, esi
mov dword [ebp - 0x140], str.name
mov dword [ebp - 0x13c], 4
call fcn.0056a749
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0xac]
push ecx
mov ecx, esi
mov dword [ebp - 0xac], 0x59267c
mov dword [ebp - 0xa8], 3
call fcn.0056a749
mov edx, dword [ebp - 0x54]
mov eax, dword [edx + 8]
xor ebx, ebx
mov dword [ebp - 0x94], eax
test eax, eax
jle 0x4298ab
test ebx, ebx
js 0x429933
mov eax, dword [ebp - 0x54]
cmp ebx, dword [eax + 8]
jge 0x429933
mov ecx, eax
mov eax, dword [ebp - 0x78]
mov edx, dword [ecx + 4]
mov edi, dword [edx + ebx*4]
test eax, eax
je 0x4296c4
add eax, 0xc
jmp 0x4296c9
mov eax, 0x58df78
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x42949c
mov ecx, dword [edi + 4]
push eax
push ecx
call fcn.005430ac
add esp, 8
test eax, eax
jne 0x429898
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x4296f9
add eax, 0xc
jmp 0x4296fe
mov eax, 0x58df78
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x42949c
push eax
mov eax, dword [0x5fc3c8]
push eax
call fcn.005430ac
add esp, 8
test eax, eax
jne 0x429898
mov eax, dword [edi + 8]
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x60]
call fcn.00568ba9
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x42974b
lea ecx, [eax + 0xc]
mov dword [ebp - 0x74], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x70], edx
jmp 0x429759
mov dword [ebp - 0x74], 0x58df78
mov dword [ebp - 0x70], 0
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0xb4]
push ecx
mov ecx, esi
mov dword [ebp - 0xb4], 0x58ec78
mov dword [ebp - 0xb0], 7
call fcn.0056b758
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x60]
call fcn.00567cb8
cmp dword [ebp + 0xc], 0
je 0x4297ca
mov dword [ebp - 0xd4], 0x592678
mov dword [ebp - 0xd0], 1
mov dword [ebp - 0x9c], 0x59267c
mov dword [ebp - 0x98], 3
lea edx, [ebp - 0xd4]
lea eax, [ebp - 0x9c]
jmp 0x429888
push 0x58f414
lea ecx, [ebp - 0x7c]
call fcn.00568ebf
test eax, eax
jne 0x429813
lea ecx, [ebp - 0xcc]
push ecx
lea edx, [ebp - 0xbc]
mov dword [ebp - 0xcc], 0x590490
mov dword [ebp - 0xc8], 1
mov dword [ebp - 0xbc], 0x59267c
mov dword [ebp - 0xb8], 3
push edx
jmp 0x42988a
push 0x590490
lea ecx, [ebp - 0x7c]
call fcn.00568ebf
test eax, eax
jne 0x429858
push 0x592678
lea ecx, [ebp - 0x148]
call fcn.00422450
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0xc4], 0x59267c
mov dword [ebp - 0xc0], 3
push ecx
jmp 0x42988a
push 0x58f414
lea ecx, [ebp - 0x150]
call fcn.00422450
mov dword [ebp - 0xa4], 0x59267c
mov dword [ebp - 0xa0], 3
lea edx, [ebp - 0x150]
lea eax, [ebp - 0xa4]
push edx
push eax
mov ecx, esi
call fcn.0056b758
mov dword [edi + 0x68], 1
inc ebx
cmp ebx, dword [ebp - 0x94]
jl 0x42969c
mov edi, dword [ebp - 0x84]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x7c]
call fcn.00567cb8
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x78]
call fcn.00567cb8
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x4c]
call fcn.00567cb8
mov ecx, dword [ebp - 0x64]
inc ecx
mov dword [ebp - 0x64], ecx
cmp ecx, dword [ebp - 0xd8]
jl 0x4295ef
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 8]
xor ebx, ebx
mov dword [ebp - 0x94], ecx
test ecx, ecx
jle 0x429b40
test ebx, ebx
js 0x429933
cmp ebx, dword [eax + 8]
jge 0x429933
mov edx, dword [eax + 4]
mov edi, dword [edx + ebx*4]
cmp dword [edi + 0x68], 0
jne 0x429b37
push 0x30
call fcn.0056b301
add esp, 4
mov dword [ebp - 0x78], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x429938
push 0
mov ecx, eax
call fcn.0056a860
mov esi, eax
jmp 0x42993a
call fcn.0043fa85
xor esi, esi
mov byte [ebp - 4], 8
lea eax, [ebp - 0xa4]
push eax
mov ecx, esi
mov dword [ebp - 0xa4], str.module
mov dword [ebp - 0xa0], 6
call fcn.0056b70a
mov ecx, dword [0x5fc3c8]
push 0xffffffffffffffff
push ecx
lea ecx, [ebp - 0x64]
call fcn.00568ba9
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x42998a
lea edx, [eax + 0xc]
mov dword [ebp - 0x74], edx
mov eax, dword [eax + 4]
mov dword [ebp - 0x70], eax
jmp 0x429998
mov dword [ebp - 0x74], 0x58df78
mov dword [ebp - 0x70], 0
lea ecx, [ebp - 0x74]
push ecx
lea edx, [ebp - 0xc4]
push edx
mov ecx, esi
mov dword [ebp - 0xc4], 0x592680
mov dword [ebp - 0xc0], 0xd
call fcn.0056b758
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x64]
call fcn.00567cb8
mov eax, dword [edi + 4]
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x60]
call fcn.00568ba9
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x4299f1
lea ecx, [eax + 0xc]
mov dword [ebp - 0x80], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x7c], edx
jmp 0x4299ff
mov dword [ebp - 0x80], 0x58df78
mov dword [ebp - 0x7c], 0
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0xbc]
push ecx
mov ecx, esi
mov dword [ebp - 0xbc], str.name
mov dword [ebp - 0xb8], 4
call fcn.0056b758
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x60]
call fcn.00567cb8
mov eax, dword [edi + 8]
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x4c]
call fcn.00568ba9
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x429a5e
lea edx, [eax + 0xc]
mov dword [ebp - 0x90], edx
mov eax, dword [eax + 4]
mov dword [ebp - 0x8c], eax
jmp 0x429a72
mov dword [ebp - 0x90], 0x58df78
mov dword [ebp - 0x8c], 0
lea ecx, [ebp - 0x90]
push ecx
lea edx, [ebp - 0xcc]
push edx
mov ecx, esi
mov dword [ebp - 0xcc], 0x58ec78
mov dword [ebp - 0xc8], 7
call fcn.0056b758
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x4c]
call fcn.00567cb8
cmp dword [ebp + 0xc], 0
je 0x429ae5
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0x9c], 0x592678
mov dword [ebp - 0x98], 1
mov dword [ebp - 0xd4], 0x59267c
mov dword [ebp - 0xd0], 3
push ecx
jmp 0x429b1b
lea edx, [ebp - 0xb4]
push edx
lea eax, [ebp - 0xac]
mov dword [ebp - 0xb4], 0x58f414
mov dword [ebp - 0xb0], 1
mov dword [ebp - 0xac], 0x59267c
mov dword [ebp - 0xa8], 3
push eax
mov ecx, esi
call fcn.0056b758
mov ecx, dword [ebp - 0x84]
push esi
call fcn.0056bc3e
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x94]
inc ebx
cmp ebx, ecx
jl 0x4298f8
cmp dword [ebp - 0xd8], 0
mov esi, dword [ebp - 0x84]
jle 0x429bb2
push 0
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, esi
call fcn.0056bd11
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0xec]
mov eax, dword [edx + 0x2c]
push 0
push 0
push 0
lea ecx, [ebp - 0xec]
call eax
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x429b85
mov eax, dword [eax + 4]
mov ecx, eax
jmp 0x429b89
xor eax, eax
xor ecx, ecx
push eax
push ecx
lea ecx, [ebp - 0x4c]
call fcn.00567f25
push eax
lea ecx, [ebp - 0xec]
call fcn.00454e78
mov dword [ebp - 0x5c], 1
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x4c]
call fcn.00567cb8
mov ecx, esi
call fcn.0056a8c9
push esi
call fcn.0056b316
mov ebx, dword [ebp - 0x68]
add esp, 4
test ebx, ebx
je 0x429bd2
push ebx
call fcn.0043f967
add esp, 4
lea ecx, [ebp - 0xec]
call fcn.00454f64
lea ecx, [ebp - 0xec]
call fcn.004550dc
cmp dword [ebp - 0x5c], 0
je 0x429c8b
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xec]
call fcn.00455271
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x429c24
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x429c47
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x429c6d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call 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 8
mov ecx, dword [ebp - 0x58]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x120]
call fcn.00402440
mov byte [ebp - 4], 0x15
push 0
push 0
push 0
push str.rejectupdater_info
lea ecx, [ebp - 0x120]
call fcn.0043ec20
lea ecx, [ebp - 0x120]
call fcn.0043d820
mov edx, dword [ebp - 0x54]
mov ebx, dword [edx + 8]
xor edi, edi
test ebx, ebx
jle 0x429d98
test edi, edi
js 0x429933
mov eax, dword [ebp - 0x54]
cmp edi, dword [eax + 8]
jge 0x429933
push 0
push 0
mov ecx, eax
mov edx, dword [ecx + 4]
mov esi, dword [edx + edi*4]
push 0
push 0x5928cc
lea ecx, [ebp - 0x120]
call fcn.0043ec20
mov eax, dword [0x5fc3c8]
mov ecx, dword [ebp - 0xfc]
push eax
push str.readerversion
push ecx
lea ecx, [ebp - 0x120]
call fcn.0043e6b0
mov eax, dword [esi + 4]
mov edx, dword [ebp - 0xfc]
push eax
push 0x58e024
push edx
lea ecx, [ebp - 0x120]
call fcn.0043e6b0
mov esi, dword [esi + 8]
mov eax, dword [ebp - 0xfc]
push esi
push 0x58e030
push eax
lea ecx, [ebp - 0x120]
call fcn.0043e6b0
cmp dword [ebp + 0xc], 0
je 0x429d73
mov ecx, dword [ebp - 0xfc]
push 0x592678
push 0x5928a8
push ecx
jmp 0x429d84
mov edx, dword [ebp - 0xfc]
push 0x58f414
push 0x5928a8
push edx
lea ecx, [ebp - 0x120]
call fcn.0043e6b0
inc edi
cmp edi, ebx
jl 0x429cd5
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x120]
call fcn.00402e70
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x88]
xor ecx, ecx
mov eax, edx
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x38], 0
mov word [ebp - 0x48], cx
lea esi, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x429dd0
sub eax, esi
sar eax, 1
push eax
push edx
lea ecx, [ebp - 0x48]
call fcn.004037c0
mov byte [ebp - 4], 0x17
lea edx, [ebp - 0x48]
push edx
lea eax, [ebp - 0x2c]
push eax
call fcn.00431860
add esp, 8
mov bl, 0x19
mov byte [ebp - 4], bl
cmp dword [ebp - 0x34], 8
jb 0x429e14
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.0043f967
add esp, 4
xor edx, edx
xor edi, edi
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x38], edi
mov word [ebp - 0x48], dx
call fcn.00455141
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x58]
push edi
push 0x1001
push eax
lea ecx, [ebp - 0x138]
call fcn.00455624
test eax, eax
jne 0x429f87
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x138]
call fcn.00455271
mov byte [ebp - 4], 0x16
cmp dword [ebp - 0x18], 0x10
jb 0x429e76
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.0043f967
add esp, 4
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x88]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x429eaa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 8
mov dword [ebp - method.CMarkup.virtual_0], vtable.CMarkup.0
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x114]
call fcn.00401560
mov al, 0x1c
mov byte [ebp - 4], al
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x68], ecx
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x118]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x429efa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x68], ecx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x11c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x429f2d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xec]
call fcn.00455271
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x429f5f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x429f82
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x429c47
mov edx, dword [ebp - 0x138]
mov eax, dword [edx + 0x2c]
push edi
push edi
push edi
lea ecx, [ebp - 0x138]
call eax
mov eax, dword [ebp - 0x2c]
mov esi, 0x10
cmp dword [ebp - 0x18], esi
jae 0x429fab
lea eax, [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
push ecx
push eax
lea ecx, [ebp - 0x138]
call fcn.00454e78
lea ecx, [ebp - 0x138]
call fcn.00454f64
lea ecx, [ebp - 0x138]
call fcn.004550dc
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x138]
call fcn.00455271
mov byte [ebp - 4], 0x16
cmp dword [ebp - 0x18], esi
jb 0x429ff4
mov edx, dword [ebp - 0x2c]
push edx
call fcn.0043f967
add esp, 4
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
mov byte [ebp - 4], 0x15
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 0x42a028
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 8
mov dword [ebp - method.CMarkup.virtual_0], vtable.CMarkup.0
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x114]
call fcn.00401560
mov al, 0x25
mov byte [ebp - 4], al
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x68], ecx
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x118]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42a078
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x68], ecx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x11c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42a0ab
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xec]
call fcn.00455271
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42a0dd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42a100
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x429c47
push 0x80070057
call fcn.00401090
int3