Function at 0x44bd80
Capabilities:
Check for time delay via queryperformancecounter
Get file size

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x513b06
mov eax, dword fs:[0]
push eax
push ecx
push ebx
sub esp, 0x7b0
mov eax, dword [0x56fcd4]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, ecx
mov dword [ebp - 0x67c], eax
mov edi, dword [ebx + 8]
mov dword [ebp - 0x6b0], eax
mov dword [ebp - 0x69c], eax
mov eax, edi
mov byte [ebp - 0x6a0], 0
cmp dword [edi + 0x14], 0x10
jb 0x44bded
mov eax, dword [edi]
push dword [ebp - 0x6a0]
push dword [edi + 0x10]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.004046d0
cmp dword [ebp - 0x50], 8
lea ecx, [ebp - 0x64]
mov eax, dword [ebp - 0x54]
cmovae ecx, dword [ebp - 0x64]
mov dword [ebp - 4], 0
lea esi, [ecx + eax*2]
push esi
push ecx
call fcn.00433e20
add esp, 0x18
mov dword [ebp - 0x3c], 0
sub esi, eax
mov dword [ebp - 0x38], 0
sar esi, 1
lea ecx, [ebp - 0x4c]
xorps xmm0, xmm0
push esi
push eax
movups xmmword [ebp - 0x4c], xmm0
call fcn.004042e0
cmp dword [ebp - 0x38], 8
lea ecx, [ebp - 0x6a9]
push ecx
push dword [ebp - 0x3c]
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 1
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.004dd7b9
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.004047e0
add esp, 0x14
mov ecx, dword [ebp - 0x38]
mov byte [ebp - 4], 3
cmp ecx, 8
jb 0x44beb2
mov edx, dword [ebp - 0x4c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x44bea8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44cf67
push ecx
push edx
call fcn.004dee43
add esp, 8
xor eax, eax
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 7
mov word [ebp - 0x4c], ax
mov ecx, dword [ebp - 0x50]
mov byte [ebp - 4], 4
cmp ecx, 8
jb 0x44bf04
mov edx, dword [ebp - 0x64]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x44befa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44cf67
push ecx
push edx
call fcn.004dee43
add esp, 8
xor eax, eax
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 7
mov word [ebp - 0x64], ax
call fcn.00444560
mov dword [ebp - 0x698], 0
mov dword [ebp - 0x694], 0
movq xmm0, qword [ebp - 0x698]
mov ecx, dword [eax + 0x114]
lea eax, [ebp - 0xe8]
push eax
push 0x12
push str.start_to_send:_.
push 2
sub esp, 0xc
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], 0
call fcn.00413bb0
call fcn.004dcf0b
push 0
push 0x989680
push edx
push eax
call fcn.004df2a0
mov esi, dword [ebp - 0x67c]
mov ecx, closesocket
sub ecx, dword [esi + 0x70]
lea edx, [esi + 0x60]
mov dword [ebp - 0x680], eax
cmp ecx, 6
jb 0x44cf6c
cmp dword [edx + 0x14], 0x10
mov eax, edx
jb 0x44bfa1
mov eax, dword [edx]
push 6
push str.__zstd
push dword [edx + 0x10]
lea ecx, [ebp - 0x130]
push eax
push edx
push dword [ebp - 0x69c]
call fcn.0041fc10
mov byte [ebp - 4], 5
call fcn.00444560
sub esp, 8
mov dword [ebp - 0x698], 0
mov dword [ebp - 0x694], 0
movq xmm0, qword [ebp - 0x698]
mov ecx, dword [eax + 0x114]
mov eax, esp
push 2
sub esp, 0xc
mov dword [eax], str.start_to_compress_file
mov dword [eax + 4], 0x16
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], 0
call fcn.00445260
lea eax, [ebp - 0x7a0]
push eax
call fcn.00445fa0
xorps xmm0, xmm0
add esp, 4
mov ecx, dword [eax]
mov eax, dword [eax + 4]
movups xmmword [ebp - 0xb8], xmm0
mov dword [ebp - 0x684], ecx
movups xmmword [ebp - 0xa0], xmm0
mov dword [ebp - 0x670], eax
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x6a8], ecx
mov dword [ebp - 0x6a4], eax
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
mov dword [ebp - 0x70], 2
cmp dword [ebp - 0xd4], 0x10
lea eax, [ebp - 0xe8]
push dword [ebp - 0xd8]
cmovae eax, dword [ebp - 0xe8]
lea ecx, [ebp - 0xa0]
push eax
mov byte [ebp - 4], 6
call fcn.00438360
lea eax, [ebp - 0xb8]
cmp eax, edi
je 0x44c0f5
cmp dword [edi + 0x14], 0x10
mov eax, edi
jb 0x44c0e6
mov eax, dword [edi]
push dword [edi + 0x10]
lea ecx, [ebp - 0xb8]
push eax
call fcn.00438360
cmp dword [ebp - 0x11c], 0x10
lea eax, [ebp - 0x130]
push dword [ebp - 0x120]
cmovae eax, dword [ebp - 0x130]
lea ecx, [ebp - 0x88]
push eax
call fcn.00438360
lea eax, [ebp - 0xb8]
push eax
call fcn.004512a0
add esp, 4
mov byte [ebp - 4], 7
cmp byte [esi + 1], 0
je 0x44c1ea
cmp dword [edi + 0x14], 0x10
mov eax, edi
mov byte [ebp - 0x66c], 0
jb 0x44c149
mov eax, dword [edi]
push dword [ebp - 0x66c]
push dword [edi + 0x10]
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.004046d0
add esp, 0x10
cmp dword [ebp - 0x164], 8
lea eax, [ebp - 0x178]
mov byte [ebp - 4], 8
cmovae eax, dword [ebp - 0x178]
push eax
call fcn.004ddcd2
mov dword [ebp - 0x6f0], eax
test edx, edx
jne 0x44cf71
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 7
call fcn.00426130
call fcn.00444560
push edi
push 0x14
push str.file__was_deleted.
push 2
mov ecx, eax
mov dword [ebp - 0x698], 0
sub esp, 0xc
mov dword [ebp - 0x694], 0
movq xmm0, qword [ebp - 0x698]
mov eax, esp
mov ecx, dword [ecx + 0x114]
movq qword [eax], xmm0
mov dword [eax + 8], 0
call fcn.00413bb0
jmp 0x44c3d4
mov ecx, dword [esi + 0x58]
add esi, 0x48
mov eax, closesocket
sub eax, ecx
cmp eax, 1
jb 0x44cf83
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x44c20a
mov eax, dword [esi]
push 1
push 0x51a36c
push ecx
push eax
push esi
push dword [ebp - 0x69c]
lea ecx, [ebp - 0x190]
call fcn.0041fc10
lea eax, [ebp - 0xe8]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.00403430
add esp, 0xc
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 0xb
call fcn.004260e0
cmp dword [ebp - 0x134], 0x10
lea eax, [ebp - 0x148]
mov byte [ebp - 0x66c], 0
push dword [ebp - 0x66c]
cmovae eax, dword [ebp - 0x148]
push dword [ebp - 0x138]
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.004046d0
add esp, 0x10
cmp dword [edi + 0x14], 0x10
mov eax, edi
mov byte [ebp - 4], 0xc
mov byte [ebp - 0x66c], 0
jb 0x44c2a1
mov eax, dword [edi]
push dword [ebp - 0x66c]
push dword [edi + 0x10]
push eax
lea eax, [ebp - 0x160]
push eax
call fcn.004046d0
add esp, 0x10
cmp dword [ebp - 0x104], 8
lea ecx, [ebp - 0x118]
lea eax, [ebp - 0x160]
mov byte [ebp - 4], 0xd
cmovae ecx, dword [ebp - 0x118]
cmp dword [ebp - 0x14c], 8
push ecx
cmovae eax, dword [ebp - 0x160]
push eax
call fcn.004dde72
test eax, eax
jne 0x44cf88
lea ecx, [ebp - 0x160]
call fcn.00426130
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0xb
call fcn.00426130
call fcn.00444560
mov ecx, eax
mov dword [ebp - 0x698], 0
lea eax, [ebp - 0x148]
mov dword [ebp - 0x694], 0
movq xmm0, qword [ebp - 0x698]
push eax
mov ecx, dword [ecx + 0x114]
push edi
push 0x18
push str.file__was_moved_to_.
push 2
sub esp, 0xc
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], 0
call fcn.00414fe0
lea ecx, [ebp - 0x148]
call fcn.004260e0
jmp 0x44c3d4
lea eax, [ebp - 0x6b0]
mov dword [ebp - 4], 6
push eax
lea eax, [ebp - 0x6b4]
mov dword [ebp - 0x6b0], 2
push eax
lea eax, [ebp - 0x130]
mov dword [ebp - 0x6b4], 0
push eax
lea eax, [ebp - 0x6f8]
push eax
call fcn.00415a30
mov edi, dword [ebp - 0x6f8]
mov byte [ebp - 4], 0xf
lea esi, [edi + 0x20]
push esi
mov dword [ebp - 0x6d4], esi
call fcn.004dd278
add esp, 0x14
test eax, eax
jne 0x44cfa1
mov eax, dword [esi + 0x2c]
cmp eax, 0x7fffffff
je 0x44cfa8
mov eax, dword [edi + 0x1c]
mov byte [ebp - 4], 0x10
cmp eax, dword [edi]
je 0x44cfb3
lea ecx, [ebp - 0x728]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x44cfd4
mov eax, dword [ebp - 0x724]
mov edi, dword [ebp - 0x728]
push esi
mov dword [ebp - 0x6ec], eax
mov byte [ebp - 4], 0xf
call fcn.004dd29d
lea eax, [ebp - 0x770]
push eax
call fcn.00445fa0
add esp, 8
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x684]
mov eax, dword [eax + 4]
sbb eax, dword [ebp - 0x670]
push 0
push 0xf4240
push eax
push ecx
call fcn.004df2a0
mov dword [ebp - 0x6c0], eax
mov dword [ebp - 0x6bc], edx
call fcn.00444560
mov dword [ebp - 0x698], 0
mov dword [ebp - 0x694], 0
movq xmm0, qword [ebp - 0x698]
mov ecx, dword [eax + 0x114]
lea eax, [ebp - 0x6c0]
push eax
push 0x16
push str.compressed_take__ms.
push 2
sub esp, 0xc
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], 0
call fcn.00414a10
mov ecx, dword [ebp - 0x67c]
push 0x7c
mov dword [ebp - 0xf4], edi
mov eax, dword [ecx + 0x84]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x680]
mov dword [ebp - 0xf0], eax
movzx eax, byte [ecx + 0x7d]
mov byte [ebp - 0xec], al
movzx eax, byte [ecx + 0x7c]
mov byte [ebp - 0x100], al
movzx eax, word [ecx + 0x7e]
mov word [ebp - 0xfe], ax
movzx eax, word [ecx + 0x80]
mov word [ebp - 0xfc], ax
call fcn.004deddf
mov esi, eax
add esp, 4
mov dword [ebp - 0x678], esi
test esi, esi
je 0x44c5bb
lea ecx, [esi + 0xc]
mov dword [esi], vtable.std::_Associated_state_unsigned_int_.0
push ecx
mov dword [esi + 4], 1
call fcn.004dcbc2
lea eax, [esi + 0x14]
push 2
push eax
call fcn.004dd258
lea eax, [esi + 0x44]
push eax
call fcn.004dd36e
add esp, 0x10
mov byte [esi + 0x6c], 0
mov dword [esi + 0x70], 0
mov word [esi + 0x74], 0
mov byte [esi + 0x76], 0
mov dword [esi + 0x78], 0
jmp 0x44c5bd
xor esi, esi
mov dword [ebp - 0x6cc], esi
mov byte [ebp - 0x6c8], 0
mov byte [ebp - 0x6c4], 0
mov esi, dword [ebp - 0x67c]
lea eax, [ebp - 0x100]
mov dword [ebp - 0x764], eax
lea eax, [ebp - 0x6f8]
mov dword [ebp - 0x760], eax
lea eax, [ebp - 0x6cc]
mov dword [ebp - 0x75c], eax
lea eax, [ebp - 0x7b0]
mov dword [ebp - 0x768], esi
movups xmm0, xmmword [ebp - 0x768]
push eax
push 1
mov byte [ebp - 4], 0x11
movups xmmword [ebp - 0x7b0], xmm0
call fcn.00406ed0
mov ecx, eax
mov byte [ebp - 0x6e0], 0
add esp, 8
mov dword [ebp - 0x6e4], ecx
mov byte [ebp - 0x6dc], 0
mov byte [ebp - 4], 0x12
test ecx, ecx
je 0x44d001
mov byte [ebp - 0x6dc], 1
mov dword [ebp - 0x71c], ecx
mov byte [ebp - 0x718], 1
lock inc dword [ecx + 4]
or edi, 0xffffffff
mov eax, edi
lock xadd dword [ecx + 4], eax
jne 0x44c67e
mov edx, dword [ecx + 0x78]
test edx, edx
je 0x44c678
mov eax, dword [edx]
push ecx
mov ecx, edx
jmp 0x44c67c
mov eax, dword [ecx]
push 1
call dword [eax]
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0x13
call fcn.00421000
mov esi, dword [esi + 0xac]
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0x14
movzx eax, word [esi + 0x18]
push eax
push esi
call fcn.0044d5f0
mov ecx, dword [ebp - 0x6cc]
mov dword [ebp - 0x680], ecx
test ecx, ecx
je 0x44d001
cmp byte [ebp - 0x6c8], 0
je 0x44c6cf
cmp byte [ecx + 0x6c], 0
jne 0x44d001
cmp byte [ebp - 0x6c4], 0
jne 0x44cff5
mov byte [ebp - 0x6c4], 1
mov byte [ebp - 0x774], 1
lock inc dword [ecx + 4]
mov dword [ebp - 0x778], 0
mov dword [ebp - 0x6f0], ecx
mov byte [ebp - 0x6ec], 1
mov byte [ebp - 4], 0x16
test ecx, ecx
je 0x44d001
cmp byte [ecx + 0x6c], 0
jne 0x44d001
mov eax, dword [ecx]
push 1
mov eax, dword [eax + 8]
call eax
mov ecx, dword [ebp - 0x680]
mov eax, dword [eax]
mov dword [ebp - 0x66c], eax
mov eax, edi
lock xadd dword [ecx + 4], eax
jne 0x44c74f
mov edx, dword [ecx + 0x78]
test edx, edx
je 0x44c749
mov eax, dword [edx]
push ecx
mov ecx, edx
jmp 0x44c74d
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [ebp - 0x66c]
mov dword [ebp - 0x6d8], eax
mov eax, dword [ebp - 0x67c]
mov dword [ebp - 0x758], eax
lea eax, [ebp - 0x6d8]
mov dword [ebp - 0x754], eax
lea eax, [ebp - 0x6a0]
mov dword [ebp - 0x750], eax
lea eax, [ebp - 0x671]
mov dword [ebp - 0x74c], eax
lea eax, [ebp - 0x7c0]
movups xmm0, xmmword [ebp - 0x758]
push eax
push 1
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x6a0], 0
mov byte [ebp - 0x671], 1
movups xmmword [ebp - 0x7c0], xmm0
call fcn.00406d60
mov ecx, eax
mov byte [ebp - 0x694], 0
add esp, 8
mov dword [ebp - 0x698], ecx
mov byte [ebp - 0x690], 0
mov byte [ebp - 4], 0x17
test ecx, ecx
je 0x44d001
mov byte [ebp - 0x690], 1
mov dword [ebp - 0x700], ecx
mov byte [ebp - 0x6fc], 1
lock inc dword [ecx + 4]
mov eax, edi
lock xadd dword [ecx + 4], eax
jne 0x44c816
mov edx, dword [ecx + 0x78]
test edx, edx
je 0x44c810
mov eax, dword [edx]
push ecx
mov ecx, edx
jmp 0x44c814
mov eax, dword [ecx]
push 1
call dword [eax]
mov byte [ebp - 4], 0x18
nop word [eax + eax]
mov eax, dword [ebp - 0x67c]
mov dword [ebp - 0x268], 0
mov edi, dword [eax + 0x78]
mov ecx, dword [edi]
mov dword [ebp - 0x670], ecx
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x66c], edx
cmp edx, eax
jne 0x44cac9
mov eax, dword [ecx + 0x40]
mov dword [ecx + 4], eax
cmp edx, eax
jne 0x44cac9
mov eax, dword [edi + 0x40]
cmp ecx, eax
je 0x44c8dd
nop
mov ecx, dword [edi]
mov dword [ebp - 0x670], ecx
mov eax, dword [ecx + 0x40]
mov dword [ecx + 4], eax
mov edx, dword [ecx]
mov dword [ebp - 0x66c], edx
nop
cmp edx, eax
jne 0x44caca
mov edx, dword [ecx + 0x80]
mov dword [ebp - 0x66c], edx
mov ecx, dword [edx]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x680], ecx
mov dword [edx + 4], eax
nop
nop
mov dword [edi], edx
nop
imul edi, ecx, 0x404
lea eax, [ebp - 0x668]
push 0x400
add edi, dword [edx + 0x84]
push edi
push eax
call fcn.004e0ed0
mov eax, dword [edi + 0x400]
mov edx, dword [ebp - 0x66c]
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x680]
jmp 0x44cb00
mov edi, dword [ebp - 0x6e4]
test edi, edi
je 0x44c820
cmp byte [edi + 0x6c], 0
jne 0x44c820
call fcn.004dce50
mov dword [ebp - 0x66c], eax
mov dword [ebp - 0x684], edx
call fcn.004dce39
mov ecx, dword [ebp - 0x66c]
mov dword [ebp - 0x670], eax
mov eax, dword [ebp - 0x684]
mov dword [ebp - 0x730], 1
mov dword [ebp - 0x72c], 0
cmp ecx, 0x989680
jne 0x44c94e
test eax, eax
jne 0x44c94e
push eax
push 0x64
push edx
push dword [ebp - 0x670]
call fcn.004df430
jmp 0x44c9b9
push ebx
push eax
push ecx
push edx
push dword [ebp - 0x670]
call fcn.004df350
mov dword [ebp - 0x680], ebx
pop ebx
nop
push 0
push 0x3b9aca00
push edx
push eax
mov edi, ecx
call fcn.004df430
push 0
push 0x3b9aca00
push dword [ebp - 0x680]
mov dword [ebp - 0x670], eax
push edi
mov dword [ebp - 0x678], edx
call fcn.004df430
push dword [ebp - 0x684]
push dword [ebp - 0x66c]
push edx
push eax
call fcn.004df2a0
add eax, dword [ebp - 0x670]
mov edi, dword [ebp - 0x6e4]
adc edx, dword [ebp - 0x678]
cmp byte [edi + 0x6c], 0
mov dword [ebp - 0x670], edx
mov dword [ebp - 0x66c], eax
jne 0x44d001
lea eax, [ebp - 0x730]
mov ecx, edi
push eax
call fcn.00408ce0
test eax, eax
jne 0x44c820
lea eax, [ebp - 0x770]
push eax
call fcn.00445fa0
add esp, 4
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x66c]
mov eax, dword [eax + 4]
sbb eax, dword [ebp - 0x670]
push 0
push 0x3e8
push eax
push ecx
call fcn.004df2a0
mov dword [ebp - 0x6c0], eax
lea eax, [ebp - 0x6c0]
push eax
sub esp, 8
mov dword [ebp - 0x6bc], edx
mov eax, esp
mov dword [eax], str.queue_0_is_quited.__us
mov dword [eax + 4], 0x18
call fcn.004135b0
add esp, 0xc
lea ecx, [ebp - 0x671]
xor al, al
xchg byte [ecx], al
mov edi, dword [ebp - 0x700]
test edi, edi
je 0x44d001
cmp byte [ebp - 0x6fc], 0
je 0x44ca6b
cmp byte [edi + 0x6c], 0
jne 0x44d001
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov eax, dword [ebp - 0x67c]
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x44caa6
lea edx, [ebp - 0x69c]
mov dword [ebp - 0x69c], 0
mov dword [ebp - 0x6b4], 0
mov eax, dword [ecx]
push edx
lea edx, [ebp - 0x6b4]
push edx
call dword [eax + 8]
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44cdb3
mov ecx, dword [edi + 0x78]
test ecx, ecx
je 0x44cdab
mov eax, dword [ecx]
push edi
jmp 0x44cdb1
nop
imul edi, edx, 0x404
lea eax, [ebp - 0x668]
push 0x400
add edi, dword [ecx + 0x84]
push edi
push eax
call fcn.004e0ed0
mov eax, dword [edi + 0x400]
mov edx, dword [ebp - 0x670]
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x66c]
mov ecx, dword [edx + 0x88]
inc eax
add esp, 0xc
and ecx, eax
nop
lea eax, [ebp - 0x668]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x250]
mov dword [ebp - 0x714], eax
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x710], eax
lea eax, [ebp - 0x6a8]
push eax
push 0
lea eax, [ebp - 0x1c8]
mov dword [ebp - 0x6a8], 0
push eax
lea eax, [ebp - 0x714]
mov dword [ebp - 0x6a4], 0x56fa24
push eax
lea eax, [ebp - 0x24c]
push eax
call fcn.00419720
cmp dword [ebp - 0x6a8], 0
jne 0x44cf56
lock inc dword [ebp - 0x6a0]
mov eax, dword [ebp - 0x69c]
add esi, 0x1c
cmp esi, dword [eax + 0xb0]
jne 0x44cbb7
mov eax, dword [ebp - 0x67c]
push 1
mov esi, dword [eax + 0xac]
mov edi, dword [eax + 0xb8]
call dword [sym.imp.WINMM.dll_timeBeginPeriod]
push edi
call dword [sym.imp.KERNEL32.dll_Sleep]
push 1
call dword [sym.imp.WINMM.dll_timeEndPeriod]
jmp 0x44cc43
lea eax, [ebp - 0x738]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov edi, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea eax, [ebp - 0x740]
push eax
call edi
lea eax, [ebp - 0x748]
push eax
call edi
mov ecx, dword [ebp - 0x748]
sub ecx, dword [ebp - 0x740]
mov edx, dword [ebp - 0x744]
sbb edx, dword [ebp - 0x73c]
call fcn.004df650
mov edx, dword [ebp - 0x734]
mov ecx, dword [ebp - 0x738]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x678], xmm0
call fcn.004df650
movss xmm1, dword [ebp - 0x678]
cvtsd2ss xmm0, xmm0
divss xmm1, xmm0
movss xmm0, dword [0x51ce68]
mulss xmm1, dword [0x51ce6c]
mulss xmm1, dword [0x51ce6c]
comiss xmm0, xmm1
ja 0x44cbd3
movzx eax, word [esi + 0x18]
push eax
lea eax, [ebp - 0x1f]
push eax
call fcn.00408670
add esp, 8
lea ecx, [ebp - 0x6aa]
push ecx
lea ecx, [ebp - 0x1f]
push ecx
push eax
lea ecx, [ebp - 0xd0]
call fcn.00401ee0
cmp dword [ebp - 0xbc], 0x10
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 0x19
mov ecx, esi
cmovae eax, dword [ebp - 0xd0]
cmp dword [esi + 0x14], 0x10
jb 0x44cc8d
mov ecx, dword [esi]
push 0
push dword [ebp - 0xc0]
push eax
push dword [esi + 0x10]
lea eax, [ebp - 0x70c]
push ecx
push eax
lea ecx, [ebp - 0x1f0]
call fcn.00449370
mov edi, dword [ebp - 0x708]
test edi, edi
je 0x44ccc0
lock inc dword [edi + 4]
mov edi, dword [ebp - 0x708]
mov eax, dword [ebp - 0x70c]
mov eax, dword [eax]
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x19c], xmm0
movups xmm1, xmmword [eax]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x194], eax
movq qword [ebp - 0x1b8], xmm0
mov dword [ebp - 0x1b0], eax
movups xmmword [ebp - 0x1ac], xmm1
movups xmmword [ebp - 0x1c8], xmm1
test edi, edi
je 0x44cd4d
or eax, 0xffffffff
lock xadd dword [edi + 4], eax
jne 0x44cd22
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
jne 0x44cd22
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [ebp - 0x708]
test edi, edi
je 0x44cd4d
or eax, 0xffffffff
lock xadd dword [edi + 4], eax
jne 0x44cd4d
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
jne 0x44cd4d
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov ecx, dword [ebp - 0xbc]
mov byte [ebp - 4], 0x18
cmp ecx, 0x10
jb 0x44cd8b
mov edx, dword [ebp - 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44cd81
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44cf67
push ecx
push edx
call fcn.004dee43
add esp, 8
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
jmp 0x44c820
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax]
lea ecx, [ebp - 0x1f0]
call fcn.00426440
lea ecx, [ebp - 0x250]
call fcn.00426500
lea ecx, [ebp - 0x25c]
call fcn.00428f80
mov ecx, dword [ebp - 0x71c]
mov eax, esi
lock xadd dword [ecx + 4], eax
jne 0x44cdf7
mov edx, dword [ecx + 0x78]
test edx, edx
je 0x44cdf1
mov eax, dword [edx]
push ecx
mov ecx, edx
jmp 0x44cdf5
mov eax, dword [ecx]
push 1
call dword [eax]
lea ecx, [ebp - 0x6cc]
call fcn.00426fa0
mov edi, dword [ebp - 0x6f4]
test edi, edi
je 0x44ce2a
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x44ce2a
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock xadd dword [edi + 8], esi
dec esi
jne 0x44ce2a
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov ecx, dword [ebp - 0x74]
cmp ecx, 0x10
jb 0x44ce61
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44ce57
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44cffc
push ecx
push edx
call fcn.004dee43
add esp, 8
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
cmp ecx, 0x10
jb 0x44ceb0
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44cea6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44cffc
push ecx
push edx
call fcn.004dee43
add esp, 8
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
cmp ecx, 0x10
jb 0x44cf05
mov edx, dword [ebp - 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44cefb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44cffc
push ecx
push edx
call fcn.004dee43
add esp, 8
lea ecx, [ebp - 0x130]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
call fcn.004260e0
lea ecx, [ebp - 0xe8]
call fcn.004260e0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.004df28f
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
push str.send_to
lea eax, [ebp - 0x6a8]
push eax
call fcn.0043c050
call fcn.004eaaef
call fcn.00437700
lea eax, [ebp - 0x178]
push eax
push edx
push str.remove
call fcn.00437000
call fcn.00437700
lea ecx, [ebp - 0x118]
push ecx
lea ecx, [ebp - 0x160]
push ecx
push eax
push str.rename
call fcn.00436f60
push 5
call fcn.004dd640
dec eax
push 6
mov dword [esi + 0x2c], eax
call fcn.004dd640
push str.File_not_opened.
lea ecx, [ebp - 0x788]
call fcn.00424c00
push 0x552298
lea eax, [ebp - 0x788]
push eax
call fcn.004e084f
push str.Failed_to_get_file_size.
lea ecx, [ebp - 0x794]
call fcn.00424c00
push 0x552298
lea eax, [ebp - 0x794]
push eax
call fcn.004e084f
push 2
call fcn.00437090
call fcn.004eaaef
push 4
call fcn.00437090
int3