Function at 0x40fc10
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47bf3b
mov eax, dword fs:[0]
push eax
sub esp, 0x24c
mov eax, dword [0x4ade78]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
push eax
lea eax, [ebp - 0x1f0]
push eax
mov dword [ebp - 0x1f4], ecx
mov dword [ebp - 0x1d8], 0
call fcn.00452c50
add esp, 8
mov edx, dword [0x4af2c0]
mov dword [ebp - 4], 0
lea ecx, [edx + 1]
lea eax, [edx + 2]
imul eax, ecx
imul eax, edx
cdq
mov ecx, 0x14
idiv ecx
cmp edx, 3
jne 0x40fc97
call fcn.00461e71
mov dword [0x4af2c0], eax
mov eax, dword [ebp - 0x1f0]
add eax, 0xfffffff0
push eax
call fcn.00403ee0
lea esi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x1e8], esi
mov byte [ebp - 4], 1
call fcn.0040cf40
test al, al
jne 0x40fd25
xor edi, edi
call fcn.00461e71
movd xmm0, eax
cvtdq2pd xmm0, xmm0
inc edi
movsd qword [ebp + edi*8 - 0x114], xmm0
cmp edi, 0x1f
jb 0x40fcc1
xor ecx, ecx
nop
mov eax, 0x1e
cmp ecx, eax
jge 0x40fd1f
lea esp, [esp]
movsd xmm0, qword [ebp + eax*8 - 0x10c]
movsd xmm1, qword [ebp + eax*8 - 0x114]
comisd xmm0, xmm1
jbe 0x40fd1a
movsd qword [ebp + eax*8 - 0x10c], xmm1
movsd qword [ebp + eax*8 - 0x114], xmm0
dec eax
cmp eax, ecx
jg 0x40fcf0
inc ecx
cmp ecx, 0x1f
jl 0x40fce0
cmp dword [esi - 0xc], 0x1f4
jle 0x40fded
push 0x1f4
lea eax, [ebp - 0x1ec]
push eax
lea ecx, [ebp - 0x1e8]
call fcn.00405a30
mov ecx, dword [eax]
add esi, 0xfffffff0
lea edx, [ecx - 0x10]
mov byte [ebp - 4], 2
cmp edx, esi
je 0x40fdad
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x40fd9e
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x40fd9e
push edx
call fcn.00403ee0
or ebx, 0xffffffff
add esp, 4
mov dword [ebp - 0x1e0], eax
mov ecx, ebx
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x40fd93
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x1e0]
add eax, 0x10
mov dword [ebp - 0x1e8], eax
jmp 0x40fdb0
push dword [ecx - 0xc]
push ecx
lea ecx, [ebp - 0x1e8]
call fcn.00408620
or ebx, 0xffffffff
mov edx, dword [ebp - 0x1ec]
add edx, 0xfffffff0
mov byte [ebp - 4], 1
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40fdd3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 3
push 0x490f7c
lea ecx, [ebp - 0x1e8]
call fcn.004035a0
mov esi, dword [ebp - 0x1e8]
jmp 0x40fdf0
or ebx, 0xffffffff
push 0
lea ecx, [ebp - 0x240]
call fcn.0042daf0
push 0
lea ecx, [ebp - 0x214]
mov byte [ebp - 4], 3
call fcn.0042da50
lea eax, [ebp - 0x214]
push eax
push str.Result
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 4
call fcn.0042e010
mov ecx, eax
call fcn.0042de20
lea ecx, [ebp - 0x214]
mov byte [ebp - 4], 3
call fcn.0042dd80
push 0
lea ecx, [ebp - 0x214]
mov byte [ebp - 4], 5
call fcn.0042daf0
lea ecx, [ebp - 0x1cc]
mov byte [ebp - 4], 6
call fcn.00429a00
lea eax, [ebp - 0x1f0]
push eax
lea eax, [ebp - 0x124]
push eax
mov byte [ebp - 4], 7
call fcn.00452ec0
add esp, 8
push 1
lea ecx, [ebp - 0x214]
push ecx
push eax
lea ecx, [ebp - 0x1cc]
mov byte [ebp - 4], 8
call fcn.0042be30
cmp dword [ebp - 0x110], 0x10
mov byte [ebp - 0x1cd], al
mov byte [ebp - 4], 7
jb 0x40feb9
push dword [ebp - 0x124]
call fcn.00460a34
mov al, byte [ebp - 0x1cd]
add esp, 4
test al, al
jne 0x40ff04
push 1
lea ecx, [ebp - 0x11c]
call fcn.0042da50
push str.Result
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 9
call fcn.0042e010
lea ecx, [ebp - 0x11c]
push ecx
mov ecx, eax
call fcn.0042de20
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 7
call fcn.0042dd80
push 0
push 0
call fcn.00461243
lea eax, [ebp - 0x1f8]
push eax
call fcn.0045a790
add esp, 4
mov edi, eax
lea eax, [ebp - 0x1fc]
push eax
mov byte [ebp - 4], 0xa
call fcn.0045b0c0
add esp, 4
push 0x4918d4
push eax
lea eax, [ebp - 0x22c]
push eax
mov byte [ebp - 4], 0xb
call fcn.00402d20
add esp, 0xc
push edi
push eax
lea eax, [ebp - 0x230]
push eax
mov byte [ebp - 4], 0xc
call fcn.00402c60
add esp, 0xc
push str..pac
push eax
lea eax, [ebp - 0x1d4]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402d20
add esp, 0xc
mov edx, dword [ebp - 0x230]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xf
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40ff92
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x22c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x10
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40ffb5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1fc]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x11
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40ffd8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1f8]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x12
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40fffb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x1d4]
mov edx, 1
sub edx, dword [eax - 4]
mov ecx, dword [eax - 8]
or ecx, edx
jge 0x410023
push 0
lea ecx, [ebp - 0x1d4]
call fcn.00407d40
mov eax, dword [ebp - 0x1d4]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [0x4adbb8]
mov ecx, 0x4adbb8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1dc], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x258]
movq qword [ebp - 0x24c], xmm0
push str.pacFileContent
lea ecx, [ebp - 0x214]
mov byte [ebp - 4], 0x13
movq qword [ebp - 0x254], xmm0
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x258], 4
mov dword [ebp - 0x24c], 1
mov dword [ebp - 0x228], 0x14
mov dword [ebp - 0x220], 2
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x1ec], 0x14
call fcn.0042e010
mov ecx, eax
call fcn.0042f1e0
test al, al
je 0x4100ff
push str.pacFileContent
lea ecx, [ebp - 0x214]
call fcn.0042e010
lea ecx, [ebp - 0x124]
push ecx
mov ecx, eax
call fcn.0042e850
cmp dword [eax + 0x10], 0
mov ecx, 1
je 0x410105
mov byte [ebp - 0x1cd], cl
jmp 0x41010c
mov ecx, dword [ebp - 0x1d8]
mov byte [ebp - 0x1cd], 0
test cl, 1
je 0x410128
cmp dword [ebp - 0x110], 0x10
jb 0x410128
push dword [ebp - 0x124]
call fcn.00460a34
add esp, 4
cmp byte [ebp - 0x1cd], 0
je 0x410431
push str.pacFileContent
lea ecx, [ebp - 0x214]
call fcn.0042e010
lea ecx, [ebp - 0x124]
push ecx
mov ecx, eax
call fcn.0042e850
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
mov edi, dword [ecx + 0x10]
jb 0x410160
mov ecx, dword [ecx]
mov eax, 3
cmp edi, eax
cmovb eax, edi
push eax
push 0x49160c
push ecx
call fcn.00409520
add esp, 0xc
test eax, eax
jne 0x410191
cmp edi, 3
jae 0x410187
or eax, 0xffffffff
jmp 0x41018f
xor eax, eax
cmp edi, 3
setne al
test eax, eax
setne al
cmp dword [ebp - 0x110], 0x10
mov byte [ebp - 0x1cd], al
mov byte [ebp - 4], 0x13
jb 0x4101bb
push dword [ebp - 0x124]
call fcn.00460a34
mov al, byte [ebp - 0x1cd]
add esp, 4
lea ecx, [ebp - 0x214]
test al, al
je 0x410318
push str.pacFileContent
call fcn.0042e010
lea ecx, [ebp - 0x15c]
push ecx
mov ecx, eax
call fcn.0042e850
mov edi, eax
push str.pacFileContent
lea ecx, [ebp - 0x214]
mov byte [ebp - 4], 0x15
call fcn.0042e010
lea ecx, [ebp - 0x124]
push ecx
mov ecx, eax
call fcn.0042e850
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x16
jb 0x410211
mov eax, dword [eax]
push dword [edi + 0x10]
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.00459940
add esp, 0xc
cmp dword [ebp - 0x110], 0x10
jb 0x41023b
push dword [ebp - 0x124]
call fcn.00460a34
add esp, 4
cmp dword [ebp - 0x148], 0x10
mov dword [ebp - 0x110], 0xf
mov dword [ebp - 0x114], 0
mov byte [ebp - 0x124], 0
mov byte [ebp - 4], 0x13
jb 0x410271
push dword [ebp - 0x15c]
call fcn.00460a34
add esp, 4
lea eax, [ebp - 0x1d4]
push eax
lea eax, [ebp - 0x1d8]
push str.file:__
push eax
call fcn.00402df0
add esp, 0xc
mov ecx, dword [eax]
mov edi, dword [ebp - 0x1d4]
lea edx, [ecx - 0x10]
add edi, 0xfffffff0
mov byte [ebp - 4], 0x17
cmp edx, edi
je 0x4102f3
cmp dword [edi + 0xc], 0
jl 0x4102e4
mov eax, dword [edx]
cmp eax, dword [edi]
jne 0x4102e4
push edx
call fcn.00403ee0
add esp, 4
mov dword [ebp - 0x1e0], eax
mov ecx, ebx
lea edx, [edi + 0xc]
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4102d9
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x1e0]
add eax, 0x10
mov dword [ebp - 0x1d4], eax
jmp 0x4102f3
push dword [ecx - 0xc]
push ecx
lea ecx, [ebp - 0x1d4]
call fcn.00408620
mov edx, dword [ebp - 0x1d8]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x13
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x410381
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x410381
push str.pacFileUrl
call fcn.0042e010
lea ecx, [ebp - 0x15c]
push ecx
mov ecx, eax
call fcn.0042e850
mov edx, eax
cmp dword [edx + 0x14], 0x10
mov byte [ebp - 4], 0x18
jb 0x41033e
mov edx, dword [edx]
test edx, edx
jne 0x410346
xor ecx, ecx
jmp 0x410359
mov ecx, edx
lea edi, [ecx + 1]
jmp 0x410350
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410350
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x1d4]
call fcn.00408620
cmp dword [ebp - 0x148], 0x10
mov byte [ebp - 4], 0x13
jb 0x410381
push dword [ebp - 0x15c]
call fcn.00460a34
add esp, 4
lea eax, [ebp - 0x1ec]
push eax
lea eax, [ebp - 0x228]
push eax
push 0x4b
push 0
call dword [sym.imp.WININET.dll_InternetQueryOptionA]
mov eax, dword [ebp - 0x218]
test byte [eax + 0x10], 4
je 0x4103d1
mov edx, dword [eax + 4]
test edx, edx
jne 0x4103b0
xor ecx, ecx
jmp 0x4103be
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4103b5
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x1dc]
call fcn.00408620
mov eax, dword [ebp - 0x218]
mov dword [eax + 0x10], 4
mov eax, dword [ebp - 0x1d4]
mov edx, 1
sub edx, dword [eax - 4]
mov ecx, dword [eax - 8]
or ecx, edx
jge 0x410400
push 0
lea ecx, [ebp - 0x1d4]
call fcn.00407d40
mov eax, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x218]
mov edi, dword [sym.imp.WININET.dll_InternetSetOptionA]
mov dword [ecx + 4], eax
push dword [ebp - 0x1ec]
lea eax, [ebp - 0x228]
push eax
push 0x4b
push 0
call edi
push 0
push 0
push 0x5f
push 0
call edi
jmp 0x41064b
mov eax, dword [0x4adbb8]
mov ecx, 0x4adbb8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1d8], eax
mov edi, 0x490f70
shr edi, 0x10
mov byte [ebp - 4], 0x19
push 0
test edi, edi
jne 0x410485
mov eax, 0x490f70
movzx eax, ax
push eax
call fcn.00403750
add esp, 8
test eax, eax
je 0x410495
mov edx, 0x490f70
movzx ecx, dx
push ecx
push eax
lea ecx, [ebp - 0x1d8]
call fcn.00405c50
jmp 0x410495
push 0x490f70
lea ecx, [ebp - 0x1d8]
call fcn.00408620
mov eax, dword [0x4adbb8]
mov ecx, 0x4adbb8
mov byte [ebp - 4], 0x1a
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1e4], eax
mov eax, str.pacFileBckp
mov byte [ebp - 4], 0x1b
test eax, 0xffff0000
jne 0x4104e8
movzx eax, ax
push 0
push eax
call fcn.00403750
add esp, 8
test eax, eax
je 0x4104fa
mov edx, str.pacFileBckp
movzx ecx, dx
push ecx
push eax
lea ecx, [ebp - 0x1e4]
call fcn.00405c50
jmp 0x4104fa
push 0xb
push str.pacFileBckp
lea ecx, [ebp - 0x1e4]
call fcn.00408620
mov eax, dword [0x4adbb8]
push ecx
mov ecx, 0x4adbb8
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0x1e0], esp
call dword [eax + 0xc]
mov ecx, dword [ebp - 0x1e0]
add eax, 0x10
mov dword [ecx], eax
mov byte [ebp - 4], 0x1d
push 0
test edi, edi
jne 0x41054b
mov eax, 0x490f70
movzx edi, ax
push edi
call fcn.00403750
add esp, 8
test eax, eax
je 0x410555
mov ecx, dword [ebp - 0x1e0]
push edi
push eax
call fcn.00405c50
jmp 0x410555
push 0x490f70
call fcn.00408620
push dword [0x4adbb0]
lea eax, [ebp - 0x1d8]
push eax
lea eax, [ebp - 0x1e4]
push eax
lea eax, [ebp - 0x1dc]
push eax
mov byte [ebp - 4], 0x1c
call fcn.0045b3f0
mov edx, dword [ebp - 0x1e4]
add edx, 0xfffffff0
add esp, 0x14
mov byte [ebp - 4], 0x1a
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41059f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1d8]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x13
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4105c2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x1dc]
cmp dword [eax - 0xc], 0
je 0x410602
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
or ecx, edx
jge 0x4105f0
push 0
lea ecx, [ebp - 0x1dc]
call fcn.00407d40
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x254], eax
mov dword [ebp - 0x248], 4
jmp 0x410616
mov dword [ebp - 0x254], 0x490f70
mov dword [ebp - 0x248], 1
push dword [ebp - 0x1ec]
mov edi, dword [sym.imp.WININET.dll_InternetSetOptionA]
lea eax, [ebp - 0x228]
push eax
push 0x4b
push 0
call edi
push 0
push 0
push 0x5f
push 0
call edi
push 0
push 0x490f70
lea ecx, [ebp - 0x1dc]
call fcn.00408620
mov eax, dword [ebp - 0x1dc]
mov edi, 0x490f70
cmp dword [eax - 0xc], 0
je 0x41081c
mov ecx, dword [ebp - 0x1d4]
xor edx, edx
test ecx, ecx
setne dl
test edx, edx
jne 0x41067b
push 0x80004005
call fcn.00403930
push ecx
push eax
call fcn.0046236e
add esp, 8
test eax, eax
je 0x410816
mov eax, dword [0x4adbb8]
mov ecx, 0x4adbb8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1e4], eax
mov eax, 0x490f70
shr eax, 0x10
mov byte [ebp - 4], 0x1e
mov dword [ebp - 0x1e0], eax
push 0
test eax, eax
jne 0x4106da
movzx edi, di
push edi
call fcn.00403750
add esp, 8
test eax, eax
je 0x4106ea
push edi
push eax
lea ecx, [ebp - 0x1e4]
call fcn.00405c50
jmp 0x4106ea
push 0x490f70
lea ecx, [ebp - 0x1e4]
call fcn.00408620
mov eax, dword [0x4adbb8]
mov ecx, 0x4adbb8
mov byte [ebp - 4], 0x1f
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1d8], eax
mov eax, str.pacFileBckp
mov byte [ebp - 4], 0x20
test eax, 0xffff0000
jne 0x410735
movzx edi, ax
push 0
push edi
call fcn.00403750
add esp, 8
test eax, eax
je 0x410747
push edi
push eax
lea ecx, [ebp - 0x1d8]
call fcn.00405c50
jmp 0x410747
push 0xb
push str.pacFileBckp
lea ecx, [ebp - 0x1d8]
call fcn.00408620
mov eax, dword [0x4adbb8]
push ecx
mov edi, esp
mov ecx, 0x4adbb8
mov byte [ebp - 4], 0x21
mov dword [ebp - 0x200], edi
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
cmp dword [ebp - 0x1e0], 0
mov byte [ebp - 4], 0x22
push 0
jne 0x41079d
mov eax, 0x490f70
movzx eax, ax
push eax
call fcn.00403750
add esp, 8
test eax, eax
je 0x4107a9
mov edx, 0x490f70
movzx ecx, dx
push ecx
push eax
mov ecx, edi
call fcn.00405c50
jmp 0x4107a9
push 0x490f70
mov ecx, edi
call fcn.00408620
push dword [0x4adbb0]
lea eax, [ebp - 0x1e4]
push eax
lea eax, [ebp - 0x1dc]
push eax
lea eax, [ebp - 0x1d8]
push eax
mov byte [ebp - 4], 0x21
call fcn.0045cab0
mov edx, dword [ebp - 0x1d8]
add edx, 0xfffffff0
add esp, 0x14
mov byte [ebp - 4], 0x1f
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4107f3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1e4]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x13
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x410816
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x1dc]
lea edx, [eax - 0x10]
mov byte [ebp - 4], 0x12
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x410839
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1d4]
add edx, 0xfffffff0
mov byte [ebp - 4], 7
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41085c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x1cc]
call fcn.00402870
lea ecx, [ebp - 0x214]
mov byte [ebp - 4], 5
call fcn.0042dd80
jmp 0x4108c5
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 4], 3
test eax, eax
je 0x410a0a
lea ecx, [ebp - 0x144]
call fcn.0042fdd0
sub esp, 0x18
mov eax, esp
lea ecx, [ebp - 0x240]
push ecx
push eax
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 0x25
call fcn.00433150
lea eax, [ebp - 0x204]
push eax
call fcn.00452d60
mov edi, dword [ebp - 0x204]
add edi, 0xfffffff0
add esp, 0x18
mov ecx, dword [edi]
mov byte [ebp - 4], 0x26
mov eax, dword [ecx]
mov dword [ebp - 0x1fc], esp
call dword [eax + 0x10]
cmp dword [edi + 0xc], 0
mov ecx, eax
lea eax, [edi + 0xc]
jl 0x410945
cmp ecx, dword [edi]
jne 0x410945
mov ecx, 1
lock xadd dword [eax], ecx
inc ecx
jmp 0x410981
mov eax, dword [ecx]
push 1
push dword [edi + 4]
call dword [eax]
mov edx, eax
mov dword [ebp - 0x1f8], edx
test edx, edx
jne 0x41095f
call fcn.00408840
mov eax, dword [edi + 4]
mov dword [edx + 4], eax
mov ecx, dword [edi + 4]
inc ecx
push ecx
lea eax, [edi + 0x10]
push eax
push ecx
lea eax, [edx + 0x10]
push eax
call fcn.00462094
mov edi, dword [ebp - 0x1f8]
add esp, 0x10
mov ecx, dword [ebp - 0x1fc]
lea eax, [edi + 0x10]
mov dword [ecx], eax
call fcn.00452960
mov ecx, dword [ebp - 0x1f4]
mov edx, dword [ebp - 0x204]
add edx, 0xfffffff0
mov dword [ecx], eax
add esp, 4
mov byte [ebp - 4], 0x25
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4109bf
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x12c], 0x10
mov byte [ebp - 4], 3
mov dword [ebp - method.Json::FastWriter.virtual_0], vtable.Json::FastWriter.0
jb 0x4109e4
push dword [ebp - 0x140]
call fcn.00460a34
add esp, 4
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x12c], 0xf
mov dword [ebp - 0x130], 0
mov byte [ebp - 0x140], 0
call fcn.0042ff20
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 1
call fcn.0042dd80
add esi, 0xfffffff0
mov ecx, ebx
lea eax, [esi + 0xc]
mov byte [ebp - 4], 0
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x410a36
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1f0]
add edx, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x410a5a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
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 - 0x14]
xor ecx, ebp
call fcn.00461234
mov esp, ebp
pop ebp
ret 0xc