Function at 0x1006faa0
Capabilities:
Delete file
Get number of processors
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10090d9b
mov eax, dword fs:[0]
push eax
sub esp, 0x568
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x560], eax
push ebx
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x578]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x30], eax
cmp dword [eax + 0x10], 0
mov dword [esp + 0x20], ebx
mov dword [esp + 0x2c], ecx
je 0x10070dc9
mov edi, dword [ebx]
mov edx, dword [ebx + 4]
cmp edi, edx
je 0x10070dc9
sub edx, edi
mov eax, 0x4ec4ec4f
imul edx
xor ecx, ecx
sar edx, 5
mov esi, edx
shr esi, 0x1f
add esi, edx
je 0x10070dc9
xor eax, eax
lea esp, [esp]
cmp byte [eax + edi + 0x64], 0
jne 0x1006fb44
inc ecx
add eax, 0x68
cmp ecx, esi
jb 0x1006fb30
jmp 0x10070dc9
mov esi, dword [esp + 0x30]
lea eax, [esp + 0x458]
push esi
push eax
call fcn.100714c0
mov dword [esp + 0x580], 0
xorps xmm0, xmm0
movq qword [esp + 0x444], xmm0
mov dword [esp + 0x444], 0
mov word [esp + 0x448], 0
mov byte [esp + 0x580], 1
lea eax, [esp + 0x458]
push eax
lea ecx, [esp + 0x448]
call fcn.10014700
lea eax, [esp + 0x444]
xorps xmm0, xmm0
push eax
lea ecx, [esp + 0x474]
movq qword [esp + 0x474], xmm0
call fcn.10005100
mov byte [esp + 0x580], 2
xorps xmm0, xmm0
movq qword [esp + 0x438], xmm0
mov dword [esp + 0x440], 0
mov dword [esp + 0x438], 0
mov dword [esp + 0x43c], 0
mov dword [esp + 0x440], 0
mov byte [esp + 0x580], 3
lea eax, [esp + 0x17]
push eax
lea eax, [esp + 0x43c]
mov byte [esp + 0x1b], 0
push eax
push esi
call fcn.10070f50
test al, al
jne 0x1006fc3b
cmp byte [esp + 0x17], al
je 0x1006fc3b
cmp dword [esi + 0x14], 8
jb 0x1006fc32
mov eax, dword [esi]
jmp 0x1006fc34
mov eax, esi
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [ebx + 4]
xor al, al
mov edi, dword [ebx]
xor esi, esi
mov ebx, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
sub ecx, edi
mov byte [esp + 0x17], al
mov eax, 0x4ec4ec4f
imul ecx
mov dword [esp + 0x28], esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10070c63
jmp 0x1006fc70
imul esi, esi, 0x68
add esi, edi
cmp byte [esi + 0x64], 0
je 0x10070288
mov ebx, dword [esp + 0x438]
xor ecx, ecx
mov dword [esp + 0x1c], ecx
mov eax, 0x4ec4ec4f
mov ecx, dword [esp + 0x43c]
xor edi, edi
sub ecx, ebx
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1006fd13
xor eax, eax
mov dword [esp + 0x18], eax
add ebx, eax
cmp dword [esi + 0x14], 8
jb 0x1006fcbc
mov ecx, dword [esi]
jmp 0x1006fcbe
mov ecx, esi
cmp dword [ebx + 0x14], 8
jb 0x1006fcc8
mov eax, dword [ebx]
jmp 0x1006fcca
mov eax, ebx
push ecx
push eax
call dword [sym.imp.MSVCR120.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x1006fd11
mov ecx, dword [esp + 0x43c]
mov eax, 0x4ec4ec4f
mov ebx, dword [esp + 0x438]
sub ecx, ebx
inc dword [esp + 0x1c]
add dword [esp + 0x18], 0x68
imul ecx
mov ecx, dword [esp + 0x1c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
mov eax, dword [esp + 0x18]
jb 0x1006fcb0
jmp 0x1006fd13
mov edi, ebx
test edi, edi
jne 0x1006ff85
xor eax, eax
mov dword [esp + 0x48c], edi
mov dword [esp + 0x490], edi
mov dword [esp + 0x490], 7
mov dword [esp + 0x48c], edi
mov word [esp + 0x47c], ax
mov byte [esp + 0x580], 4
mov dword [esp + 0x4a4], eax
mov dword [esp + 0x4a8], eax
mov dword [esp + 0x4a8], 7
mov dword [esp + 0x4a4], eax
mov word [esp + 0x494], ax
mov byte [esp + 0x580], 5
mov dword [esp + 0x4bc], eax
mov dword [esp + 0x4c0], eax
mov dword [esp + 0x4c0], 7
mov dword [esp + 0x4bc], eax
mov word [esp + 0x4ac], ax
mov byte [esp + 0x580], 6
xorps xmm0, xmm0
movlpd qword [esp + 0x4c4], xmm0
movlpd qword [esp + 0x4cc], xmm0
movlpd qword [esp + 0x4d4], xmm0
mov dword [esp + 0x4dc], eax
mov byte [esp + 0x4e0], al
mov byte [esp + 0x580], 7
lea eax, [esp + 0x47c]
mov edi, dword [esp + 0x43c]
cmp eax, edi
jae 0x1006fe52
mov ebx, dword [esp + 0x438]
cmp ebx, eax
ja 0x1006fe52
mov ecx, eax
mov eax, 0x4ec4ec4f
sub ecx, ebx
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x24], eax
cmp edi, dword [esp + 0x440]
jne 0x1006fe3f
push ecx
lea ecx, [esp + 0x43c]
call fcn.10071c20
mov edi, dword [esp + 0x43c]
mov ebx, dword [esp + 0x438]
mov eax, dword [esp + 0x24]
imul eax, eax, 0x68
add eax, ebx
mov byte [esp + 0x580], 8
test edi, edi
je 0x1006fe8a
jmp 0x1006fe82
cmp edi, dword [esp + 0x440]
jne 0x1006fe6f
push ecx
lea ecx, [esp + 0x43c]
call fcn.10071c20
mov edi, dword [esp + 0x43c]
mov byte [esp + 0x580], 9
test edi, edi
je 0x1006fe8a
lea eax, [esp + 0x47c]
push eax
mov ecx, edi
call fcn.1006f8b0
mov byte [esp + 0x580], 7
mov eax, 0x4ec4ec4f
mov edx, dword [esp + 0x43c]
add edx, 0x68
mov dword [esp + 0x43c], edx
mov ecx, dword [esp + 0x438]
sub edx, ecx
imul edx
lea edi, [ecx - 0x68]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x68
add edi, eax
mov byte [esp + 0x580], 0xb
cmp dword [esp + 0x4c0], 8
mov ebx, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
jb 0x1006fee9
push dword [esp + 0x4ac]
call ebx
add esp, 4
xor eax, eax
mov dword [esp + 0x4c0], 7
mov dword [esp + 0x4bc], 0
mov word [esp + 0x4ac], ax
mov byte [esp + 0x580], 0xa
cmp dword [esp + 0x4a8], 8
jb 0x1006ff27
push dword [esp + 0x494]
call ebx
add esp, 4
xor eax, eax
mov dword [esp + 0x4a8], 7
mov dword [esp + 0x4a4], 0
mov word [esp + 0x494], ax
mov byte [esp + 0x580], 3
cmp dword [esp + 0x490], 8
jb 0x1006ff65
push dword [esp + 0x47c]
call ebx
add esp, 4
xor eax, eax
mov dword [esp + 0x490], 7
mov dword [esp + 0x48c], 0
mov word [esp + 0x47c], ax
push edi
lea ecx, [esp + 0x4e8]
call fcn.1006f8b0
mov byte [esp + 0x580], 0xd
cmp edi, esi
je 0x1006ffaa
push 0xffffffffffffffff
push 0
push esi
mov ecx, edi
call fcn.10003100
lea eax, [esi + 0x18]
lea ebx, [edi + 0x18]
cmp ebx, eax
je 0x1006ffc0
push 0xffffffffffffffff
push 0
push eax
mov ecx, ebx
call fcn.10003100
lea ecx, [edi + 0x30]
lea eax, [esi + 0x30]
mov dword [esp + 0x40], ecx
cmp ecx, eax
je 0x1006ffd8
push 0xffffffffffffffff
push 0
push eax
call fcn.10003100
mov eax, dword [esi + 0x48]
lea ecx, [edi + 0x48]
mov dword [ecx], eax
mov eax, dword [esi + 0x4c]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x50]
mov dword [edi + 0x50], eax
mov eax, dword [esi + 0x54]
mov dword [edi + 0x54], eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x18], ecx
lea ecx, [edi + 0x50]
mov dword [edi + 0x58], eax
mov eax, dword [esi + 0x5c]
mov dword [esp + 0x1c], ecx
lea ecx, [edi + 0x58]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x60]
mov dword [esp + 0x3c], ecx
lea ecx, [edi + 0x60]
mov dword [ecx], eax
mov al, byte [esi + 0x64]
mov dword [esp + 0x38], ecx
lea ecx, [edi + 0x64]
mov byte [ecx], al
cmp dword [esp + 0x4f8], 8
mov eax, dword [edi + 0x10]
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x4e4]
cmovae ecx, dword [esp + 0x4e4]
cmp dword [edi + 0x14], 8
mov dword [esp + 0x24], eax
jb 0x1007004e
mov edi, dword [edi]
mov esi, dword [esp + 0x4f4]
cmp eax, esi
mov edx, esi
cmovb edx, eax
test edx, edx
jne 0x10070073
xor eax, eax
test eax, eax
jne 0x1007009b
mov ecx, dword [esp + 0x24]
cmp ecx, esi
jae 0x10070092
or eax, 0xffffffff
jmp 0x10070099
mov ax, word [edi]
cmp ax, word [ecx]
jne 0x10070084
add edi, 2
add ecx, 2
dec edx
jmp 0x1007005e
movzx eax, word [edi]
cmp ax, word [ecx]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x10070062
xor eax, eax
cmp ecx, esi
setne al
test eax, eax
sete al
test al, al
sete al
test al, al
jne 0x100701bc
cmp dword [esp + 0x510], 8
lea ecx, [esp + 0x4fc]
mov edi, dword [ebx + 0x10]
cmovae ecx, dword [esp + 0x4fc]
cmp dword [ebx + 0x14], 8
jb 0x100700cd
mov ebx, dword [ebx]
mov esi, dword [esp + 0x50c]
cmp edi, esi
mov edx, esi
cmovb edx, edi
test edx, edx
jne 0x100700f0
xor eax, eax
test eax, eax
jne 0x10070118
cmp edi, esi
jae 0x1007010f
or eax, 0xffffffff
jmp 0x10070116
mov ax, word [ebx]
cmp ax, word [ecx]
jne 0x10070101
add ebx, 2
add ecx, 2
dec edx
jmp 0x100700dd
movzx eax, word [ebx]
cmp ax, word [ecx]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x100700e1
xor eax, eax
cmp edi, esi
setne al
test eax, eax
sete al
test al, al
sete al
test al, al
jne 0x100701bc
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
cmp eax, dword [esp + 0x52c]
jne 0x100701bc
mov eax, dword [ecx + 4]
cmp eax, dword [esp + 0x530]
jne 0x100701bc
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
cmp eax, dword [esp + 0x534]
jne 0x100701bc
mov eax, dword [ecx + 4]
cmp eax, dword [esp + 0x538]
jne 0x100701bc
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx]
cmp eax, dword [esp + 0x53c]
jne 0x100701bc
mov eax, dword [ecx + 4]
cmp eax, dword [esp + 0x540]
jne 0x100701bc
cmp dword [esp + 0x528], 8
lea eax, [esp + 0x514]
push dword [esp + 0x524]
mov ecx, dword [esp + 0x44]
cmovae eax, dword [esp + 0x518]
push eax
push dword [ecx + 0x10]
push ecx
call fcn.100035f0
test eax, eax
jne 0x100701bc
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
cmp eax, dword [esp + 0x544]
je 0x100701c8
mov eax, dword [esp + 0x34]
mov byte [esp + 0x17], 1
mov byte [eax], 1
mov byte [esp + 0x580], 0xf
cmp dword [esp + 0x528], 8
mov ebx, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
jb 0x100701ec
push dword [esp + 0x514]
call ebx
add esp, 4
xor eax, eax
mov dword [esp + 0x528], 7
mov dword [esp + 0x524], 0
mov word [esp + 0x514], ax
mov byte [esp + 0x580], 0xe
cmp dword [esp + 0x510], 8
jb 0x1007022a
push dword [esp + 0x4fc]
call ebx
add esp, 4
xor eax, eax
mov dword [esp + 0x510], 7
mov dword [esp + 0x50c], 0
mov word [esp + 0x4fc], ax
mov byte [esp + 0x580], 3
cmp dword [esp + 0x4f8], 8
jb 0x10070268
push dword [esp + 0x4e4]
call ebx
add esp, 4
xor eax, eax
mov dword [esp + 0x4f8], 7
mov dword [esp + 0x4f4], 0
mov word [esp + 0x4e4], ax
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x28]
inc esi
mov dword [esp + 0x28], esi
mov ecx, dword [eax + 4]
mov edi, dword [eax]
sub ecx, edi
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x1006fc70
mov al, byte [esp + 0x17]
test al, al
je 0x10070c63
mov eax, dword [esp + 0x438]
cmp eax, dword [esp + 0x43c]
je 0x10070c63
xorps xmm0, xmm0
mov dword [esp + 0x434], 0
movq qword [esp + 0x42c], xmm0
mov dword [esp + 0x42c], 0
mov dword [esp + 0x430], 0
mov dword [esp + 0x434], 0
mov byte [esp + 0x580], 0x14
mov eax, 0x4ec4ec4f
mov ebx, dword [esp + 0x43c]
mov ecx, ebx
mov edi, dword [esp + 0x438]
sub ecx, edi
mov esi, dword [esp + 0x42c]
imul ecx
mov ecx, dword [esp + 0x434]
sar edx, 5
sub ecx, esi
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x20], eax
mov eax, 0x10624dd3
imul ecx
mov ecx, dword [esp + 0x20]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ecx
jae 0x1007039a
cmp ecx, 0x418937
jbe 0x10070378
push str.vector_T__too_long
call dword [sym.imp.MSVCP120.dll_void___cdecl_std::_Xlength_error_char_const__]
push ecx
lea ecx, [esp + 0x430]
call fcn.10071cc0
mov edi, dword [esp + 0x438]
mov esi, dword [esp + 0x42c]
mov ebx, dword [esp + 0x43c]
mov ecx, ebx
mov dword [esp + 0x24], 0
sub ecx, edi
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100706d5
xor ecx, ecx
mov dword [esp + 0x18], ecx
mov eax, dword [ecx + edi + 0x60]
lea ebx, [ecx + edi]
cmp eax, 1
je 0x100703dd
cmp eax, 2
je 0x100703dd
cmp eax, 3
jne 0x1007069f
push 0x280
xorps xmm0, xmm0
mov dword [esp + 0x48], 0
lea eax, [esp + 0x4c]
movlpd qword [esp + 0x414], xmm0
push 0
push eax
movlpd qword [esp + 0x424], xmm0
movlpd qword [esp + 0x42c], xmm0
mov dword [esp + 0x434], 0
call sub.MSVCR120.dll_memset
add esp, 0xc
lea eax, [esp + 0x2c8]
push 0x100
push 0
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
lea eax, [esp + 0x3c8]
push 0x48
push 0
push eax
call sub.MSVCR120.dll_memset
mov edi, dword [esp + 0x43c]
lea eax, [esp + 0x50]
add esp, 0xc
cmp eax, edi
jae 0x100704ba
cmp esi, eax
ja 0x100704ba
mov ecx, eax
mov eax, 0x10624dd3
sub ecx, esi
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x20], eax
cmp edi, dword [esp + 0x434]
jne 0x100704a2
push 1
lea ecx, [esp + 0x430]
call fcn.10071db0
mov edi, dword [esp + 0x430]
mov esi, dword [esp + 0x42c]
mov eax, dword [esp + 0x20]
imul eax, eax, 0x3e8
add eax, esi
mov byte [esp + 0x580], 0x15
test edi, edi
je 0x100704ef
mov esi, eax
jmp 0x100704e8
cmp edi, dword [esp + 0x434]
jne 0x100704d8
push 1
lea ecx, [esp + 0x430]
call fcn.10071db0
mov edi, dword [esp + 0x430]
mov byte [esp + 0x580], 0x16
test edi, edi
je 0x100704ef
lea esi, [esp + 0x44]
mov ecx, 0xfa
rep movsd dword es:[edi], dword [esi]
mov byte [esp + 0x580], 0x14
mov eax, 0x10624dd3
mov edx, dword [esp + 0x430]
add edx, 0x3e8
mov dword [esp + 0x430], edx
mov ecx, dword [esp + 0x42c]
sub edx, ecx
imul edx
lea edi, [ecx - 0x3e8]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x3e8
add edi, eax
push 0x280
push 0
mov dword [esp + 0x24], edi
lea esi, [edi + 4]
mov dword [edi], 0x23ab45db
push esi
call sub.MSVCR120.dll_memset
add esp, 0xc
add edi, 0x284
push 0x100
push 0
push edi
call sub.MSVCR120.dll_memset
mov eax, dword [esp + 0x28]
add esp, 0xc
add eax, 0x384
mov dword [esp + 0x28], eax
push 0x48
push 0
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
cmp dword [ebx + 0x10], 0x13f
ja 0x100705ae
cmp dword [ebx + 0x14], 8
jb 0x10070593
mov ecx, dword [ebx]
jmp 0x10070595
mov ecx, ebx
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [esi], ax
lea esi, [esi + 2]
test ax, ax
jne 0x10070595
mov esi, dword [sym.imp.MSVCR120.dll_wcsncpy]
jmp 0x100705cc
cmp dword [ebx + 0x14], 8
jb 0x100705b8
mov eax, dword [ebx]
jmp 0x100705ba
mov eax, ebx
push 0x13e
push eax
push esi
mov esi, dword [sym.imp.MSVCR120.dll_wcsncpy]
call esi
add esp, 0xc
cmp dword [ebx + 0x28], 0x7f
ja 0x100705f3
cmp dword [ebx + 0x2c], 8
lea ecx, [ebx + 0x18]
jb 0x100705e0
mov ecx, dword [ecx]
lea ecx, [ecx]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edi], ax
lea edi, [edi + 2]
test ax, ax
jne 0x100705e0
jmp 0x10070607
cmp dword [ebx + 0x2c], 8
lea eax, [ebx + 0x18]
jb 0x100705fe
mov eax, dword [eax]
push 0x7e
push eax
push edi
call esi
add esp, 0xc
cmp dword [ebx + 0x40], 0x23
ja 0x10070633
cmp dword [ebx + 0x44], 8
lea ecx, [ebx + 0x30]
jb 0x10070618
mov ecx, dword [ecx]
mov edx, dword [esp + 0x28]
lea esp, [esp]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x10070620
jmp 0x1007064a
cmp dword [ebx + 0x44], 8
lea eax, [ebx + 0x30]
jb 0x1007063e
mov eax, dword [eax]
push 0x23
push eax
push dword [esp + 0x30]
call esi
add esp, 0xc
mov ecx, dword [esp + 0x1c]
mov eax, dword [ebx + 0x48]
mov dword [ecx + 0x3cc], eax
mov eax, dword [ebx + 0x4c]
mov dword [ecx + 0x3d0], eax
mov eax, dword [ebx + 0x50]
mov dword [ecx + 0x3d4], eax
mov eax, dword [ebx + 0x54]
mov dword [ecx + 0x3d8], eax
mov eax, dword [ebx + 0x58]
mov dword [ecx + 0x3dc], eax
mov eax, dword [ebx + 0x5c]
mov dword [ecx + 0x3e0], eax
mov eax, dword [ebx + 0x60]
mov dword [ecx + 0x3e4], eax
mov edi, dword [esp + 0x438]
mov esi, dword [esp + 0x42c]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x24]
add ecx, 0x68
mov dword [esp + 0x18], ecx
mov eax, 0x4ec4ec4f
mov ecx, dword [esp + 0x43c]
inc ebx
sub ecx, edi
mov dword [esp + 0x24], ebx
imul ecx
mov ecx, dword [esp + 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x100703c3
cmp esi, dword [esp + 0x430]
jne 0x10070788
mov byte [esp + 0x580], 3
cmp dword [esp + 0x42c], 0
je 0x10070736
lea ecx, [esp + 0x42c]
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
push dword [esp + 0x42c]
mov ebx, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
call ebx
add esp, 4
mov dword [esp + 0x42c], 0
mov dword [esp + 0x430], 0
mov dword [esp + 0x434], 0
jmp 0x1007073c
mov ebx, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
mov byte [esp + 0x580], 2
cmp dword [esp + 0x438], 0
je 0x10070d49
lea ecx, [esp + 0x438]
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
mov edi, dword [esp + 0x43c]
mov esi, dword [esp + 0x438]
cmp esi, edi
je 0x10070d22
mov ecx, esi
call fcn.1006f7f0
add esi, 0x68
cmp esi, edi
jne 0x10070775
jmp 0x10070d1b
xorps xmm0, xmm0
mov dword [esp + 0x454], 0
movq qword [esp + 0x44c], xmm0
mov dword [esp + 0x44c], 0
mov dword [esp + 0x450], 0
mov dword [esp + 0x454], 0
mov byte [esp + 0x580], 0x17
lea ecx, [esp + 0x550]
call fcn.10072210
mov ecx, dword [esp + 0x430]
mov eax, 0x10624dd3
mov esi, dword [esp + 0x42c]
sub ecx, esi
imul ecx
lea ecx, [esp + 0x44c]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x3e8
push ecx
lea ecx, [esp + 0x554]
push eax
push esi
call fcn.100722b0
test al, al
jne 0x100708d8
mov byte [esp + 0x580], 0x14
cmp dword [esp + 0x44c], 0
je 0x1007086d
lea ecx, [esp + 0x44c]
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
push dword [esp + 0x44c]
mov ebx, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
call ebx
add esp, 4
mov dword [esp + 0x44c], 0
mov dword [esp + 0x450], 0
mov dword [esp + 0x454], 0
jmp 0x10070873
mov ebx, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
mov byte [esp + 0x580], 3
cmp dword [esp + 0x42c], 0
je 0x100708bf
lea ecx, [esp + 0x42c]
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
push dword [esp + 0x42c]
call ebx
add esp, 4
mov dword [esp + 0x42c], 0
mov dword [esp + 0x430], 0
mov dword [esp + 0x434], 0
mov byte [esp + 0x580], 2
lea ecx, [esp + 0x438]
call fcn.100718d0
jmp 0x10070d49
mov eax, dword [esp + 0x44c]
cmp eax, dword [esp + 0x450]
je 0x10070819
mov ebx, dword [esp + 0x30]
cmp dword [ebx + 0x14], 8
jb 0x100708fa
mov ecx, dword [ebx]
jmp 0x100708fc
mov ecx, ebx
push ecx
push 0x80
push 4
push ecx
push 0
mov edx, 0x40000000
call fcn.100154a0
mov esi, eax
add esp, 0x14
cmp esi, 0xffffffff
je 0x10070923
test esi, esi
jne 0x100709c9
push 2
push ecx
push 0x10094010
mov ecx, ebx
call fcn.1000b0d0
cmp eax, 0xffffffff
je 0x100709c9
push eax
push 0
lea eax, [esp + 0x558]
mov ecx, ebx
push eax
call fcn.100099c0
mov byte [esp + 0x580], 0x18
lea ecx, [esp + 0x550]
call fcn.1000c500
cmp dword [ebx + 0x14], 8
jb 0x10070969
mov ebx, dword [ebx]
push ecx
push 0x80
push 4
push ecx
push 0
mov edx, 0x40000000
mov ecx, ebx
call fcn.100154a0
add esp, 0x14
mov esi, eax
mov byte [esp + 0x580], 0x17
cmp dword [esp + 0x564], 8
jb 0x100709a9
push dword [esp + 0x550]
mov ebx, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
call ebx
add esp, 4
xor eax, eax
mov dword [esp + 0x564], 7
mov dword [esp + 0x560], 0
mov word [esp + 0x550], ax
cmp esi, 0xffffffff
je 0x10070819
test esi, esi
je 0x10070819
push 0
push 0
push 0
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ecx, dword [esp + 0x44c]
lea eax, [esp + 0x478]
push 0
push eax
mov eax, dword [esp + 0x458]
sub eax, ecx
mov dword [esp + 0x480], 0
push eax
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call edi
mov eax, dword [esp + 0x450]
sub eax, dword [esp + 0x44c]
cmp dword [esp + 0x478], eax
jne 0x10070be3
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x438]
push eax
call fcn.10069c70
mov eax, dword [esp + 0x2c]
xor ebx, ebx
mov ecx, dword [eax + 4]
mov esi, dword [eax]
sub ecx, esi
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10070aa2
xor edi, edi
mov eax, dword [esp + 0x2c]
lea edi, [edi + 0x68]
mov byte [esi + edi - 4], 0
inc ebx
mov ecx, dword [eax + 4]
mov esi, dword [eax]
sub ecx, esi
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x10070a73
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [esp + 0x580], 0x14
cmp dword [esp + 0x44c], 0
je 0x10070af6
lea ecx, [esp + 0x44c]
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
push dword [esp + 0x44c]
mov ebx, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
call ebx
add esp, 4
mov dword [esp + 0x44c], 0
mov dword [esp + 0x450], 0
mov dword [esp + 0x454], 0
jmp 0x10070afc
mov ebx, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
mov byte [esp + 0x580], 3
cmp dword [esp + 0x42c], 0
je 0x10070b48
lea ecx, [esp + 0x42c]
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
push dword [esp + 0x42c]
call ebx
add esp, 4
mov dword [esp + 0x42c], 0
mov dword [esp + 0x430], 0
mov dword [esp + 0x434], 0
mov byte [esp + 0x580], 2
lea ecx, [esp + 0x438]
call fcn.100718d0
mov byte [esp + 0x580], 1
lea ecx, [esp + 0x470]
call fcn.10005150
mov byte [esp + 0x580], 0
mov eax, dword [esp + 0x444]
test eax, eax
je 0x10070b91
push eax
call edi
mov dword [esp + 0x444], 0
mov word [esp + 0x448], 0
mov dword [esp + 0x580], 0xffffffff
cmp dword [esp + 0x46c], 8
jb 0x10070bbc
push dword [esp + 0x458]
call ebx
add esp, 4
xor eax, eax
mov dword [esp + 0x46c], 7
mov word [esp + 0x458], ax
mov al, 1
mov dword [esp + 0x468], 0
jmp 0x10070dcb
mov byte [esp + 0x580], 0x14
lea ecx, [esp + 0x44c]
call fcn.10022f40
mov byte [esp + 0x580], 3
lea ecx, [esp + 0x42c]
call fcn.10022f40
mov byte [esp + 0x580], 2
lea ecx, [esp + 0x438]
call fcn.100718d0
mov byte [esp + 0x580], 1
lea ecx, [esp + 0x470]
call fcn.10005150
mov byte [esp + 0x580], 0
lea ecx, [esp + 0x444]
call fcn.10014680
mov dword [esp + 0x580], 0xffffffff
lea ecx, [esp + 0x458]
call fcn.10002a80
jmp 0x10070dc9
mov byte [esp + 0x580], 2
mov esi, dword [esp + 0x438]
test esi, esi
je 0x10070d49
mov edi, dword [esp + 0x43c]
mov dword [esp + 0x20], esi
cmp esi, edi
je 0x10070d22
lea ecx, [ecx]
mov byte [esp + 0x580], 0x12
cmp dword [esi + 0x44], 8
jb 0x10070ca6
push dword [esi + 0x30]
call ebx
add esp, 4
mov dword [esi + 0x44], 7
xor eax, eax
mov dword [esi + 0x40], 0
mov word [esi + 0x30], ax
mov byte [esp + 0x580], 0x11
cmp dword [esi + 0x2c], 8
jb 0x10070cd0
push dword [esi + 0x18]
call ebx
add esp, 4
mov dword [esi + 0x2c], 7
xor eax, eax
mov dword [esi + 0x28], 0
mov word [esi + 0x18], ax
mov byte [esp + 0x580], 2
cmp dword [esi + 0x14], 8
jb 0x10070cf9
push dword [esi]
call ebx
add esp, 4
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
add esi, 0x68
mov dword [esp + 0x20], esi
cmp esi, edi
jne 0x10070c90
mov esi, dword [esp + 0x438]
push esi
call ebx
add esp, 4
mov dword [esp + 0x440], 0
mov dword [esp + 0x43c], 0
mov dword [esp + 0x438], 0
mov byte [esp + 0x580], 1
lea ecx, [esp + 0x470]
call fcn.10005150
mov byte [esp + 0x580], 0
mov eax, dword [esp + 0x444]
test eax, eax
je 0x10070d82
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp + 0x444], 0
mov word [esp + 0x448], 0
mov dword [esp + 0x580], 0xffffffff
cmp dword [esp + 0x46c], 8
jb 0x10070dad
push dword [esp + 0x458]
call ebx
add esp, 4
xor eax, eax
mov dword [esp + 0x46c], 7
mov word [esp + 0x458], ax
mov dword [esp + 0x468], eax
xor al, al
mov ecx, dword [esp + 0x578]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x560]
xor ecx, esp
call fcn.10081b94
mov esp, ebp
pop ebp
ret 0xc