Function at 0x100cf370
Capabilities:
Delete file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10120b6b
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 ecx, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x20], ecx
cmp dword [ecx + 0x10], 0
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], eax
je 0x100d042d
mov edi, dword [ebx]
mov edx, dword [ebx + 4]
cmp edi, edx
je 0x100d042d
sub edx, edi
mov eax, 0x4ec4ec4f
imul edx
xor ecx, ecx
sar edx, 5
mov esi, edx
shr esi, 0x1f
add esi, edx
je 0x100d042d
xor eax, eax
lea esp, [esp]
cmp byte [eax + edi + 0x64], 0
jne 0x100cf414
inc ecx
add eax, 0x68
cmp ecx, esi
jb 0x100cf400
jmp 0x100d042d
mov esi, dword [esp + 0x20]
lea eax, [esp + 0x458]
push esi
push eax
call fcn.100d0bb0
mov dword [esp + 0x580], 0
xorps xmm0, xmm0
movq qword [esp + 0x438], xmm0
mov dword [esp + 0x438], 0
mov word [esp + 0x43c], 0
mov byte [esp + 0x580], 1
lea eax, [esp + 0x458]
push eax
lea ecx, [esp + 0x43c]
call fcn.10031d00
lea eax, [esp + 0x438]
xorps xmm0, xmm0
push eax
lea ecx, [esp + 0x474]
movq qword [esp + 0x474], xmm0
call fcn.10006e20
mov byte [esp + 0x580], 2
xorps xmm0, xmm0
movq qword [esp + 0x42c], xmm0
mov dword [esp + 0x434], 0
mov dword [esp + 0x42c], 0
mov dword [esp + 0x430], 0
mov dword [esp + 0x434], 0
mov byte [esp + 0x580], 3
lea eax, [esp + 0x13]
push eax
lea eax, [esp + 0x430]
mov byte [esp + 0x17], 0
push eax
push esi
call fcn.100d0640
test al, al
jne 0x100cf50b
cmp byte [esp + 0x13], al
je 0x100cf50b
cmp dword [esi + 0x14], 8
jb 0x100cf502
mov eax, dword [esi]
jmp 0x100cf504
mov eax, esi
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [ebx + 4]
xor al, al
mov esi, dword [ebx]
xor edi, edi
mov byte [esp + 0x13], al
sub ecx, esi
mov eax, 0x4ec4ec4f
mov dword [esp + 0x24], edi
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100d034b
xor ecx, ecx
mov dword [esp + 0x14], ecx
jmp 0x100cf540
cmp byte [ecx + esi + 0x64], 0
lea ebx, [ecx + esi]
je 0x100cf9d4
mov esi, dword [esp + 0x430]
mov eax, 0x4ec4ec4f
mov ecx, esi
xor edi, edi
sub ecx, dword [esp + 0x42c]
imul ecx
mov dword [esp + 0x18], edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x1c], eax
je 0x100cf5c6
mov esi, dword [esp + 0x42c]
cmp dword [ebx + 0x14], 8
jb 0x100cf58c
mov ecx, dword [ebx]
jmp 0x100cf58e
mov ecx, ebx
cmp dword [esi + 0x14], 8
jb 0x100cf598
mov eax, dword [esi]
jmp 0x100cf59a
mov eax, esi
push ecx
push eax
call dword [sym.imp.MSVCR120.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x100cf5bd
mov eax, dword [esp + 0x18]
add esi, 0x68
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x1c]
jb 0x100cf582
jmp 0x100cf5bf
mov edi, esi
mov esi, dword [esp + 0x430]
test edi, edi
jne 0x100cf776
xor eax, eax
mov dword [esp + 0x4ac], edi
mov dword [esp + 0x4b0], edi
mov dword [esp + 0x4b0], 7
mov dword [esp + 0x4ac], edi
mov word [esp + 0x49c], ax
mov byte [esp + 0x580], 4
mov dword [esp + 0x4c4], eax
mov dword [esp + 0x4c8], eax
mov dword [esp + 0x4c8], 7
mov dword [esp + 0x4c4], eax
mov word [esp + 0x4b4], ax
mov byte [esp + 0x580], 5
mov dword [esp + 0x4dc], eax
mov dword [esp + 0x4e0], eax
mov dword [esp + 0x4e0], 7
mov dword [esp + 0x4dc], eax
mov word [esp + 0x4cc], ax
mov byte [esp + 0x580], 6
xorps xmm0, xmm0
movlpd qword [esp + 0x4e4], xmm0
movlpd qword [esp + 0x4ec], xmm0
movlpd qword [esp + 0x4f4], xmm0
mov dword [esp + 0x4fc], eax
mov byte [esp + 0x500], al
mov byte [esp + 0x580], 7
lea eax, [esp + 0x49c]
cmp eax, esi
jae 0x100cf6f4
mov ecx, eax
mov eax, dword [esp + 0x42c]
cmp eax, ecx
ja 0x100cf6f4
sub ecx, eax
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 5
mov edi, edx
shr edi, 0x1f
add edi, edx
cmp esi, dword [esp + 0x434]
jne 0x100cf6dc
push ecx
lea ecx, [esp + 0x430]
call fcn.100d18d0
mov esi, dword [esp + 0x430]
imul eax, edi, 0x68
add eax, dword [esp + 0x42c]
mov byte [esp + 0x580], 8
test esi, esi
je 0x100cf72c
jmp 0x100cf724
cmp esi, dword [esp + 0x434]
jne 0x100cf711
push ecx
lea ecx, [esp + 0x430]
call fcn.100d18d0
mov esi, dword [esp + 0x430]
mov byte [esp + 0x580], 9
test esi, esi
je 0x100cf72c
lea eax, [esp + 0x49c]
push eax
mov ecx, esi
call fcn.100cf180
mov byte [esp + 0x580], 7
add esi, 0x68
mov dword [esp + 0x430], esi
mov ecx, esi
mov esi, dword [esp + 0x42c]
mov eax, 0x4ec4ec4f
sub ecx, esi
imul ecx
lea edi, [esi - 0x68]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x68
add edi, eax
mov byte [esp + 0x580], 3
lea ecx, [esp + 0x49c]
call fcn.100cf0c0
push edi
lea ecx, [esp + 0x508]
call fcn.100cf180
mov byte [esp + 0x580], 0xa
cmp edi, ebx
je 0x100cf79b
push 0xffffffffffffffff
push 0
push ebx
mov ecx, edi
call fcn.10004aa0
lea eax, [ebx + 0x18]
lea esi, [edi + 0x18]
cmp esi, eax
je 0x100cf7b1
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
call fcn.10004aa0
lea ecx, [edi + 0x30]
lea eax, [ebx + 0x30]
mov dword [esp + 0x38], ecx
cmp ecx, eax
je 0x100cf7c9
push 0xffffffffffffffff
push 0
push eax
call fcn.10004aa0
mov eax, dword [ebx + 0x48]
lea ecx, [edi + 0x48]
mov dword [ecx], eax
mov eax, dword [ebx + 0x4c]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 0x50]
mov dword [edi + 0x50], eax
mov eax, dword [ebx + 0x54]
mov dword [edi + 0x54], eax
mov eax, dword [ebx + 0x58]
mov dword [esp + 0x18], ecx
lea ecx, [edi + 0x50]
mov dword [edi + 0x58], eax
mov eax, dword [ebx + 0x5c]
mov dword [esp + 0x40], ecx
lea ecx, [edi + 0x58]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 0x60]
mov dword [esp + 0x3c], ecx
lea ecx, [edi + 0x60]
mov dword [ecx], eax
mov al, byte [ebx + 0x64]
mov dword [esp + 0x30], ecx
lea ecx, [edi + 0x64]
mov byte [ecx], al
cmp dword [esp + 0x518], 8
mov eax, dword [edi + 0x10]
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x504]
cmovae ecx, dword [esp + 0x504]
cmp dword [edi + 0x14], 8
mov dword [esp + 0x1c], eax
jb 0x100cf83f
mov edi, dword [edi]
mov ebx, dword [esp + 0x514]
cmp eax, ebx
mov edx, ebx
cmovb edx, eax
test edx, edx
jne 0x100cf864
xor eax, eax
test eax, eax
jne 0x100cf88c
mov ecx, dword [esp + 0x1c]
cmp ecx, ebx
jae 0x100cf883
or eax, 0xffffffff
jmp 0x100cf88a
mov ax, word [edi]
cmp ax, word [ecx]
jne 0x100cf875
add edi, 2
add ecx, 2
dec edx
jmp 0x100cf84f
movzx eax, word [edi]
cmp ax, word [ecx]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x100cf853
xor eax, eax
cmp ecx, ebx
setne al
test eax, eax
sete al
test al, al
sete al
test al, al
jne 0x100cf9ac
cmp dword [esp + 0x530], 8
lea ecx, [esp + 0x51c]
mov ebx, dword [esi + 0x10]
cmovae ecx, dword [esp + 0x51c]
cmp dword [esi + 0x14], 8
jb 0x100cf8be
mov esi, dword [esi]
mov edi, dword [esp + 0x52c]
cmp ebx, edi
mov edx, edi
cmovb edx, ebx
test edx, edx
jne 0x100cf8e0
xor eax, eax
test eax, eax
jne 0x100cf908
cmp ebx, edi
jae 0x100cf8ff
or eax, 0xffffffff
jmp 0x100cf906
mov ax, word [esi]
cmp ax, word [ecx]
jne 0x100cf8f1
add esi, 2
add ecx, 2
dec edx
jmp 0x100cf8ce
movzx eax, word [esi]
cmp ax, word [ecx]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x100cf8d2
xor eax, eax
cmp ebx, edi
setne al
test eax, eax
sete al
test al, al
sete al
test al, al
jne 0x100cf9ac
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
cmp eax, dword [esp + 0x54c]
jne 0x100cf9ac
mov eax, dword [ecx + 4]
cmp eax, dword [esp + 0x550]
jne 0x100cf9ac
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx]
cmp eax, dword [esp + 0x554]
jne 0x100cf9ac
mov eax, dword [ecx + 4]
cmp eax, dword [esp + 0x558]
jne 0x100cf9ac
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx]
cmp eax, dword [esp + 0x55c]
jne 0x100cf9ac
mov eax, dword [ecx + 4]
cmp eax, dword [esp + 0x560]
jne 0x100cf9ac
cmp dword [esp + 0x548], 8
lea eax, [esp + 0x534]
push dword [esp + 0x544]
mov ecx, dword [esp + 0x3c]
cmovae eax, dword [esp + 0x538]
push eax
push dword [ecx + 0x10]
push ecx
call fcn.1000de00
test eax, eax
jne 0x100cf9ac
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
cmp eax, dword [esp + 0x564]
je 0x100cf9b8
mov eax, dword [esp + 0x34]
mov byte [esp + 0x13], 1
mov byte [eax], 1
mov byte [esp + 0x580], 3
lea ecx, [esp + 0x504]
call fcn.100cf0c0
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
add ecx, 0x68
mov dword [esp + 0x14], ecx
inc edi
mov dword [esp + 0x24], edi
mov ecx, dword [eax + 4]
mov esi, dword [eax]
sub ecx, esi
mov eax, 0x4ec4ec4f
imul ecx
mov ecx, dword [esp + 0x14]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x100cf540
mov al, byte [esp + 0x13]
mov ebx, dword [esp + 0x430]
mov edx, dword [esp + 0x42c]
test al, al
je 0x100d0359
cmp edx, ebx
je 0x100d0359
xor eax, eax
mov dword [esp + 0x448], 0
xorps xmm0, xmm0
movq qword [esp + 0x440], xmm0
mov dword [esp + 0x440], eax
mov dword [esp + 0x444], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x448], eax
mov byte [esp + 0x580], 0xb
mov ecx, ebx
sub ecx, edx
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 5
mov edi, edx
shr edi, 0x1f
add edi, edx
mov dword [esp + 0x1c], edi
je 0x100cfaaa
cmp edi, 0x418937
jbe 0x100cfa92
push str.vector_T__too_long
call dword [sym.imp.MSVCP120.dll_void___cdecl_std::_Xlength_error_char_const__]
push edi
lea ecx, [esp + 0x444]
call fcn.100d1ad0
mov eax, dword [esp + 0x444]
mov dword [esp + 0x14], eax
test edi, edi
je 0x100cfc9b
mov esi, dword [esp + 0x42c]
add esi, 0x44
lea esp, [esp]
mov eax, dword [esi + 0x1c]
cmp eax, 1
je 0x100cfad6
cmp eax, 2
je 0x100cfad6
cmp eax, 3
jne 0x100cfc86
lea ecx, [esp + 0x44]
call fcn.100ce490
push eax
lea ecx, [esp + 0x444]
call fcn.100d14e0
mov eax, dword [esp + 0x444]
mov ecx, eax
mov ebx, dword [esp + 0x440]
sub ecx, ebx
mov dword [esp + 0x14], eax
add ebx, 0xfffffc18
mov eax, 0x10624dd3
imul ecx
push 0x280
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x3e8
add ebx, eax
push 0
mov dword [esp + 0x20], ebx
lea edi, [ebx + 4]
mov dword [ebx], 0x23ab45db
push edi
call sub.MSVCR120.dll_memset
add esp, 0xc
add ebx, 0x284
push 0x100
push 0
push ebx
call sub.MSVCR120.dll_memset
mov eax, dword [esp + 0x24]
add esp, 0xc
add eax, 0x384
mov dword [esp + 0x24], eax
push 0x48
push 0
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
cmp dword [esi - 0x34], 0x13f
ja 0x100cfb9e
cmp dword [esi - 0x30], 8
jb 0x100cfb82
mov ecx, dword [esi - 0x44]
jmp 0x100cfb85
lea ecx, [esi - 0x44]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edi], ax
lea edi, [edi + 2]
test ax, ax
jne 0x100cfb85
mov edi, dword [sym.imp.MSVCR120.dll_wcsncpy]
jmp 0x100cfbbe
cmp dword [esi - 0x30], 8
jb 0x100cfba9
mov eax, dword [esi - 0x44]
jmp 0x100cfbac
lea eax, [esi - 0x44]
push 0x13e
push eax
push edi
mov edi, dword [sym.imp.MSVCR120.dll_wcsncpy]
call edi
add esp, 0xc
cmp dword [esi - 0x1c], 0x7f
ja 0x100cfbe5
cmp dword [esi - 0x18], 8
jb 0x100cfbcf
mov ecx, dword [esi - 0x2c]
jmp 0x100cfbd2
lea ecx, [esi - 0x2c]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ebx], ax
lea ebx, [ebx + 2]
test ax, ax
jne 0x100cfbd2
jmp 0x100cfbfc
cmp dword [esi - 0x18], 8
jb 0x100cfbf0
mov eax, dword [esi - 0x2c]
jmp 0x100cfbf3
lea eax, [esi - 0x2c]
push 0x7e
push eax
push ebx
call edi
add esp, 0xc
cmp dword [esi - 4], 0x23
ja 0x100cfc26
cmp dword [esi], 8
jb 0x100cfc0c
mov ecx, dword [esi - 0x14]
jmp 0x100cfc0f
lea ecx, [esi - 0x14]
mov edx, dword [esp + 0x24]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x100cfc13
jmp 0x100cfc3f
cmp dword [esi], 8
jb 0x100cfc30
mov eax, dword [esi - 0x14]
jmp 0x100cfc33
lea eax, [esi - 0x14]
push 0x23
push eax
push dword [esp + 0x2c]
call edi
add esp, 0xc
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x1c]
mov dword [ecx + 0x3cc], eax
mov eax, dword [esi + 8]
mov dword [ecx + 0x3d0], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0x3d4], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x3d8], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x3dc], eax
mov eax, dword [esi + 0x18]
mov dword [ecx + 0x3e0], eax
mov eax, dword [esi + 0x1c]
mov dword [ecx + 0x3e4], eax
add esi, 0x68
dec edi
mov dword [esp + 0x1c], edi
jne 0x100cfac0
mov ebx, dword [esp + 0x430]
mov esi, dword [esp + 0x440]
mov edx, dword [esp + 0x14]
cmp esi, edx
jne 0x100cfd1a
mov byte [esp + 0x580], 3
mov edi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
test esi, esi
je 0x100cfce3
push esi
call edi
add esp, 4
mov dword [esp + 0x440], 0
mov dword [esp + 0x444], 0
mov dword [esp + 0x448], 0
mov byte [esp + 0x580], 2
mov eax, dword [esp + 0x42c]
test eax, eax
je 0x100d03ad
mov esi, eax
lea esp, [esp]
mov ecx, esi
call fcn.100cf0c0
add esi, 0x68
cmp esi, ebx
jne 0x100cfd00
push dword [esp + 0x42c]
jmp 0x100d0387
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], 0xc
lea ecx, [esp + 0x47c]
call fcn.100dc240
sub edx, esi
lea ecx, [esp + 0x44c]
mov eax, 0x10624dd3
imul edx
push ecx
sar edx, 6
lea ecx, [esp + 0x480]
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x3e8
push eax
push esi
call fcn.100dc2f0
test al, al
jne 0x100cfe4a
mov byte [esp + 0x580], 0xb
mov eax, dword [esp + 0x44c]
mov edi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
test eax, eax
je 0x100cfddd
push eax
call edi
add esp, 4
mov dword [esp + 0x44c], 0
mov dword [esp + 0x450], 0
mov dword [esp + 0x454], 0
mov byte [esp + 0x580], 3
test esi, esi
je 0x100cfe10
push esi
call edi
add esp, 4
mov dword [esp + 0x440], 0
mov dword [esp + 0x444], 0
mov dword [esp + 0x448], 0
mov byte [esp + 0x580], 2
mov eax, dword [esp + 0x42c]
test eax, eax
je 0x100d03ad
mov esi, eax
lea esp, [esp]
mov ecx, esi
call fcn.100cf0c0
add esi, 0x68
cmp esi, ebx
jne 0x100cfe30
push dword [esp + 0x42c]
jmp 0x100d0387
mov esi, dword [esp + 0x44c]
cmp esi, dword [esp + 0x450]
jne 0x100cff0a
mov byte [esp + 0x580], 0xb
mov edi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
test esi, esi
je 0x100cfe97
push esi
call edi
add esp, 4
mov dword [esp + 0x44c], 0
mov dword [esp + 0x450], 0
mov dword [esp + 0x454], 0
mov byte [esp + 0x580], 3
mov eax, dword [esp + 0x440]
test eax, eax
je 0x100cfed1
push eax
call edi
add esp, 4
mov dword [esp + 0x440], 0
mov dword [esp + 0x444], 0
mov dword [esp + 0x448], 0
mov byte [esp + 0x580], 2
mov eax, dword [esp + 0x42c]
test eax, eax
je 0x100d03ad
mov esi, eax
lea ebx, [ebx]
mov ecx, esi
call fcn.100cf0c0
add esi, 0x68
cmp esi, ebx
jne 0x100cfef0
push dword [esp + 0x42c]
jmp 0x100d0387
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x14], 8
jb 0x100cff18
mov ecx, dword [eax]
jmp 0x100cff1a
mov ecx, eax
push ecx
push 0x80
push 4
push ecx
push 0
mov edx, 0x40000000
call fcn.100448d0
mov edi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 0x14
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
je 0x100cff49
test eax, eax
jne 0x100cfffd
push 2
push ecx
mov ecx, dword [esp + 0x28]
push 0x1012e778
call fcn.10028110
cmp eax, 0xffffffff
je 0x100cfff9
mov ecx, dword [esp + 0x20]
push eax
push 0
lea eax, [esp + 0x484]
push eax
call fcn.10022450
mov byte [esp + 0x580], 0xd
lea ecx, [esp + 0x47c]
call fcn.10027160
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x14], 8
jb 0x100cff97
mov eax, dword [eax]
push ecx
push 0x80
push 4
push ecx
push 0
mov edx, 0x40000000
mov ecx, eax
call fcn.100448d0
add esp, 0x14
mov dword [esp + 0x14], eax
mov byte [esp + 0x580], 0xc
cmp dword [esp + 0x490], 8
jb 0x100cffd7
push dword [esp + 0x47c]
call edi
mov eax, dword [esp + 0x18]
add esp, 4
xor ecx, ecx
mov dword [esp + 0x490], 7
mov dword [esp + 0x48c], 0
mov word [esp + 0x47c], cx
jmp 0x100cfffd
mov eax, dword [esp + 0x14]
cmp eax, 0xffffffff
je 0x100d02c8
test eax, eax
je 0x100d02c8
push 0
push 0
push 0
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov eax, dword [esp + 0x450]
lea ecx, [esp + 0x478]
push 0
push ecx
sub eax, esi
mov dword [esp + 0x480], 0
push eax
push esi
push dword [esp + 0x24]
mov dword [esp + 0x3c], eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x478], eax
jne 0x100d020f
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0x42c]
cmp edx, eax
je 0x100d00b0
mov eax, dword [edx]
mov ecx, dword [esp + 0x42c]
mov dword [edx], ecx
mov ecx, dword [esp + 0x434]
mov dword [esp + 0x42c], eax
mov eax, dword [edx + 4]
mov dword [edx + 4], ebx
mov dword [esp + 0x430], eax
mov eax, dword [edx + 8]
mov dword [edx + 8], ecx
mov dword [esp + 0x434], eax
mov ecx, dword [edx + 4]
mov eax, 0x4ec4ec4f
sub ecx, dword [edx]
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100d0102
mov esi, dword [esp + 0x2c]
xor ebx, ebx
xor edi, edi
mov eax, dword [esi]
lea ebx, [ebx + 0x68]
inc edi
mov byte [eax + ebx - 4], 0
mov eax, 0x4ec4ec4f
mov ecx, dword [esi + 4]
sub ecx, dword [esi]
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x100d00d0
mov esi, dword [esp + 0x44c]
mov edi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
mov byte [esp + 0x580], 0xb
test esi, esi
je 0x100d0135
push esi
call edi
add esp, 4
mov dword [esp + 0x44c], 0
mov dword [esp + 0x450], 0
mov dword [esp + 0x454], 0
mov byte [esp + 0x580], 3
mov eax, dword [esp + 0x440]
test eax, eax
je 0x100d016f
push eax
call edi
add esp, 4
mov dword [esp + 0x440], 0
mov dword [esp + 0x444], 0
mov dword [esp + 0x448], 0
mov byte [esp + 0x580], 2
lea ecx, [esp + 0x42c]
call fcn.100d1280
mov byte [esp + 0x580], 1
lea ecx, [esp + 0x470]
call fcn.10006e70
mov byte [esp + 0x580], 0
mov eax, dword [esp + 0x438]
test eax, eax
je 0x100d01bd
push eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
mov dword [esp + 0x438], 0
mov word [esp + 0x43c], 0
mov dword [esp + 0x580], 0xffffffff
cmp dword [esp + 0x46c], 8
jb 0x100d01e8
push dword [esp + 0x458]
call edi
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 0x100d042f
mov byte [esp + 0x580], 0xb
test esi, esi
je 0x100d0242
push esi
call edi
add esp, 4
mov dword [esp + 0x44c], 0
mov dword [esp + 0x450], 0
mov dword [esp + 0x454], 0
mov byte [esp + 0x580], 3
mov eax, dword [esp + 0x440]
test eax, eax
je 0x100d027c
push eax
call edi
add esp, 4
mov dword [esp + 0x440], 0
mov dword [esp + 0x444], 0
mov dword [esp + 0x448], 0
mov byte [esp + 0x580], 2
lea ecx, [esp + 0x42c]
call fcn.100d1280
mov byte [esp + 0x580], 1
lea ecx, [esp + 0x470]
call fcn.10006e70
mov byte [esp + 0x580], 0
mov eax, dword [esp + 0x438]
test eax, eax
je 0x100d03e6
push eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
jmp 0x100d03db
mov byte [esp + 0x580], 0xb
test esi, esi
je 0x100d02fb
push esi
call edi
add esp, 4
mov dword [esp + 0x44c], 0
mov dword [esp + 0x450], 0
mov dword [esp + 0x454], 0
mov byte [esp + 0x580], 3
mov eax, dword [esp + 0x440]
test eax, eax
je 0x100d0335
push eax
call edi
add esp, 4
mov dword [esp + 0x440], 0
mov dword [esp + 0x444], 0
mov dword [esp + 0x448], 0
mov byte [esp + 0x580], 2
lea ecx, [esp + 0x42c]
call fcn.100d1280
jmp 0x100d03ad
mov ebx, dword [esp + 0x430]
mov edx, dword [esp + 0x42c]
mov byte [esp + 0x580], 2
mov edi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
test edx, edx
je 0x100d03ad
mov esi, edx
cmp edx, ebx
je 0x100d0386
mov ecx, esi
call fcn.100cf0c0
add esi, 0x68
cmp esi, ebx
jne 0x100d0371
mov edx, dword [esp + 0x42c]
push edx
call edi
add esp, 4
mov dword [esp + 0x42c], 0
mov dword [esp + 0x430], 0
mov dword [esp + 0x434], 0
mov byte [esp + 0x580], 1
lea ecx, [esp + 0x470]
call fcn.10006e70
mov byte [esp + 0x580], 0
mov eax, dword [esp + 0x438]
test eax, eax
je 0x100d03e6
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp + 0x438], 0
mov word [esp + 0x43c], 0
mov dword [esp + 0x580], 0xffffffff
cmp dword [esp + 0x46c], 8
jb 0x100d0411
push dword [esp + 0x458]
call edi
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.10103694
mov esp, ebp
pop ebp
ret 0xc