Function at 0x6428dfac
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x10c
mov eax, 0x104
push ebx
push ebp
mov ebp, ecx
push esi
push edi
cmp edx, eax
ja 0x6428e3cf
je 0x6428e321
cmp edx, 0x70
ja 0x6428e213
je 0x6428e6ff
cmp edx, 0x14
je 0x6428e154
cmp edx, 0x2d
je 0x6428e09d
cmp edx, 0x3a
je 0x6428e4d3
cmp edx, 0x56
jne 0x6428e40d
xor eax, eax
mov dword [esp + 0x83], 0x89a9252a
lea edi, [esp + 0xc8]
mov dword [esp + 0x87], 0xcca9b37f
stosd dword es:[edi], eax
mov edx, 0xf02f06c5
mov dword [esp + 0x8b], 0x4621b823
push 0xc
pop esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [esp + 0x83]
mov dword [esp + 0x10], eax
xor edi, edi
lea eax, [esp + 0xc8]
mov dword [esp + 0x14], eax
mov ecx, edx
shr ecx, 7
xor ecx, edx
mov eax, ecx
shl eax, 9
xor ecx, eax
mov eax, dword [esp + 0x10]
mov edx, ecx
shr edx, 0xd
xor edx, ecx
mov ecx, dword [eax + edi]
mov eax, dword [esp + 0x14]
rol edx, 1
xor ecx, edx
mov dword [eax + edi], ecx
add edi, 4
cmp edi, esi
jb 0x6428e04b
lea eax, [esp + 0xc8]
mov ecx, ebp
push eax
call fcn.64273ffe
lea eax, [esp + 0xc8]
mov byte [eax], 0
inc eax
sub esi, 1
jne 0x6428e08f
jmp 0x6428e314
xor eax, eax
mov dword [esp + 0x2d], 0xaccef532
lea edi, [esp + 0xae]
mov dword [esp + 0x31], 0x71f6e7bf
stosd dword es:[edi], eax
mov edx, 0xc9bc8550
mov dword [esp + 0x35], 0x7096af2d
mov byte [esp + 0x39], 0xa1
push 0xc
stosd dword es:[edi], eax
pop esi
stosd dword es:[edi], eax
stosb byte es:[edi], al
lea eax, [esp + 0x2d]
mov dword [esp + 0x14], eax
xor edi, edi
lea eax, [esp + 0xae]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edi]
mov eax, dword [esp + 0x10]
xor ecx, edx
imul edx, edx, 0x6f59
mov dword [eax + edi], ecx
add edi, 4
add edx, 0x588849
rol edx, 3
cmp edi, esi
jb 0x6428e0e4
lea eax, [esp + 0x2d]
mov dword [esp + 0x14], eax
lea eax, [esp + 0xae]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov cl, byte [eax + 0xc]
mov eax, dword [esp + 0x10]
xor cl, dl
mov byte [eax + 0xc], cl
lea eax, [esp + 0xae]
push eax
mov ecx, ebp
call fcn.64273ffe
push 0xd
pop ecx
lea eax, [esp + 0xae]
mov byte [eax], 0
inc eax
sub ecx, 1
jne 0x6428e146
jmp 0x6428e314
xor eax, eax
mov dword [esp + 0x3a], 0x81e4132f
lea edi, [esp + 0xbb]
mov dword [esp + 0x3e], 0xc51d7aba
stosd dword es:[edi], eax
mov edx, 0xe28b615f
mov dword [esp + 0x42], 0x2e8a28d8
mov byte [esp + 0x46], 0xa0
push 0xc
stosd dword es:[edi], eax
pop esi
stosd dword es:[edi], eax
stosb byte es:[edi], al
lea eax, [esp + 0x3a]
mov dword [esp + 0x14], eax
xor edi, edi
lea eax, [esp + 0xbb]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edi]
mov eax, dword [esp + 0x10]
xor ecx, edx
mov dword [eax + edi], ecx
mov ecx, edx
shl ecx, 0xd
add edi, 4
xor ecx, edx
mov eax, ecx
shr eax, 0x11
xor ecx, eax
mov edx, ecx
shl edx, 5
xor edx, ecx
rol edx, 1
cmp edi, esi
jb 0x6428e19b
lea eax, [esp + 0x3a]
mov dword [esp + 0x14], eax
lea eax, [esp + 0xbb]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov cl, byte [eax + 0xc]
mov eax, dword [esp + 0x10]
xor cl, dl
mov byte [eax + 0xc], cl
lea eax, [esp + 0xbb]
push eax
mov ecx, ebp
call fcn.64273ffe
push 0xd
pop ecx
lea eax, [esp + 0xbb]
mov byte [eax], 0
inc eax
sub ecx, 1
jne 0x6428e205
jmp 0x6428e314
cmp edx, 0x8c
je 0x6428e6ff
cmp edx, 0xd4
jbe 0x6428e40d
cmp edx, 0xd6
jbe 0x6428e4d3
cmp edx, 0xe3
jne 0x6428e40d
xor eax, eax
mov dword [esp + 0x74], 0x6d479170
lea edi, [esp + 0x10d]
mov dword [esp + 0x78], 0xbab4ddc3
stosd dword es:[edi], eax
mov edx, 0x82af037
mov dword [esp + 0x7c], 0x103b8481
mov word [esp + 0x80], 0x3526
mov byte [esp + 0x82], 0x54
stosd dword es:[edi], eax
push 0xc
pop esi
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x74]
mov dword [esp + 0x14], eax
xor edi, edi
lea eax, [esp + 0x10d]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edi]
mov eax, dword [esp + 0x10]
xor ecx, edx
mov dword [eax + edi], ecx
mov ecx, edx
shl ecx, 0xd
add edi, 4
xor ecx, edx
mov eax, ecx
shr eax, 0x11
xor ecx, eax
mov edx, ecx
shl edx, 5
xor edx, ecx
ror edx, 1
cmp edi, esi
jb 0x6428e299
lea eax, [esp + 0x74]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x10d]
push 0xf
mov dword [esp + 0x14], eax
pop ebx
mov eax, dword [esp + 0x14]
mov cl, byte [eax + esi]
mov eax, dword [esp + 0x10]
xor cl, dl
shr edx, 8
mov byte [eax + esi], cl
inc esi
cmp esi, ebx
jb 0x6428e2dd
lea eax, [esp + 0x10d]
mov ecx, ebp
push eax
call fcn.64273ffe
lea eax, [esp + 0x10d]
mov byte [eax], 0
inc eax
sub ebx, 1
jne 0x6428e30b
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x10c
ret
xor eax, eax
mov dword [esp + 0x1a], 0xc9475afd
lea edi, [esp + 0x9b]
mov dword [esp + 0x1e], 0x5df553c0
stosd dword es:[edi], eax
mov ebx, 0xaa28288d
mov byte [esp + 0x22], 0xc0
xor esi, esi
push 8
pop edx
stosd dword es:[edi], eax
stosb byte es:[edi], al
lea eax, [esp + 0x1a]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x9b]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + esi]
mov eax, dword [esp + 0x10]
xor ecx, ebx
imul ebx, ebx, 0x41c64e6d
mov dword [eax + esi], ecx
add esi, 4
add ebx, 0x3039
ror ebx, 4
cmp esi, edx
jb 0x6428e35f
lea eax, [esp + 0x1a]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x9b]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov cl, byte [eax + 8]
mov eax, dword [esp + 0x10]
xor cl, bl
mov byte [eax + 8], cl
lea eax, [esp + 0x9b]
push eax
mov ecx, ebp
call fcn.64273ffe
push 9
pop ecx
lea eax, [esp + 0x9b]
mov byte [eax], 0
inc eax
sub ecx, 1
jne 0x6428e3c1
jmp 0x6428e314
sub edx, 0x10f
je 0x6428e243
sub edx, 5
je 0x6428e6ff
sub edx, 0x36
je 0x6428e639
sub edx, 0x1f
je 0x6428e6ff
sub edx, 0x1a
je 0x6428e569
sub edx, 0x6e
je 0x6428e4d3
sub edx, 0x5d
je 0x6428e41c
push 0x648ac19c
call fcn.64273ffe
jmp 0x6428e314
xor eax, eax
mov dword [esp + 0x23], 0x5f1aa31d
lea edi, [esp + 0xa4]
mov dword [esp + 0x27], 0x22c93603
stosd dword es:[edi], eax
mov ebx, 0xd68d158
mov word [esp + 0x2b], 0x3be8
xor esi, esi
push 8
pop edx
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x23]
mov dword [esp + 0x14], eax
lea eax, [esp + 0xa4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + esi]
mov eax, dword [esp + 0x10]
xor ecx, ebx
mov dword [eax + esi], ecx
add esi, 4
imul eax, ebx, 0xdfb3
mov ebx, 0xff4c4eee
sub ebx, eax
cmp esi, edx
jb 0x6428e45d
lea eax, [esp + 0x23]
mov dword [esp + 0x14], eax
lea eax, [esp + 0xa4]
push 0xa
mov dword [esp + 0x14], eax
pop esi
mov eax, dword [esp + 0x14]
mov cl, byte [eax + edx]
mov eax, dword [esp + 0x10]
xor cl, bl
shr ebx, 8
mov byte [eax + edx], cl
inc edx
cmp edx, esi
jb 0x6428e497
lea eax, [esp + 0xa4]
mov ecx, ebp
push eax
call fcn.64273ffe
lea eax, [esp + 0xa4]
mov byte [eax], 0
inc eax
sub esi, 1
jne 0x6428e4c5
jmp 0x6428e314
xor eax, eax
mov dword [esp + 0x8f], 0x1946012c
lea edi, [esp + 0xd4]
mov dword [esp + 0x93], 0x73c6ce1
stosd dword es:[edi], eax
mov edx, 0x2def3211
mov dword [esp + 0x97], 0xc81bdeb3
push 0xc
pop esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [esp + 0x8f]
mov dword [esp + 0x14], eax
xor edi, edi
lea eax, [esp + 0xd4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
imul edx, edx, 0x343fd
mov ecx, dword [eax + edi]
mov eax, dword [esp + 0x10]
add edx, 0x269ec3
not edx
xor ecx, edx
mov dword [eax + edi], ecx
add edi, 4
cmp edi, esi
jb 0x6428e520
lea eax, [esp + 0xd4]
mov ecx, ebp
push eax
call fcn.64273ffe
lea eax, [esp + 0xd4]
mov byte [eax], 0
inc eax
sub esi, 1
jne 0x6428e55b
jmp 0x6428e314
xor eax, eax
mov dword [esp + 0x47], 0x4f7f9adc
lea edi, [esp + 0xe0]
mov dword [esp + 0x4b], 0x98fc8c7
stosd dword es:[edi], eax
mov edx, 0x103dca9d
mov dword [esp + 0x4f], 0x6f98ca8e
mov word [esp + 0x53], 0xa2f3
mov byte [esp + 0x55], pe_nt_image_headers32
stosd dword es:[edi], eax
push 0xc
pop esi
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x47]
mov dword [esp + 0x14], eax
xor edi, edi
lea eax, [esp + 0xe0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edi]
mov eax, dword [esp + 0x10]
xor ecx, edx
mov dword [eax + edi], ecx
mov ecx, edx
shl ecx, 0xd
add edi, 4
xor ecx, edx
mov eax, ecx
shr eax, 0x11
xor ecx, eax
mov edx, ecx
shl edx, 5
xor edx, ecx
bswap edx
cmp edi, esi
jb 0x6428e5b9
lea eax, [esp + 0x47]
mov dword [esp + 0x14], eax
lea eax, [esp + 0xe0]
push 0xf
mov dword [esp + 0x14], eax
pop ebx
mov eax, dword [esp + 0x14]
mov cl, byte [eax + esi]
mov eax, dword [esp + 0x10]
xor cl, dl
shr edx, 8
mov byte [eax + esi], cl
inc esi
cmp esi, ebx
jb 0x6428e5fd
lea eax, [esp + 0xe0]
mov ecx, ebp
push eax
call fcn.64273ffe
lea eax, [esp + 0xe0]
mov byte [eax], 0
inc eax
sub ebx, 1
jne 0x6428e62b
jmp 0x6428e314
xor eax, eax
mov dword [esp + 0x56], 0xa5395fbf
lea edi, [esp + 0xef]
mov dword [esp + 0x5b], 0xa3d7c1d1
stosd dword es:[edi], eax
mov edx, 0xd6582dfc
push 0xf
pop ebx
mov byte [esp + 0x5a], bl
stosd dword es:[edi], eax
mov dword [esp + 0x5f], 0x8337fadc
mov word [esp + 0x63], 0x9d16
push 0xc
stosd dword es:[edi], eax
pop esi
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x56]
mov dword [esp + 0x14], eax
xor edi, edi
lea eax, [esp + 0xef]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edi]
mov eax, dword [esp + 0x10]
xor ecx, edx
imul edx, edx, 0x343fd
mov dword [eax + edi], ecx
add edi, 4
add edx, 0x269ec3
ror edx, 1
cmp edi, esi
jb 0x6428e68b
lea eax, [esp + 0x56]
mov dword [esp + 0x14], eax
lea eax, [esp + 0xef]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov cl, byte [eax + esi]
mov eax, dword [esp + 0x10]
xor cl, dl
shr edx, 8
mov byte [eax + esi], cl
inc esi
cmp esi, ebx
jb 0x6428e6c3
lea eax, [esp + 0xef]
mov ecx, ebp
push eax
call fcn.64273ffe
lea eax, [esp + 0xef]
mov byte [eax], 0
inc eax
sub ebx, 1
jne 0x6428e6f1
jmp 0x6428e314
xor eax, eax
mov dword [esp + 0x65], 0xcb63f062
lea edi, [esp + 0xfe]
mov dword [esp + 0x69], 0xc1471845
stosd dword es:[edi], eax
mov edx, 0xa4178523
mov dword [esp + 0x6d], 0xa0d63da1
mov word [esp + 0x71], 0xa1ae
mov byte [esp + 0x73], 1
stosd dword es:[edi], eax
push 0xc
pop esi
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x65]
mov dword [esp + 0x14], eax
xor edi, edi
lea eax, [esp + 0xfe]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edi]
mov eax, dword [esp + 0x10]
xor ecx, edx
mov dword [eax + edi], ecx
mov ecx, edx
shl ecx, 0xd
add edi, 4
xor ecx, edx
mov eax, ecx
shr eax, 7
xor ecx, eax
mov edx, ecx
shl edx, 0x11
xor edx, ecx
neg edx
cmp edi, esi
jb 0x6428e74f
lea eax, [esp + 0x65]
mov dword [esp + 0x14], eax
lea eax, [esp + 0xfe]
push 0xf
mov dword [esp + 0x14], eax
pop ebx
mov eax, dword [esp + 0x14]
mov cl, byte [eax + esi]
mov eax, dword [esp + 0x10]
xor cl, dl
shr edx, 8
mov byte [eax + esi], cl
inc esi
cmp esi, ebx
jb 0x6428e793
lea eax, [esp + 0xfe]
mov ecx, ebp
push eax
call fcn.64273ffe
lea eax, [esp + 0xfe]
mov byte [eax], 0
inc eax
sub ebx, 1
jne 0x6428e7c1
jmp 0x6428e314