Function at 0x1002ee42
Capabilities:
Delete file
Encode data using xor

Disassembly:
mov eax, 0x10060edd
call fcn.10060330
sub esp, 0xcc
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0x4c], edx
xor ebx, ebx
mov dword [ebp - 0x38], esi
push edi
mov dword [ebp - 0x10], esp
cmp dword [esi + 0x10], ebx
jne 0x1002ee6e
xor al, al
jmp 0x1002f4c6
mov dword [ebp - 0x14], 0xa48bbca6
mov dword [ebp - 0x18], 0xab77c19c
mov dword [ebp - 0x3c], 0x1296
cmp dword [ebp - 0x3c], 0x132e
jle 0x1002eebd
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edi, ebx
mov esi, ebx
mov eax, esi
mov ecx, 0x10608998
xor eax, edi
cdq
push edx
push eax
call fcn.1002bc5e
inc esi
cmp esi, 0x6b5
jl 0x1002ee97
inc edi
cmp edi, 0x5470
jl 0x1002ee95
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x14], 0xfffffff7
jmp 0x1002f0ff
mov dword [ebp - 0x1c], 0x44455595
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x5c], 0xbebf3b8c
mov dword [ebp - 0x28], 0xfffffff9
push 2
call fcn.1002bd73
lea edx, [ebp - 0x68]
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0xcc]
call fcn.1002df96
cmp dword [ebp - 0x14], 1
je 0x1002efa3
push 2
lea ecx, [ebp - 0x90]
call fcn.1002bd73
mov dword [ebp - 0x20], 0x7af2c9a1
lea edx, [ebp - 0x90]
mov dword [ebp - 0x34], ebx
lea ecx, [ebp - 0xc4]
call fcn.1002e25c
cmp dword [ebp - 0x1c], ebx
jne 0x1002ef3f
mov eax, dword [ebp - 0x90]
cmp dword [eax + 4], ebx
jne 0x1002ef3f
mov edi, ebx
jmp 0x1002ef42
xor edi, edi
inc edi
mov ecx, dword [ebp - 0x20]
xor ebx, ebx
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setge bl
xor edx, edx
neg ebx
cmp ebx, eax
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x14]
jne 0x1002ef71
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, 0x6b379904
setne cl
imul ecx, dword [ebp - 0x1c]
imul ecx, edi
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x90]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
call fcn.1002bdf5
xor ebx, ebx
jmp 0x1002f0c7
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], 0xfffffffb
mov dword [ebp - 0x18], ebx
jmp 0x1002efc4
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x58], 0xbbe58ed0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1002efb6
mov dword [ebp - 0x18], ebx
jmp 0x1002efdd
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x78], 0xfffffff8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1002efcf
dec dword [ebp - 0x58]
xor edx, edx
mov eax, dword [ebp - 0x58]
inc dword [ebp - 0x70]
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x70]
setle cl
xor edx, edx
cmp ecx, 0x5454
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x68]
setl cl
xor edx, edx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x1c]
setne dl
add eax, edx
cmp eax, 0xe70d
jle 0x1002f038
cmp dword [ebp - 0x14], ebx
je 0x1002f038
xor eax, eax
inc eax
jmp 0x1002f03a
mov eax, ebx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x68]
cmp dword [eax], ebx
jne 0x1002f050
cmp dword [ebp - 0x14], ebx
jne 0x1002f050
mov ecx, ebx
jmp 0x1002f053
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x58]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x54]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x28]
sete cl
xor edx, edx
cmp ecx, 0x65fb
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
sub ecx, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx, 0x37d
xor ecx, ecx
cmp eax, 0x1323
setne cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x58]
neg eax
sbb eax, eax
inc eax
imul edx, eax, 0xb839
mov eax, dword [ebp - 0x28]
sub edx, 0xfffffffc
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x1c]
dec eax
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x68]
add ecx, dword [eax]
je 0x1002f0e8
cmp dword [ebp - 0x1c], ebx
je 0x1002f0e8
xor ecx, ecx
inc ecx
jmp 0x1002f0ea
mov ecx, ebx
mov eax, dword [ebp - 0x68]
or dword [ebp - 4], 0xffffffff
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x68]
call fcn.1002bdf5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xa
jle 0x1002eec9
mov dword [ebp - 4], 1
cmp dword [ebp - 0x3c], 0xf23
jge 0x1002f128
mov edx, 0x10009a40
mov ecx, 0x10608998
call fcn.1002d708
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x21]
mov byte [ebp - 0x21], bl
call fcn.1002e27b
lea ecx, [ebp - 0x4c]
call fcn.1002e4da
cmp dword [esi + 0x14], 0x10
jb 0x1002f16e
mov ecx, dword [esi]
jmp 0x1002f170
mov ecx, esi
cmp dword [esi + 0x14], 0x10
mov dword [ebp - 0x50], ecx
jb 0x1002f17d
mov edx, dword [esi]
jmp 0x1002f17f
mov edx, esi
mov eax, dword [esi + 0x10]
add eax, edx
cmp ecx, eax
je 0x1002f1ba
mov al, byte [ecx]
cmp al, 0x30
jl 0x1002f1a3
cmp al, 0x39
jg 0x1002f1a3
lea edx, [ebp - 0x50]
lea ecx, [ebp - 0x4c]
call fcn.1002e5bf
mov ecx, dword [ebp - 0x50]
inc ecx
jmp 0x1002f170
push 0x56cc
lea eax, [ebp - 0x4c]
push eax
push ebx
call fcn.1003067e
add esp, 0xc
jmp 0x1002ee67
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x84]
push 1
call fcn.1002bd73
mov dword [ebp - 4], 3
mov eax, 0x5fb49a5c
mov dword [ebp - 0xb4], 0x9f3b06d9
mov dword [ebp - 0xc8], 1
mov dword [ebp - 0x5c], 0x320525c7
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x2c], ebx
jmp 0x1002f21c
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x48], 0xfffd
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jl 0x1002f20e
lea edx, [ebp - 0x84]
lea ecx, [ebp - 0x2c]
call fcn.1002e715
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 2
jg 0x1002f4b9
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x34], 0x5729
cmp dword [ebp - 0x34], 0x58f3
jle 0x1002f2ac
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], 0x6d4d
mov eax, ebx
mov dword [ebp - 0x3c], 0x5857
mov dword [ebp - 0x38], eax
mov esi, eax
mov edi, 0xa9c
mov eax, esi
mov ecx, 0x10608998
cdq
push edx
push eax
call fcn.1002bc5e
dec esi
dec edi
jne 0x1002f270
mov eax, dword [ebp - 0x38]
mov edi, dword [ebp - 0x20]
add eax, edi
dec dword [ebp - 0x3c]
mov dword [ebp - 0x38], eax
jne 0x1002f269
mov esi, dword [ebp - 0x18]
add edi, esi
dec dword [ebp - 0x1c]
mov dword [ebp - 0x20], edi
jne 0x1002f25d
inc esi
mov dword [ebp - 0x18], esi
cmp esi, 0x5864
jl 0x1002f253
push 3
lea ecx, [ebp - 0x9c]
call fcn.1002bd73
mov byte [ebp - 4], 5
cmp dword [ebp - 0x34], 0x55f0
jge 0x1002f2f3
mov edx, 0x10009a98
mov ecx, 0x10608998
call fcn.1002d708
jmp 0x1002f2f3
mov dword [ebp - 4], 4
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0x6c], 0xfffd
mov dword [ebp - 0xb0], 9
push 1
call fcn.1002bd73
mov byte [ebp - 4], 7
mov dword [ebp - 0x30], ebx
jmp 0x1002f334
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x9c]
mov dword [eax + ecx*4], 0x64548797
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 3
jl 0x1002f321
lea edx, [ebp - 0xc0]
lea ecx, [ebp - 0x30]
call fcn.1002e812
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x48], 0xa0d461e3
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 0xfffffffc
mov eax, dword [ebp - 0x84]
setle dl
xor ecx, ecx
mov dword [eax], edx
mov eax, dword [ebp - 0x48]
cmp edx, eax
mov eax, dword [ebp - 0x14]
sete cl
cmp dword [ebp + eax*4 - 0x48], ecx
jle 0x1002f380
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x18], 0x8cd908fb
mov dword [ebp - 0x1c], ebx
jmp 0x1002f3ae
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd8], 0xe26b5cfd
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1002f39d
mov eax, dword [ebp - 0x84]
xor ecx, ecx
cmp dword [eax], 0x2053
mov eax, dword [ebp - 0x18]
setge cl
dec dword [ebp - 0x18]
cmp ecx, eax
jle 0x1002f3d4
xor edx, edx
inc edx
jmp 0x1002f3d6
mov edx, ebx
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
imul eax, eax, 0x4264
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0x20]
jg 0x1002f41b
cmp dword [ebp - 0x28], ebx
je 0x1002f41b
xor ebx, ebx
inc ebx
xor eax, eax
cmp ebx, 0xfffffffd
setge al
xor edx, edx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x9c]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x48]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setl dl
xor ecx, ecx
dec edx
cmp eax, edx
mov eax, dword [ebp - 0xa8]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setl dl
xor ebx, ebx
mov eax, dword [ebp + eax*4 - 0x48]
cmp edx, eax
setne bl
xor edx, edx
mov dword [ebp - 0xd8], ebx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x48]
lea eax, [ebx - 0xffff]
cmp eax, ecx
mov eax, 0x8f5b6ef3
lea ecx, [ebp - 0x6c]
setne dl
cmp eax, edx
sbb eax, eax
inc eax
mov dword [ebp - 0x34], eax
call fcn.1002ecc0
lea ecx, [ebp - 0xc0]
call fcn.1002bdf5
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 3
call fcn.1002bdf5
inc dword [ebp - 0x14]
xor ebx, ebx
jmp 0x1002f233
lea ecx, [ebp - 0x84]
call fcn.1002bdf5
mov al, 1
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret