Function at 0x499c90
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x4d0d62
mov eax, dword fs:[0]
push eax
sub esp, 0x2e8
push ebx
push esi
push edi
mov eax, dword [0x50f880]
xor eax, esp
push eax
lea eax, [esp + 0x2f8]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x68]
mov ecx, dword [eax + 0x160]
mov edx, dword [eax + 0x164]
xor esi, esi
push 0x1c
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], edx
mov dword [esp + 0x68], esi
call fcn.0045401f
add esp, 4
cmp eax, esi
je 0x49b82e
mov dword [esp + 0x60], eax
mov dword [eax], eax
mov eax, dword [esp + 0x60]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x60]
mov dword [eax + 8], eax
mov eax, dword [esp + 0x60]
mov byte [eax + 0x18], 1
mov ecx, dword [esp + 0x60]
mov byte [ecx + 0x19], 1
mov dword [esp + 0x300], esi
push 0x28
mov dword [esp + 0xd0], esi
call fcn.0045401f
add esp, 4
cmp eax, esi
je 0x49b7f6
mov dword [esp + 0xc8], eax
mov dword [eax], eax
mov eax, dword [esp + 0xc8]
mov dword [eax + 4], eax
mov eax, dword [esp + 0xc8]
mov dword [eax + 8], eax
mov edx, dword [esp + 0xc8]
mov byte [edx + 0x20], 1
mov eax, dword [esp + 0xc8]
mov byte [eax + 0x21], 1
sub esp, 0x68
mov byte [esp + 0x368], 1
mov ecx, esp
mov dword [esp + 0x16c], esp
push ecx
call fcn.00402c60
mov edx, dword [edi + 0x68]
sub esp, 8
mov ecx, esp
mov dword [ecx], edx
mov eax, dword [edi + 0x6c]
mov dword [esp + 0x174], esp
mov dword [ecx + 4], eax
cmp eax, esi
je 0x499db2
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
lea edx, [esp + 0x134]
push edx
lea eax, [esp + 0xd0]
push eax
mov ecx, eax
push ecx
call fcn.004b8fb0
fldz
mov edx, dword [esp + 0x108]
fstp qword [edi + 0x100]
mov eax, dword [esp + 0x10c]
add esp, 0x7c
sub edx, 1
sbb eax, esi
mov dword [edi + 0xfc], eax
or ecx, 0xffffffff
lea eax, [edi + 0x100]
lea ebx, [edi + 0xf0]
mov dword [esp + 0x110], eax
mov eax, dword [edi + 0x68]
mov dword [edi + 0xe0], ecx
mov dword [edi + 0xe4], ecx
mov dword [edi + 0xe8], ecx
mov dword [edi + 0xec], ecx
mov dword [ebx], esi
mov dword [ebx + 4], esi
mov dword [edi + 0xf8], edx
mov edx, dword [eax + 0x168]
mov eax, dword [eax + 0x16c]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], ecx
lea ecx, [esp + 0x254]
push ecx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], eax
mov dword [edi + 0x108], esi
mov dword [edi + 0x10c], esi
call fcn.00402c60
cmp dword [esp + 0x254], 1
lea eax, [esp + 0x254]
sete byte [esp + 0x3f]
call fcn.00402ae0
cmp byte [esp + 0x3f], 0
je 0x499e96
mov eax, edi
call fcn.00491ad0
test byte [0x51a6f4], 1
jne 0x499ec8
or dword [0x51a6f4], 1
mov byte [esp + 0x300], 2
call fcn.0044cc80
push 0x4d8b70
call fcn.00454c0f
add esp, 4
mov byte [esp + 0x300], 1
fild qword [esp + 0x94]
sub esp, 8
mov esi, 0x51a5f0
fstp qword [esp]
call fcn.00490180
mov edx, dword [ebx + 4]
cmp edx, dword [edi + 0xfc]
jg 0x49a4d4
jl 0x499f07
mov eax, dword [ebx]
cmp eax, dword [edi + 0xf8]
jae 0x49a4d4
jmp 0x499f07
mov ebx, dword [esp + 0x40]
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0xbc]
or ecx, dword [esp + 0xc0]
je 0x49b4c3
mov eax, dword [edi + 0x68]
mov edx, dword [eax + 0x168]
mov eax, dword [eax + 0x16c]
mov ecx, edi
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], eax
call fcn.0044ac60
lea ecx, [edi + 0x110]
push ecx
push 0
add edi, 0x74
mov ebx, 3
call fcn.004ab480
add esp, 8
test al, al
je 0x49b5fd
mov eax, dword [esp + 0x110]
fld qword [eax]
mov dword [esp + 0x224], ebx
mov ebx, dword [esp + 0x40]
fstp qword [esp + 0x74]
mov edx, dword [ebx + 4]
mov dword [esp + 0x6c], eax
mov eax, dword [ebx]
push edx
push eax
push str.Processing_cluster__I64d
lea eax, [esp + 0x228]
mov dword [esp + 0x228], 0x4e22e8
mov dword [esp + 0x22c], 0x403
call fcn.00409be0
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
mov esi, dword [ebp + 8]
add esp, 0xc
push ecx
push edx
lea eax, [esp + 0x114]
push eax
mov eax, dword [esi + 0x9c]
call fcn.0044a980
mov eax, dword [esi + 0xa0]
test eax, eax
je 0x499fd9
add eax, 0xfffffff7
jmp 0x499fdb
xor eax, eax
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x10c]
cmp ecx, eax
je 0x49a6f1
lea eax, [esp + 0xd4]
call fcn.00430980
lea ecx, [esp + 0xec]
push ecx
lea edi, [esp + 0x60]
mov byte [esp + 0x304], 5
call fcn.00436890
test al, al
jne 0x49a10c
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xec]
sub esp, 8
mov eax, esp
mov dword [eax], edx
mov dword [esp + 0x4c], esp
mov dword [eax + 4], ecx
test ecx, ecx
je 0x49a046
add ecx, 4
mov eax, 1
lock xadd dword [ecx], eax
lea ecx, [esp + 0x160]
push ecx
call fcn.0042d9f0
add esp, 0xc
mov byte [esp + 0x300], 6
mov edx, dword [eax]
push edx
push 0x4e2348
lea eax, [esp + 0x200]
mov dword [esp + 0x200], 0x4e2318
mov dword [esp + 0x204], 0x410
mov dword [esp + 0x208], 2
call fcn.00409c10
mov byte [esp + 0x308], 5
mov eax, dword [esp + 0x160]
add eax, 0xfffffff0
add esp, 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x49a0c1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xe4]
add dword [ebx], eax
mov ecx, dword [esp + 0xe8]
adc dword [ebx + 4], ecx
add dword [esi + 0x108], eax
adc dword [esi + 0x10c], ecx
fild qword [esp + 0xe4]
fadd qword [0x51a678]
lea eax, [esp + 0xd4]
fstp qword [0x51a678]
mov byte [esp + 0x300], 1
call fcn.00436a90
jmp 0x49a4a7
mov ecx, dword [esp + 0xdc]
or ecx, dword [esp + 0xe0]
jne 0x49a6dd
mov edx, dword [esp + 0x10c]
lea esi, [esp + 0x44]
mov dword [esp + 0x44], edx
call fcn.00434470
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
test eax, eax
je 0x49a146
add eax, 0xfffffff7
jmp 0x49a148
xor eax, eax
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x44]
cmp ecx, eax
je 0x49a163
mov ecx, dword [ecx + 0x18]
cmp ecx, dword [esp + 0xec]
je 0x49a32b
mov edi, dword [ebp + 8]
lea edx, [esp + 0x254]
push edx
call fcn.00402c60
cmp dword [esp + 0x254], 1
lea eax, [esp + 0x254]
sete byte [esp + 0x3f]
call fcn.00402ae0
cmp byte [esp + 0x3f], 0
je 0x49a281
mov esi, edi
add esi, 0xd0
lea eax, [esp + 0xd4]
call fcn.00434150
test al, al
je 0x49a281
lea eax, [esp + 0xec]
push eax
lea edi, [esp + 0x60]
call fcn.00436890
test al, al
jne 0x49a1ec
mov eax, dword [esp + 0xec]
mov edx, dword [eax + 0x20]
mov ecx, dword [ebp + 8]
add dword [ecx + 0x108], edx
mov edx, dword [eax + 0x24]
adc dword [ecx + 0x10c], edx
fild qword [eax + 0x20]
jmp 0x49a0e7
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x94]
push eax
mov eax, dword [esp + 0xf0]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
push ecx
push edx
push eax
lea ecx, [esp + 0x7c]
call fcn.00490b80
add esp, 0x10
mov eax, 0x51a5f0
call fcn.004903b0
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x88]
mov dword [eax + 8], ecx
sub esp, 8
mov dword [eax + 0xc], edx
lea ecx, [esp + 0x104]
mov eax, esp
mov dword [esp + 0x5c], esp
call fcn.0040a4a0
mov ebx, dword [ebp + 8]
lea eax, [esp + 0x74]
push eax
call fcn.00498fd0
test eax, eax
jns 0x49a485
mov eax, dword [esp + 0x40]
add dword [eax], 1
adc dword [eax + 4], 0
jmp 0x49a48f
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
push esi
push edi
push ecx
push edx
sub esp, 8
lea ecx, [esp + 0x104]
mov eax, esp
mov dword [esp + 0x5c], esp
call fcn.0040a4a0
lea eax, [esp + 0x194]
push eax
call fcn.0042d9f0
add esp, 0xc
mov byte [esp + 0x310], 7
mov ecx, dword [eax]
push ecx
push str.Skipping_whole_file__s_at_lcn:__I64d__length:__I64d
lea eax, [esp + 0x228]
mov dword [esp + 0x228], 0x4e2398
mov dword [esp + 0x22c], 0x443
mov dword [esp + 0x230], 3
call fcn.00409c10
add esp, 0x18
lea ecx, [esp + 0x17c]
call fcn.00406510
add dword [ebx], edi
mov eax, dword [ebp + 8]
adc dword [ebx + 4], esi
add dword [eax + 0x108], edi
adc dword [eax + 0x10c], esi
jmp 0x49a0e0
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x12c], edx
mov edx, dword [esp + 0x98]
add eax, 0x20
push edx
mov edx, dword [esp + 0x98]
mov dword [esp + 0x48], eax
mov eax, dword [eax + 4]
push edx
push eax
push ecx
mov dword [esp + 0x154], ecx
lea ecx, [esp + 0x7c]
mov dword [esp + 0x158], eax
call fcn.00490b80
mov edi, dword [ebp + 8]
add esp, 0x10
lea eax, [esp + 0x254]
push eax
call fcn.00402c60
cmp dword [esp + 0x254], 1
lea eax, [esp + 0x254]
sete byte [esp + 0x3f]
call fcn.00402ae0
cmp byte [esp + 0x3f], 0
je 0x49a620
mov esi, edi
add esi, 0xd0
lea eax, [esp + 0xd4]
call fcn.00434150
test al, al
je 0x49a620
lea ecx, [esp + 0xec]
push ecx
lea edi, [esp + 0x60]
call fcn.00436890
test al, al
jne 0x49a402
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx]
mov eax, dword [ebp + 8]
add dword [eax + 0x108], edx
mov edx, dword [ecx + 4]
adc dword [eax + 0x10c], edx
fild qword [ecx]
jmp 0x49a0e7
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x94]
push eax
mov eax, dword [esp + 0x48]
mov edx, dword [eax + 4]
mov eax, dword [eax]
push ecx
push edx
push eax
lea ecx, [esp + 0x7c]
call fcn.00490b80
add esp, 0x10
mov eax, 0x51a5f0
call fcn.004903b0
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x88]
mov dword [eax + 8], ecx
sub esp, 8
mov dword [eax + 0xc], edx
lea ecx, [esp + 0x104]
mov eax, esp
mov dword [esp + 0x5c], esp
call fcn.0040a4a0
mov ebx, dword [ebp + 8]
lea eax, [esp + 0x74]
push eax
call fcn.00498fd0
mov esi, eax
test esi, esi
js 0x49a50b
mov esi, 0x51a5f0
call fcn.00490360
lea eax, [esp + 0xd4]
mov byte [esp + 0x300], 1
call fcn.00436a90
mov ebx, dword [esp + 0x40]
mov ecx, dword [ebx + 4]
mov edx, dword [ebp + 8]
cmp ecx, dword [edx + 0xfc]
jl 0x499f00
jg 0x49a4cd
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
cmp ecx, dword [edx + 0xf8]
jb 0x499f00
mov ebx, dword [esp + 0x40]
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x8c]
mov edx, dword [ebx + 4]
push eax
mov eax, dword [ebx]
push ecx
push edx
push eax
mov dword [esp + 0xb8], 0x4e21d4
mov dword [esp + 0xbc], 0x3ec
push str.Reached_currentBackLcn_at__I64d__clusters:__I64d
jmp 0x49b4f5
mov eax, dword [esp + 0x40]
add dword [eax], 1
mov edi, ebx
mov ebx, eax
adc dword [eax + 4], 0
cmp esi, 0x80004004
je 0x49b6bb
cmp esi, 0x80070070
je 0x49b6bb
sub esp, 8
lea ecx, [esp + 0xf4]
mov eax, esp
mov dword [esp + 0x4c], esp
call fcn.0040a4a0
lea edx, [esp + 0x16c]
push edx
call fcn.0042d9f0
add esp, 0xc
mov byte [esp + 0x300], 8
mov eax, dword [eax]
push eax
mov esi, 3
push str.Marking_file__s_as_unmovable.
lea eax, [esp + 0x1ac]
mov dword [esp + 0x1ac], 0x4e2430
mov dword [esp + 0x1b0], 0x483
mov dword [esp + 0x1b4], esi
call fcn.00409c10
add esp, 8
lea ecx, [esp + 0x164]
mov byte [esp + 0x300], 5
call fcn.00406510
lea ecx, [esp + 0xec]
push ecx
lea edx, [esp + 0x60]
push edx
call fcn.00437ce0
push str.LayFileAt_failed__skipping_fragment
lea eax, [esp + 0x184]
mov dword [esp + 0x184], 0x4e249c
mov dword [esp + 0x188], 0x486
mov dword [esp + 0x18c], esi
call fcn.00409c10
fild qword [esp + 0xe8]
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xec]
add esp, 4
add dword [ebx], eax
adc dword [ebx + 4], ecx
add dword [edi + 0x108], eax
adc dword [edi + 0x10c], ecx
fadd qword [0x51a678]
jmp 0x49a0ed
mov eax, 0x51a5f0
call fcn.004903b0
mov edx, dword [esp + 0x6c]
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x74]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x88]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x8c]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
lea edx, [esp + 0x140]
push edx
push eax
push ecx
sub esp, 8
lea ecx, [esp + 0x114]
mov eax, esp
mov dword [esp + 0x6c], esp
call fcn.0040a4a0
mov edx, edi
push edx
call fcn.00493630
mov esi, eax
test esi, esi
js 0x49a51a
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x148]
mov eax, edi
add dword [eax + 0x108], ecx
mov ecx, dword [esp + 0x130]
mov esi, 0x51a5f0
adc dword [eax + 0x10c], edx
mov eax, dword [esp + 0x12c]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
call fcn.00490360
lea eax, [esp + 0xd4]
mov byte [esp + 0x300], 1
call fcn.00436a90
jmp 0x49a4a7
lea eax, [esp + 0xd4]
mov byte [esp + 0x300], 1
call fcn.00436a90
mov edx, dword [ebx]
mov edi, dword [ebx + 4]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
sub eax, edx
sbb ecx, edi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], edi
cmp edi, dword [esi + 0xfc]
jg 0x49a9c8
jl 0x49a743
mov eax, dword [ebp + 8]
cmp edx, dword [eax + 0xf8]
jae 0x49a9c8
mov ecx, dword [ebp + 8]
add ecx, 0x94
mov dword [esp + 0x44], ecx
mov edi, dword [ebp + 8]
mov edx, dword [edi + 0xfc]
mov eax, dword [edi + 0xf8]
mov ecx, dword [esp + 0x44]
push 0
push edx
push eax
push ecx
lea esi, [esp + 0xc4]
call fcn.00490bb0
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xc8]
add esp, 0x10
mov esi, ecx
sub esi, dword [ebx]
mov eax, edx
sbb eax, dword [ebx + 4]
push edx
push ecx
lea edx, [esp + 0xac]
mov dword [esp + 0x158], eax
mov eax, dword [edi + 0x9c]
push edx
call fcn.0044a980
mov edi, dword [edi + 0xa0]
test edi, edi
je 0x49a7b9
lea eax, [edi - 9]
jmp 0x49a7bb
xor eax, eax
mov eax, dword [eax + 4]
cmp dword [esp + 0xa4], eax
je 0x49a97b
mov edi, dword [ebp + 8]
lea eax, [esp + 0x254]
push eax
call fcn.00402c60
cmp dword [esp + 0x254], 1
lea eax, [esp + 0x254]
sete byte [esp + 0x3f]
call fcn.00402ae0
cmp byte [esp + 0x3f], 0
je 0x49a8f4
mov ebx, dword [esp + 0xa4]
add ebx, 0x18
lea eax, [esp + 0x250]
lea ecx, [edi + 0xd0]
call fcn.00436dd0
mov eax, dword [eax]
cmp eax, dword [edi + 0xd4]
je 0x49a8f0
push ebx
lea edi, [esp + 0x60]
call fcn.00436890
test al, al
je 0x49a9c4
mov esi, dword [ebx + 4]
mov edi, dword [ebx]
mov dword [esp + 0x174], edi
mov dword [esp + 0x178], esi
test esi, esi
je 0x49a85e
lea ecx, [esi + 4]
mov edx, 1
lock xadd dword [ecx], edx
mov eax, 0x51a5f0
mov byte [esp + 0x300], 9
call fcn.004903b0
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x88]
sub esp, 8
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, esp
mov dword [eax], edi
mov dword [esp + 0x120], esp
mov dword [eax + 4], esi
test esi, esi
je 0x49a8b7
add esi, 4
mov eax, 1
lock xadd dword [esi], eax
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x74]
push ecx
call fcn.00498fd0
test eax, eax
js 0x49a9b0
mov esi, 0x51a5f0
call fcn.00490360
lea eax, [esp + 0x174]
mov byte [esp + 0x300], 1
call fcn.00432180
mov ebx, dword [esp + 0x40]
jmp 0x49a93c
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0xa4]
mov edx, dword [eax + 8]
or edx, dword [eax + 0xc]
jne 0x49a920
mov eax, dword [esp + 0x150]
cmp dword [esp + 0x50], eax
jl 0x49a920
jg 0x49a918
cmp dword [esp + 0x4c], esi
jb 0x49a920
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xa4]
add eax, 0x18
push eax
lea edi, [esp + 0x60]
call fcn.00436890
test al, al
je 0x49aa65
add dword [esp + 0xb4], 1
mov ecx, dword [esp + 0xb8]
mov eax, dword [ebp + 8]
adc ecx, 0
mov dword [esp + 0xb8], ecx
cmp ecx, dword [eax + 0xfc]
jl 0x49a750
jg 0x49a9c8
mov ecx, dword [esp + 0xb4]
cmp ecx, dword [eax + 0xf8]
jb 0x49a750
jmp 0x49a9c8
mov eax, dword [esp + 0x150]
cmp dword [esp + 0x50], eax
jl 0x49a998
jg 0x49a990
cmp dword [esp + 0x4c], esi
jb 0x49a998
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], eax
cmp dword [esp + 0x58], eax
jl 0x49a9c8
jg 0x49a9a6
cmp dword [esp + 0x54], esi
jb 0x49a9c8
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], eax
jmp 0x49a9c8
lea eax, [esp + 0x174]
mov byte [esp + 0x300], 1
call fcn.00432180
mov ebx, dword [esp + 0x40]
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x58]
push eax
push ecx
push edx
push esi
push str.Detected_potential_free_block_of__I64d__maximum__I64d__clusters_at__I64d
lea eax, [esp + 0x1e4]
mov dword [esp + 0x1e4], 0x4e2630
mov dword [esp + 0x1e8], 0x4d2
mov dword [esp + 0x1ec], 3
call fcn.00409c10
mov edi, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
add esp, 0x1c
lea eax, [esp + 0x2bc]
push eax
call edi
or esi, dword [esp + 0x50]
jne 0x49ac9c
mov ecx, dword [ebx + 4]
mov eax, dword [ebx]
mov edi, dword [ebp + 8]
push ecx
push eax
mov eax, dword [edi + 0x9c]
lea ecx, [esp + 0x10c]
push ecx
call fcn.0044a980
mov esi, dword [edi + 0xa0]
test esi, esi
je 0x49ab17
lea eax, [esi - 9]
jmp 0x49ab19
mov eax, dword [esp + 0xa4]
mov edx, dword [eax + 0x18]
sub esp, 8
mov ecx, esp
mov dword [ecx], edx
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x110], esp
mov dword [ecx + 4], eax
test eax, eax
je 0x49aa93
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
lea edx, [esp + 0x170]
push edx
call fcn.0042d9f0
add esp, 0xc
mov byte [esp + 0x300], 0xa
mov eax, dword [eax]
push eax
push str.Fragment_of_unmovable_file__s._Stop_increasing_potential_free_block
lea eax, [esp + 0x1c4]
mov dword [esp + 0x1c4], 0x4e2578
mov dword [esp + 0x1c8], 0x4c9
mov dword [esp + 0x1cc], 3
call fcn.00409c10
mov byte [esp + 0x308], 1
mov eax, dword [esp + 0x170]
add eax, 0xfffffff0
add esp, 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x49a97b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x49a97b
xor eax, eax
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x104]
cmp ecx, eax
je 0x49ab5e
mov edx, dword [ecx]
add edx, dword [ecx + 0x10]
lea eax, [ecx + 0x10]
mov ecx, dword [ecx + 4]
adc ecx, dword [eax + 4]
mov dword [ebx], edx
mov dword [ebx + 4], ecx
mov edx, dword [eax]
add dword [edi + 0x108], edx
mov ecx, dword [eax + 4]
adc dword [edi + 0x10c], ecx
fild qword [eax]
fadd qword [0x51a678]
fstp qword [0x51a678]
jmp 0x49a4a7
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x90]
mov dword [esp + 0x11c], edx
mov dword [esp + 0x120], eax
test esi, esi
je 0x49ab83
lea eax, [esi - 9]
jmp 0x49ab85
xor eax, eax
mov eax, dword [eax + 4]
test esi, esi
je 0x49ab91
lea ecx, [esi - 9]
jmp 0x49ab93
xor ecx, ecx
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0x48]
and ecx, 0xfffffffe
je 0x49aba3
add ecx, 0xffffffb8
jmp 0x49aba5
xor ecx, ecx
mov edx, ebx
call fcn.0044c410
test esi, esi
je 0x49abb5
lea ecx, [esi - 9]
jmp 0x49abb7
xor ecx, ecx
cmp eax, dword [ecx + 4]
je 0x49abcf
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x120], edx
mov eax, dword [ebx]
mov dword [esp + 0x15c], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x160], eax
add dword [ebx], 1
mov ecx, dword [ebx]
adc dword [ebx + 4], 0
mov eax, dword [ebx + 4]
cmp eax, dword [esp + 0x120]
jg 0x49ac47
jl 0x49ac02
cmp ecx, dword [esp + 0x11c]
jae 0x49ac47
mov edi, eax
mov eax, dword [ebp + 8]
mov esi, ecx
push edi
push esi
add eax, 0x94
call fcn.00434620
test al, al
jne 0x49abe2
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x68]
add eax, 0x188
lea ecx, [eax + 0x10]
cmp eax, ecx
je 0x49ac47
cmp edi, dword [eax + 0xc]
jg 0x49ac42
jl 0x49ac37
cmp esi, dword [eax + 8]
jae 0x49ac42
cmp edi, dword [eax + 4]
jg 0x49abe2
jl 0x49ac42
cmp esi, dword [eax]
jae 0x49abe2
add eax, 0x10
jmp 0x49ac27
mov eax, dword [esp + 0x15c]
mov edx, dword [ebx]
mov ecx, dword [esp + 0x160]
mov esi, dword [ebx + 4]
sub edx, eax
sbb esi, ecx
push esi
push edx
push ecx
push eax
push 0x4e2750
lea eax, [esp + 0x1e8]
mov dword [esp + 0x1e8], 0x4e26f4
mov dword [esp + 0x1ec], 0x4f4
mov dword [esp + 0x1f0], 3
call fcn.00409c10
add esp, 0x14
jmp 0x49a4a7
xor esi, esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], esi
lea eax, [esp + 0x234]
push eax
mov byte [esp + 0x304], 0xb
mov dword [esp + 0x100], esi
mov dword [esp + 0x104], esi
mov dword [esp + 0x118], 0xffffffff
mov dword [esp + 0x11c], 0x7fffffff
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], esi
call edi
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0xa0]
test ecx, ecx
je 0x49ad02
lea eax, [ecx - 9]
jmp 0x49ad04
xor eax, eax
mov eax, dword [eax + 4]
test ecx, ecx
je 0x49ad10
add ecx, 0xfffffff7
jmp 0x49ad12
xor ecx, ecx
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0x48]
and ecx, 0xfffffffe
je 0x49ad22
add ecx, 0xffffffb8
jmp 0x49ad24
xor ecx, ecx
mov edx, ebx
call fcn.00437200
mov ebx, eax
mov dword [esp + 0x44], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xa0]
test eax, eax
je 0x49ad43
add eax, 0xfffffff7
jmp 0x49ad45
xor eax, eax
cmp ebx, dword [eax + 4]
je 0x49b035
add ebx, 0x18
push ebx
lea edi, [esp + 0x60]
call fcn.00436890
test al, al
je 0x49afc9
add dword [esp + 0xbc], 1
mov eax, dword [ebx]
mov esi, dword [eax + 0x24]
adc dword [esp + 0xc0], 0
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x124], ecx
cmp esi, dword [esp + 0x50]
jg 0x49ad97
jl 0x49ad90
cmp ecx, dword [esp + 0x4c]
ja 0x49ad97
mov eax, 1
jmp 0x49ad99
xor eax, eax
and al, 1
mov byte [esp + 0x3f], al
cmp esi, dword [esp + 0x100]
jl 0x49adba
jg 0x49adb3
cmp ecx, dword [esp + 0xfc]
jb 0x49adba
mov eax, 1
jmp 0x49adbc
xor eax, eax
and byte [esp + 0x3f], al
mov edi, dword [ebp + 8]
lea eax, [esp + 0x254]
push eax
call fcn.00402c60
cmp dword [esp + 0x254], 1
lea eax, [esp + 0x254]
sete byte [esp + 0x4b]
call fcn.00402ae0
cmp byte [esp + 0x4b], 0
je 0x49ae10
lea eax, [esp + 0x24c]
lea ecx, [edi + 0xd0]
call fcn.00436dd0
mov eax, dword [eax]
cmp eax, dword [edi + 0xd4]
je 0x49ae10
xor eax, eax
jmp 0x49ae15
mov eax, 1
test byte [esp + 0x3f], al
je 0x49ae88
mov ecx, dword [esp + 0x124]
mov eax, dword [ebx + 4]
mov dword [esp + 0xfc], ecx
mov ecx, dword [ebx]
mov dword [esp + 0x100], esi
test eax, eax
je 0x49ae45
lea edx, [eax + 4]
mov edi, 1
lock xadd dword [edx], edi
mov edi, dword [esp + 0x88]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
test edi, edi
je 0x49ae88
lea eax, [edi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x49ae88
mov edx, dword [edi]
mov eax, dword [edx + 4]
mov ecx, edi
call eax
lea ecx, [edi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x49ae88
mov eax, dword [edi]
mov edx, dword [eax + 8]
mov ecx, edi
call edx
mov eax, dword [esp + 0xfc]
or eax, dword [esp + 0x100]
jne 0x49ae9f
mov eax, 1
jmp 0x49aea1
xor eax, eax
and al, 1
cmp esi, dword [esp + 0x118]
jg 0x49aec5
jl 0x49aebe
mov ecx, dword [esp + 0x124]
cmp ecx, dword [esp + 0x114]
ja 0x49aec5
mov ecx, 1
jmp 0x49aec7
xor ecx, ecx
and al, cl
mov byte [esp + 0x3f], al
mov eax, dword [esp + 0x58]
cmp esi, eax
jl 0x49aef8
jg 0x49aee4
mov edx, dword [esp + 0x124]
cmp edx, dword [esp + 0x54]
jbe 0x49aef8
test eax, eax
jg 0x49aef8
jl 0x49aef4
cmp dword [esp + 0x54], 0x1000
jae 0x49aef8
xor eax, eax
jmp 0x49aefd
mov eax, 1
and byte [esp + 0x3f], al
mov edi, dword [ebp + 8]
lea eax, [esp + 0x254]
push eax
call fcn.00402c60
cmp dword [esp + 0x254], 1
lea eax, [esp + 0x254]
sete byte [esp + 0x4b]
call fcn.00402ae0
cmp byte [esp + 0x4b], 0
je 0x49af51
lea eax, [esp + 0x80]
lea ecx, [edi + 0xd0]
call fcn.00436dd0
mov eax, dword [eax]
cmp eax, dword [edi + 0xd4]
je 0x49af51
xor eax, eax
jmp 0x49af56
mov eax, 1
test byte [esp + 0x3f], al
je 0x49afc9
mov ecx, dword [esp + 0x124]
mov eax, dword [ebx + 4]
mov dword [esp + 0x114], ecx
mov ecx, dword [ebx]
mov dword [esp + 0x118], esi
test eax, eax
je 0x49af86
lea edx, [eax + 4]
mov esi, 1
lock xadd dword [edx], esi
mov edi, dword [esp + 0x88]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
test edi, edi
je 0x49afc9
lea eax, [edi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x49afc9
mov edx, dword [edi]
mov eax, dword [edx + 4]
mov ecx, edi
call eax
lea ecx, [edi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x49afc9
mov eax, dword [edi]
mov edx, dword [eax + 8]
mov ecx, edi
call edx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x49afd6
add eax, 0x48
jmp 0x49afd8
xor eax, eax
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x49aff3
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x49b013
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x49afe8
jmp 0x49b013
mov ecx, dword [eax]
and ecx, 0xfffffffe
cmp eax, dword [ecx + 8]
jne 0x49b00c
lea ecx, [ecx]
mov eax, ecx
mov ecx, dword [ecx]
and ecx, 0xfffffffe
cmp eax, dword [ecx + 8]
je 0x49b000
cmp dword [eax + 8], ecx
je 0x49b013
mov eax, ecx
mov esi, dword [esp + 0x88]
test eax, eax
je 0x49b02a
lea ebx, [eax - 0x48]
mov dword [esp + 0x44], ebx
jmp 0x49ad31
xor ebx, ebx
mov dword [esp + 0x44], ebx
jmp 0x49ad31
lea ebx, [esp + 0x234]
mov dword [esp + 0x1e0], 0x4e27b0
mov dword [esp + 0x1e4], 0x530
mov dword [esp + 0x1e8], 3
call fcn.00423ef0
sub esp, 8
fstp qword [esp]
push str.Searching_through_files_took__.3fs
lea eax, [esp + 0x1ec]
call fcn.00409c10
mov ecx, dword [esp + 0x90]
add esp, 0xc
test ecx, ecx
jne 0x49b131
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x4c]
push eax
mov eax, dword [edi + 4]
push ecx
mov ecx, dword [edi]
push edx
push ebx
push eax
push ecx
push str.No_suitable_file_found_for_gap__I64d__prefered:__I64d__maximum:__I64d_._Skipping_prefered_gap.
lea eax, [esp + 0x208]
mov dword [esp + 0x208], 0x4e2828
mov dword [esp + 0x20c], 0x536
mov dword [esp + 0x210], 3
call fcn.00409c10
mov edx, dword [esp + 0x6c]
add esp, 0x1c
add dword [edi], ebx
adc dword [edi + 4], edx
mov byte [esp + 0x300], 1
test esi, esi
je 0x49a4a3
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x49a4a3
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x49a4a3
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov ebx, edi
jmp 0x49a4a7
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [esp + 0x110], esp
mov dword [eax + 4], esi
test esi, esi
je 0x49b152
lea eax, [esi + 4]
mov ecx, 1
lock xadd dword [eax], ecx
lea edx, [esp + 0xa8]
push edx
call fcn.0042d9f0
add esp, 0xc
mov byte [esp + 0x300], 0xc
mov ebx, dword [esp + 0x84]
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebx + 0x20]
mov edx, dword [esp + 0xa0]
push eax
push ecx
push edx
push str.Found___s__file__length:__I64d
lea eax, [esp + 0x214]
mov dword [esp + 0x214], 0x4e2918
mov dword [esp + 0x218], 0x53d
mov dword [esp + 0x21c], 3
call fcn.00409c10
mov edi, dword [esp + 0x50]
mov eax, dword [edi]
mov edx, dword [ebx + 0x20]
mov dword [esp + 0x144], eax
mov eax, dword [ebx + 0x24]
mov dword [esp + 0x150], eax
mov dword [esp + 0x14c], edx
fild qword [esp + 0x14c]
mov ecx, dword [edi + 4]
fild qword [esp + 0xa4]
mov dword [esp + 0x148], ecx
mov ecx, dword [esp + 0x7c]
add esp, 0x10
fdivp st(1)
fadd qword [ecx]
fst qword [esp + 0x74]
fld1
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x49b20e
fstp qword [esp + 0x74]
jmp 0x49b210
fstp st(0)
mov eax, dword [0x51a630]
test eax, eax
jne 0x49b250
push 0x4e013c
lea eax, [esp + 0x190]
mov dword [esp + 0x190], str.COperationTimeCalculator::Start
mov dword [esp + 0x194], 0x18a
mov dword [esp + 0x198], 2
call fcn.00409c10
add esp, 4
jmp 0x49b257
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [esp + 0x6c]
lea edx, [esp + 0x5c]
push edx
mov edx, dword [esp + 0x74]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x88]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x8c]
mov dword [eax + 8], ecx
mov ecx, dword [edi + 4]
mov dword [eax + 0xc], edx
mov edx, dword [edi]
lea eax, [esp + 0x148]
push eax
push ecx
push edx
sub esp, 8
mov eax, esp
mov dword [eax], ebx
mov dword [esp + 0x130], esp
mov dword [eax + 4], esi
test esi, esi
je 0x49b2b2
lea eax, [esi + 4]
mov ecx, 1
lock xadd dword [eax], ecx
mov ebx, dword [ebp + 8]
push ebx
call fcn.00493630
mov dword [esp + 0x44], eax
test eax, eax
jns 0x49b3d0
cmp eax, 0x80004004
je 0x49b713
cmp eax, 0x80070070
je 0x49b713
mov edx, dword [esp + 0xa0]
push edx
mov edi, 3
push str.Marking_file___s__as_unmovable.
lea eax, [esp + 0x1a0]
mov dword [esp + 0x1a0], 0x4e2948
mov dword [esp + 0x1a4], 0x54c
mov dword [esp + 0x1a8], edi
call fcn.00409c10
add esp, 8
lea eax, [esp + 0x84]
push eax
lea ecx, [esp + 0x60]
push ecx
call fcn.00437ce0
push str.LayFileAt_failed.
lea eax, [esp + 0x1b4]
mov dword [esp + 0x1b4], str.DefragVolumeSinglePassHelper::DefragInternal
mov dword [esp + 0x1b8], 0x54f
mov dword [esp + 0x1bc], edi
call fcn.00409c10
mov byte [esp + 0x304], 0xb
mov eax, dword [esp + 0xa4]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x49b389
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x300], 1
test esi, esi
je 0x49a4a3
lea ecx, [esi + 4]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x49a4a3
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x49a4a3
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
jmp 0x49a4a3
mov ecx, dword [esp + 0x13c]
add dword [ebx + 0x108], ecx
mov edx, dword [esp + 0x140]
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x138]
adc dword [ebx + 0x10c], edx
mov dword [edi], eax
mov dword [edi + 4], ecx
mov ebx, dword [0x51a630]
test ebx, ebx
jne 0x49b43e
push str.operationWatch___NULL
lea eax, [esp + 0xac]
mov dword [esp + 0xac], str.COperationTimeCalculator::Stop
mov dword [esp + 0xb0], 0x197
mov dword [esp + 0xb4], 2
call fcn.00409c10
add esp, 4
jmp 0x49b44f
call fcn.00423ef0
fadd dword [0x51a660]
fstp dword [0x51a660]
mov byte [esp + 0x300], 0xb
mov eax, dword [esp + 0xa0]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x49b47a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x300], 1
test esi, esi
je 0x49a4a3
lea ecx, [esi + 4]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x49a4a3
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x49a4a3
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
mov ebx, edi
jmp 0x49a4a7
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x8c]
mov eax, dword [ebx + 4]
push ecx
mov ecx, dword [ebx]
push edx
push eax
push ecx
mov dword [esp + 0xb8], 0x4e2204
mov dword [esp + 0xbc], 0x3f3
push str.There_are_no_movable_files_left._Finishing_at:__I64d__clusters:__I64d
lea eax, [esp + 0xbc]
mov dword [esp + 0xc4], 3
call fcn.00409be0
add esp, 0x14
lea edx, [esp + 0x254]
push edx
call fcn.00402c60
cmp dword [esp + 0x254], 1
lea eax, [esp + 0x254]
sete bl
call fcn.00402ae0
test bl, bl
jne 0x49b571
fld1
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x70]
fstp qword [esp + 0x74]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x88]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x6c]
push eax
push edi
call fcn.004925f0
mov ecx, dword [edi + 0x9c]
push ecx
call fcn.0042e020
mov byte [esp + 0x300], 0xf
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [esp + 0x88]
lea esi, [esp + 0xcc]
call fcn.004351a0
mov edx, dword [esp + 0xc8]
push edx
call fcn.00453bd6
add esp, 4
mov dword [esp + 0x300], 0x10
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [esp + 0x88]
lea esi, [esp + 0x64]
call fcn.004350e0
mov eax, dword [esp + 0x60]
push eax
call fcn.00453bd6
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x2f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
push 0x4e2234
lea eax, [esp + 0xb4]
mov dword [esp + 0xb4], 0x4e22b8
mov dword [esp + 0xb8], 0x3fd
mov dword [esp + 0xbc], ebx
call fcn.00409be0
add esp, 0xc
mov byte [esp + 0x300], bl
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [esp + 0x88]
lea esi, [esp + 0xcc]
call fcn.004351a0
mov eax, dword [esp + 0xc8]
push eax
call fcn.00453bd6
add esp, 4
mov dword [esp + 0x300], 4
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [esp + 0x88]
lea esi, [esp + 0x64]
call fcn.004350e0
mov ecx, dword [esp + 0x60]
push ecx
call fcn.00453bd6
add esp, 4
mov eax, 0x80004004
mov ecx, dword [esp + 0x2f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea eax, [esp + 0xd4]
mov byte [esp + 0x300], 1
call fcn.00436a90
lea edx, [esp + 0xc4]
push edx
mov byte [esp + 0x304], 0
call fcn.00434240
lea eax, [esp + 0x5c]
push eax
mov dword [esp + 0x304], 0xffffffff
call fcn.004341e0
mov eax, esi
mov ecx, dword [esp + 0x2f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov byte [esp + 0x300], 0xb
mov eax, dword [esp + 0xa0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x49b73e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x300], 1
test esi, esi
je 0x49b774
lea ecx, [esi + 4]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x49b774
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x49b774
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
mov byte [esp + 0x300], 0xd
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [esp + 0x88]
lea esi, [esp + 0xcc]
call fcn.004351a0
mov ecx, dword [esp + 0xc8]
push ecx
call fcn.00453bd6
add esp, 4
mov dword [esp + 0x300], 0xe
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [esp + 0x88]
lea esi, [esp + 0x64]
call fcn.004350e0
mov edx, dword [esp + 0x60]
push edx
call fcn.00453bd6
mov eax, dword [esp + 0x48]
add esp, 4
mov ecx, dword [esp + 0x2f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea eax, [esp + 0x16c]
push eax
lea ecx, [esp + 0x22c]
mov dword [esp + 0x170], esi
call fcn.004541b0
push 0x4ff0c0
lea ecx, [esp + 0x22c]
push ecx
mov dword [esp + method.std::bad_alloc.virtual_0], vtable.std::bad_alloc.0
call fcn.00457e5a
lea edx, [esp + 0x170]
push edx
lea ecx, [esp + 0x244]
mov dword [esp + 0x174], esi
call fcn.004541b0
push 0x4ff0c0
lea eax, [esp + 0x244]
push eax
mov dword [esp + method.std::bad_alloc.virtual_0], vtable.std::bad_alloc.0
call fcn.00457e5a
int3