Function at 0x1001bb36
Capabilities:
Delete file

Disassembly:
mov eax, 0x1007b306
call fcn.1007a810
sub esp, 0x80
push ebx
push esi
push edi
mov dword [ebp - 0x2c], ecx
mov ebx, edx
push 2
lea ecx, [ebp - 0x38]
call fcn.10018ca8
mov dword [ebp - 0x10], 0xc08901f2
xor edx, edx
mov dword [ebp - 0x14], 0xdfe0091d
mov dword [ebp - 0x14], edx
jmp 0x1001bb7d
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
mov dword [eax + ecx*4], 0xfffc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1001bb6d
xor esi, esi
inc esi
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], edx
jl 0x1001bbe5
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], edx
jl 0x1001bbc8
mov dword [ebp - 0x14], 0xfffffff8
mov dword [ebp - 0x14], edx
jmp 0x1001bbb2
mov dword [ebp - 0x24], 0x4800fa7
dec dword [ebp - 0x24]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x1001bba5
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x14], eax
dec dword [ebp - 0x1c]
jns 0x1001bb99
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], edx
jl 0x1001bbe0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
cmp dword [eax + ecx*4], edx
jne 0x1001bbe0
dec dword [ebp - 0x14]
jns 0x1001bbd0
dec dword [ebp - 0x10]
jns 0x1001bb8e
lea ecx, [ebp - 0x38]
call fcn.1001953a
cmp byte [ebp + 0xc], 0
push 4
pop edi
push edi
je 0x1001bd0c
mov dword [ebp - 0x10], 0xfffffffa
lea ecx, [ebp - 0x50]
mov dword [ebp + 0xc], 0xc5440874
mov dword [ebp + 0xc], 0xa4c924b5
call fcn.10018ca8
and dword [ebp - 4], 0
lea ecx, [ebp - 0x80]
mov dword [ebp + 0xc], 0xfffffff8
mov dword [ebp + 0xc], 0x741311e2
push esi
call fcn.10018ca8
mov dword [ebp + 0xc], 0
jmp 0x1001bc4c
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x50]
mov dword [eax + ecx*4], 0x9333c7d2
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], edi
jl 0x1001bc3c
xor edi, edi
mov dword [ebp + 0xc], edi
jmp 0x1001bc68
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x80]
mov dword [eax + ecx*4], 0xffff
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], esi
jl 0x1001bc58
mov eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
neg eax
mov dword [ebp + 0xc], eax
cmp dword [ebp + 0xc], 0xce96b779
sbb edx, edx
xor ecx, ecx
neg edx
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp edx, eax
setge cl
imul ecx, dword [ebp - 0x10]
imul eax, ecx, 0xffff
test eax, eax
je 0x1001bca6
mov ecx, esi
cmp dword [ebp - 0x10], edi
jne 0x1001bca8
mov ecx, edi
push 0xfffffffffffffffd
pop eax
sub eax, ecx
xor edx, edx
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0xc]
cmp eax, 0x45714ffd
setne dl
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
mov eax, dword [ebp - 0x50]
setle cl
add ecx, dword [eax]
mov dword [ebp + 0xc], ecx
lea ecx, [ebp - 0x80]
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
call fcn.1001953a
lea ecx, [ebp - 0x50]
call fcn.1001953a
mov dword [ebx], edi
cmp dword [ebx], esi
jge 0x1001c12f
mov edx, dword [ebp + 8]
mov ecx, dword [ebx]
mov eax, dword [edx]
mov dword [eax + ecx*4], edi
inc dword [ebx]
cmp dword [ebx], esi
jl 0x1001bcfa
jmp 0x1001c12f
lea ecx, [ebp - 0x68]
call fcn.10018ca8
mov dword [ebp - 4], esi
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x20], 0x42a1
push esi
call fcn.10018ca8
mov dword [ebp + 0xc], 0x57736d0c
xor edx, edx
mov dword [ebp + 0xc], 0x3eef7d26
mov dword [ebp + 0xc], edx
jmp 0x1001bd4c
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x68]
mov dword [eax + ecx*4], 0xcb50
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], edi
jl 0x1001bd3c
mov dword [ebp + 0xc], edx
jmp 0x1001bd62
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x5c]
mov dword [eax + ecx*4], esi
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], esi
jl 0x1001bd56
mov eax, dword [ebp - 0x68]
cmp dword [eax + 4], edx
jne 0x1001bd72
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
imul ecx, dword [ebp - 0x20], 0x3d18
mov eax, dword [ebp - 0x5c]
add ecx, 0x1af7
mov dword [eax], ecx
je 0x1001bd93
mov dword [ebp + 0xc], esi
mov eax, esi
cmp dword [ebp + 0xc], edx
jne 0x1001bd95
mov eax, edx
add eax, 0xf6cc9ca3
lea ecx, [ebp - 0x5c]
mov dword [ebp + 0xc], eax
call fcn.1001953a
or ebx, 0xffffffff
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], ebx
call fcn.1001953a
mov dword [ebp + 0xc], 9
xor edx, edx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x10], 0xf57440e7
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x24], 0x3ce85dc3
mov dword [ebp - 0x20], edx
mov eax, dword [ebp + 0xc]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
add eax, dword [ebp + 0xc]
jne 0x1001bdfa
mov ecx, edx
cmp dword [ebp + 0xc], edx
je 0x1001bdfc
mov ecx, esi
xor eax, eax
cmp ecx, 0x4c3e
mov ecx, 0xb9cbadbe
setle al
add eax, dword [ebp - 0x10]
cmp ecx, eax
sbb eax, eax
neg eax
neg eax
cmp eax, dword [ebp + 0xc]
jl 0x1001be23
mov eax, esi
cmp dword [ebp + 0xc], edx
jne 0x1001be25
mov eax, edx
xor ecx, ecx
cmp eax, 0xed99
mov eax, dword [ebp + 0xc]
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp + 0xc]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
xor edx, edx
imul ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + 0xc]
cmp ecx, eax
setl dl
imul edx, dword [ebp - 0x20]
test edx, edx
jne 0x1001be8c
cmp dword [ebp - 0x1c], edx
je 0x1001be8e
mov edx, esi
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
sub edx, eax
mov eax, dword [ebp + 0xc]
cmp eax, edx
setle cl
cmp dword [ebp - 0x24], ecx
jl 0x1001beb2
cmp dword [ebp + 0xc], 0
je 0x1001beb2
mov eax, esi
jmp 0x1001beb4
xor eax, eax
xor ecx, ecx
add eax, 0x447e91ec
cmp dword [ebp - 0x18], eax
setne cl
mov dword [ebp - 0x20], ecx
mov byte [ebp + 0xf], 0
cmp byte [ebp + 0xf], 0
je 0x1001bed6
push 0
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dword [ebp - 0x10], ebx
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x1c], 8
mov dword [ebp - 0x14], 0xaee5a986
mov dword [ebp - 0x18], esi
push 2
call fcn.10018ca8
push 2
pop eax
mov dword [ebp - 4], eax
xor edx, edx
mov dword [ebp + 0xc], 0x3e7a3298
mov dword [ebp - 0x20], 7
mov dword [ebp + 0xc], edx
cmp dword [ebp + 0xc], eax
jge 0x1001bf24
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x74]
mov dword [eax + ecx*4], ebx
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], 2
jl 0x1001bf12
mov ecx, edx
cmp dword [ebp - 0x10], edx
je 0x1001bf2d
mov ecx, esi
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x14], 9
test eax, eax
je 0x1001bfa2
mov dword [ebp + 0xc], 0x5d367296
mov dword [ebp - 0x14], 0xffffffe9
jmp 0x1001bf98
mov dword [ebp - 0x24], 0xfffffffb
mov dword [ebp - 0x20], edx
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x10]
sub ecx, 0x3ca3
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 7
setne al
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x20]
sub eax, 6
neg eax
sbb eax, eax
add eax, 3
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jge 0x1001bf54
jmp 0x1001c104
push 3
pop edi
push edi
lea ecx, [ebp - 0x44]
call fcn.10018ca8
mov dword [ebp - 0x24], 5
xor edx, edx
mov dword [ebp - 0x28], 0x75314680
mov dword [ebp + 0xc], 0xfffffffe
mov dword [ebp + 0xc], edx
jmp 0x1001bfda
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x44]
mov dword [eax + ecx*4], 0x8b01197b
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], edi
jl 0x1001bfca
mov dword [ebp + 0xc], edx
jmp 0x1001bff1
mov eax, dword [ebp + 0xc]
mov dword [ebp + eax*4 - 0x8c], ebx
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], edi
jl 0x1001bfe4
mov dword [ebp - 0x18], edx
jmp 0x1001c011
mov byte [ebp + 0xf], dl
cmp byte [ebp + 0xf], 0
je 0x1001c00e
push edx
push edx
call dword [sym.imp.KERNEL32.dll_GetCommState]
xor edx, edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x1001bffb
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x44]
xor eax, eax
mov ecx, dword [edi + 4]
test ecx, ecx
setne al
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x44]
setg cl
sub ebx, ecx
imul ebx, dword [eax + 8]
cmp ebx, 0xad706983
jbe 0x1001c056
cmp dword [eax], 0
jne 0x1001c056
xor eax, eax
jmp 0x1001c058
mov eax, esi
xor ecx, ecx
cmp eax, 9
sete cl
xor edx, edx
imul ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x8c]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setge dl
xor ecx, ecx
cmp edx, eax
setl cl
imul ecx, dword [ebp - 0x10]
test ecx, ecx
jne 0x1001c08c
cmp dword [edi + 4], ecx
jne 0x1001c08c
xor edx, edx
jmp 0x1001c08e
mov edx, esi
mov eax, dword [edi + 4]
xor ecx, ecx
cmp edx, 0x71f6e690
mov dword [ebp + 0xc], eax
setne cl
sub ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setg dl
imul edx, dword [ebp + 0xc]
sub edx, dword [ebp - 0x24]
sub edx, dword [edi + 4]
mov eax, dword [ebp - 0x74]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp dword [eax], edx
mov dword [ebp - 0x8c], edx
mov eax, dword [ebp - 0x24]
setne cl
imul eax, ecx
mov ecx, dword [ebp - 0x20]
neg ecx
imul eax, eax, 0x584e2110
sub ecx, eax
cmp ecx, 0xfffa
jb 0x1001c0f1
cmp dword [ebp - 0x28], 0
jne 0x1001c0f3
xor esi, esi
mov dword [ebp - 0x10], esi
lea ecx, [ebp - 0x44]
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0xc], eax
call fcn.1001953a
lea ecx, [ebp - 0x74]
call fcn.1001953a
mov edx, dword [ebp + 0x10]
mov dword [edx], 0
cmp dword [edx], 2
jge 0x1001c12f
mov esi, dword [ebp - 0x2c]
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 0x342eb90d
inc dword [edx]
cmp dword [edx], 2
jl 0x1001c11d
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret