Function at 0x1000b110
Capabilities:
Encode data using xor
Hash data using sha1
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x93c
mov eax, dword [0x10051040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x100524bc]
push ebx
push esi
mov dword [ebp - 0x934], ecx
cmp byte [eax + 0x40], 0
mov esi, dword [eax + 0x2c]
mov dword [ebp - 0x91c], 0
je 0x1000b14a
mov edx, dword [eax + 0x44]
add edx, esi
jmp 0x1000b14c
mov edx, esi
mov ebx, dword [edx]
mov ecx, dword [0x100539a8]
mov dword [ebp - 0x93c], ebx
cmp ecx, ebx
je 0x1000bc46
lea edx, [ecx + 1]
mov dword [ebp - 0x930], edx
cmp edx, ebx
jg 0x1000bc40
push edi
cmp byte [eax + 0x40], 0
mov ecx, dword [eax + 0x28]
je 0x1000b184
mov eax, dword [eax + 0x44]
add eax, ecx
jmp 0x1000b186
mov eax, ecx
mov byte [ebp - 0x918], 0x53
mov ebx, 0x2e5
mov byte [ebp - 0x917], 0x59
mov byte [ebp - 0x916], 0x5b
mov byte [ebp - 0x915], 0x49
movzx edi, dl
mov byte [ebp - 0x914], 0xba
shl edi, 0xa
mov byte [ebp - 0x913], 0xb7
add edi, eax
mov byte [ebp - 0x912], 0xeb
xor edx, edx
mov byte [ebp - 0x911], 0xdc
mov al, byte [ebp - 0x918]
mov dword [ebp - 0x8ec], edi
mov dword [ebp - 0x8d8], 0xfffffff6
mov al, byte [ebp + edx - 0x918]
lea edx, [edx + 1]
mov cl, bl
add ebx, 8
xor cl, byte [ebp - 0x8d8]
dec dword [ebp - 0x8d8]
xor cl, al
xor cl, 0x2e
mov byte [ebp + edx - 0x919], cl
cmp ebx, 0x325
jb 0x1000b1e3
mov eax, dword [edi]
lea ecx, [ebp - 0x918]
mov byte [ebp - 0x911], 0
cmp eax, dword [ecx]
jne 0x1000b23c
movzx eax, word [edi + 4]
cmp ax, word [ecx + 4]
jne 0x1000b23c
movzx eax, byte [edi + 6]
cmp al, byte [ecx + 6]
jne 0x1000b23c
mov cl, 1
jmp 0x1000b23e
xor cl, cl
xor eax, eax
mov byte [ebp + eax - 0x918], 0
inc eax
cmp eax, 8
jb 0x1000b240
mov ebx, 0x2e5
test cl, cl
je 0x1000b303
mov byte [ebp - 0x8f8], 0x4e
xor edx, edx
mov byte [ebp - 0x8f7], 0x55
mov byte [ebp - 0x8f6], 0x40
mov byte [ebp - 0x8f5], 0x52
mov byte [ebp - 0x8f4], 0xbc
mov byte [ebp - 0x8f3], 0xd2
mov al, byte [ebp - 0x8f8]
mov dword [ebp - 0x8d8], 0xfffffff6
nop word [eax + eax]
mov al, byte [ebp + edx - 0x8f8]
lea edx, [edx + 1]
mov cl, bl
add ebx, 8
xor cl, byte [ebp - 0x8d8]
dec dword [ebp - 0x8d8]
xor cl, al
xor cl, 0x2e
mov byte [ebp + edx - 0x8f9], cl
cmp ebx, 0x315
jb 0x1000b2a0
push 0x400
lea eax, [ebp - 0x8f8]
mov byte [ebp - 0x8f3], 0
push eax
push edi
call fcn.100263e0
add esp, 0xc
xor eax, eax
nop dword [eax]
mov byte [ebp + eax - 0x8f8], 0
inc eax
cmp eax, 6
jb 0x1000b2f0
jmp 0x1000bc1e
mov esi, dword [ebp - 0x91c]
mov byte [ebp - 0x8e4], 0x7e
or esi, 1
mov byte [ebp - 0x8e3], 0x17
xor edx, edx
mov byte [ebp - 0x8e2], 0x2f
mov al, byte [ebp - 0x8e4]
mov dword [ebp - 0x91c], esi
mov dword [ebp - 0x8d8], 0xfffffff6
nop dword [eax]
mov al, byte [ebp + edx - 0x8e4]
lea edx, [edx + 1]
mov cl, bl
add ebx, 8
xor cl, byte [ebp - 0x8d8]
dec dword [ebp - 0x8d8]
xor cl, al
xor cl, 0x2e
mov byte [ebp + edx - 0x8e5], cl
cmp ebx, 0x2fd
jb 0x1000b340
mov ax, word [edi]
lea ecx, [ebp - 0x8e4]
mov byte [ebp - 0x8e2], 0
cmp ax, word [ecx]
je 0x1000b408
mov byte [ebp - 0x8e0], 0x78
or esi, 2
mov byte [ebp - 0x8df], 0x17
xor edx, edx
mov byte [ebp - 0x8de], 0x2f
mov ebx, 0x2e5
mov al, byte [ebp - 0x8e0]
mov dword [ebp - 0x91c], esi
mov dword [ebp - 0x8d8], 0xfffffff6
nop dword [eax]
mov al, byte [ebp + edx - 0x8e0]
lea edx, [edx + 1]
mov cl, bl
add ebx, 8
xor cl, byte [ebp - 0x8d8]
dec dword [ebp - 0x8d8]
xor cl, al
xor cl, 0x2e
mov byte [ebp + edx - 0x8e1], cl
cmp ebx, 0x2fd
jb 0x1000b3c0
mov ax, word [edi]
lea ecx, [ebp - 0x8e0]
mov byte [ebp - 0x8de], 0
cmp ax, word [ecx]
je 0x1000b408
xor cl, cl
jmp 0x1000b40a
mov cl, 1
mov edx, dword [ebp - 0x91c]
test dl, 2
je 0x1000b42e
and edx, 0xfffffffd
xor eax, eax
nop word [eax + eax]
mov byte [ebp + eax - 0x8e0], 0
inc eax
cmp eax, 3
jb 0x1000b420
and edx, 0xfffffffe
xor eax, eax
mov dword [ebp - 0x91c], edx
nop dword [eax]
mov byte [ebp + eax - 0x8e4], 0
inc eax
cmp eax, 3
jb 0x1000b440
test cl, cl
je 0x1000bb73
cmp byte [0x100539a4], 0
jne 0x1000b504
mov byte [ebp - 0x900], 0x4e
xor edx, edx
mov byte [ebp - 0x8ff], 0x55
mov ebx, 0x2e5
mov byte [ebp - 0x8fe], 0x40
mov byte [ebp - 0x8fd], 0x52
mov byte [ebp - 0x8fc], 0xbc
mov byte [ebp - 0x8fb], 0xd2
mov al, byte [ebp - 0x900]
mov dword [ebp - 0x8d8], 0xfffffff6
mov al, byte [ebp + edx - 0x900]
lea edx, [edx + 1]
mov cl, bl
add ebx, 8
xor cl, byte [ebp - 0x8d8]
dec dword [ebp - 0x8d8]
xor cl, al
xor cl, 0x2e
mov byte [ebp + edx - 0x901], cl
cmp ebx, 0x315
jb 0x1000b4a4
push 0x400
lea eax, [ebp - 0x900]
mov byte [ebp - 0x8fb], 0
push eax
push edi
call fcn.100263e0
add esp, 0xc
xor eax, eax
mov byte [ebp + eax - 0x900], 0
inc eax
cmp eax, 6
jb 0x1000b4f1
jmp 0x1000bc1e
push 0x1004b9d8
push edi
call fcn.10022860
lea ebx, [eax + 1]
mov esi, ebx
lea eax, [edi + 2]
sub esi, edi
mov dword [ebp - 0x938], eax
sub esi, 3
push esi
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.100230c0
add esp, 0x14
cmp esi, 0x28
jae 0x1000bc56
lea edx, [ebp - 0x50]
mov byte [ebp + esi - 0x50], 0
lea ecx, [ebp - 0x78]
call fcn.100010b0
push 8
mov edx, 0x1005399c
mov dword [ebp - 0x8d4], 0x67452301
lea ecx, [ebp - 0x8d4]
mov dword [ebp - 0x8d0], 0xefcdab89
mov dword [ebp - 0x8cc], 0x98badcfe
mov dword [ebp - 0x8c8], 0x10325476
mov dword [ebp - 0x8c4], 0xc3d2e1f0
mov dword [ebp - 0x8bc], 0
mov dword [ebp - 0x8c0], 0
call fcn.10017b70
mov ecx, ebx
add esp, 4
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000b5b0
sub ecx, edx
mov edx, ebx
push ecx
lea ecx, [ebp - 0x8d4]
call fcn.10017b70
push 0x400
mov edx, 0x1004b020
lea ecx, [ebp - 0x8d4]
call fcn.10017b70
add esp, 8
lea edx, [ebp - 0x8d4]
lea ecx, [ebp - 0x18]
call fcn.10017c20
lea ecx, [ebp - 0x78]
mov edx, 0x10
lea esi, [ebp - 0x18]
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1000bad1
add ecx, 4
add esi, 4
sub edx, 4
jae 0x1000b600
mov edx, ebx
lea ecx, [ebp - 0x478]
call fcn.100010b0
movzx ebx, byte [ebp - 0x478]
movzx edx, byte [ebp - 0x477]
mov dword [ebp - 0x8d8], eax
mov ebx, dword [ebx*4 + 0x1004ac20]
movzx ecx, bl
xor edx, ecx
shr ebx, 8
movzx ecx, byte [ebp - 0x476]
xor ebx, dword [edx*4 + 0x1004ac20]
movzx eax, bl
xor ecx, eax
shr ebx, 8
mov eax, dword [0x100524bc]
xor ebx, dword [ecx*4 + 0x1004ac20]
cmp byte [eax + 0x40], 0
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x92c], ebx
je 0x1000b67d
mov eax, dword [eax + 0x44]
add eax, ecx
jmp 0x1000b67f
mov eax, ecx
mov esi, dword [eax]
mov ecx, 0xfffffff6
mov byte [ebp - 0x8e8], 0x18
xor edx, edx
mov byte [ebp - 0x8e7], 0x5f
mov ebx, 0x2e5
mov byte [ebp - 0x8e6], 0x2f
mov al, byte [ebp - 0x8e8]
mov dword [ebp - 0x8f0], ecx
nop
mov al, byte [ebp + edx - 0x8e8]
lea edx, [edx + 1]
xor cl, al
xor cl, bl
add ebx, 8
xor cl, 0x2e
mov byte [ebp + edx - 0x8e9], cl
mov ecx, dword [ebp - 0x8f0]
dec ecx
mov dword [ebp - 0x8f0], ecx
cmp ebx, 0x2fd
jb 0x1000b6b0
mov ebx, dword [ebp - 0x92c]
lea eax, [ebp - 0x8e8]
push esi
push eax
lea eax, [ebp - 0x28]
mov byte [ebp - 0x8e6], 0
push eax
call fcn.10012700
add esp, 0xc
xor eax, eax
mov byte [ebp + eax - 0x8e8], 0
inc eax
cmp eax, 3
jb 0x1000b703
mov ah, byte [ebp - 0x28]
test ah, ah
je 0x1000b73d
lea edx, [ebp - 0x28]
nop dword [eax + eax]
movzx ecx, bl
lea edx, [edx + 1]
movzx eax, ah
xor ecx, eax
shr ebx, 8
mov al, byte [edx]
mov ah, al
xor ebx, dword [ecx*4 + 0x1004ac20]
test al, al
jne 0x1000b720
mov esi, 3
mov dword [ebp - 0x92c], ebx
cmp dword [ebp - 0x8d8], esi
jbe 0x1000b783
mov edi, dword [ebp - 0x8d8]
mov edx, ebx
movzx eax, bl
shr edx, 8
xor byte [ebp + esi - 0x478], dl
movzx ecx, byte [ebp + esi - 0x478]
inc esi
xor ecx, eax
mov ebx, dword [ecx*4 + 0x1004ac20]
xor ebx, edx
cmp esi, edi
jb 0x1000b756
mov edi, dword [ebp - 0x8ec]
mov al, byte [edi]
cmp al, 0x43
je 0x1000b88e
cmp al, 0x45
jne 0x1000b7f1
mov eax, dword [ebp - 0x475]
test eax, 0xffffc000
je 0x1000b7a9
and eax, 0x3fff
mov dword [ebp - 0x475], eax
mov eax, dword [ebp - 0x934]
lea ecx, [ebp - 0x469]
push dword [0x100539ac]
mov edx, 0x28
push 0x3f
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x469], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ebp - 0x459], xmm0
movq xmm0, qword [eax + 0x20]
movq qword [ebp - 0x449], xmm0
call fcn.10019670
add esp, 8
jmp 0x1000b88e
mov byte [ebp - 0x908], 0x4e
xor edx, edx
mov byte [ebp - 0x907], 0x55
mov ebx, 0x2e5
mov byte [ebp - 0x906], 0x40
mov byte [ebp - 0x905], 0x52
mov byte [ebp - 0x904], 0xbc
mov byte [ebp - 0x903], 0xd2
mov al, byte [ebp - 0x908]
mov dword [ebp - 0x8f0], 0xfffffff6
mov al, byte [ebp + edx - 0x908]
lea edx, [edx + 1]
mov cl, bl
add ebx, 8
xor cl, byte [ebp - 0x8f0]
dec dword [ebp - 0x8f0]
xor cl, al
xor cl, 0x2e
mov byte [ebp + edx - 0x909], cl
cmp ebx, 0x315
jb 0x1000b832
push 0x400
lea eax, [ebp - 0x908]
mov byte [ebp - 0x903], 0
push eax
push edi
call fcn.100263e0
add esp, 0xc
xor eax, eax
nop
mov byte [ebp + eax - 0x908], 0
inc eax
cmp eax, 6
jb 0x1000b880
mov eax, dword [ebp - 0x8d8]
mov esi, 3
cmp eax, esi
jbe 0x1000b8e8
mov eax, dword [ebp - 0x92c]
mov edi, dword [ebp - 0x8d8]
nop dword [eax]
mov cl, byte [ebp + esi - 0x478]
mov edx, eax
mov bl, al
shr edx, 8
mov al, dl
xor bl, cl
xor al, cl
mov byte [ebp + esi - 0x478], al
inc esi
movzx eax, bl
mov eax, dword [eax*4 + 0x1004ac20]
xor eax, edx
cmp esi, edi
jb 0x1000b8b0
mov edi, dword [ebp - 0x8ec]
mov eax, dword [ebp - 0x8d8]
push eax
lea edx, [ebp - 0x478]
lea ecx, [ebp - 0x878]
call fcn.100011f0
push 8
mov edx, 0x1005399c
mov dword [ebp - 0x8d4], 0x67452301
lea ecx, [ebp - 0x8d4]
mov dword [ebp - 0x8d0], 0xefcdab89
mov esi, eax
mov dword [ebp - 0x8cc], 0x98badcfe
mov dword [ebp - 0x8c8], 0x10325476
mov dword [ebp - 0x8c4], 0xc3d2e1f0
mov dword [ebp - 0x8bc], 0
mov dword [ebp - 0x8c0], 0
call fcn.10017b70
lea eax, [esi - 1]
push eax
lea edx, [ebp - 0x878]
lea ecx, [ebp - 0x8d4]
call fcn.10017b70
push 0x400
mov edx, 0x1004b020
lea ecx, [ebp - 0x8d4]
call fcn.10017b70
lea edx, [ebp - 0x8d4]
lea ecx, [ebp - 0x18]
call fcn.10017c20
mov al, byte [ebp - 0x18]
lea edx, [ebp - 0x18]
xor byte [0x1005399c], al
lea ecx, [ebp - 0x50]
mov al, byte [ebp - 0x17]
xor byte [0x1005399d], al
mov al, byte [ebp - 0x16]
xor byte [0x1005399e], al
mov al, byte [ebp - 0x15]
xor byte [0x1005399f], al
mov al, byte [ebp - 0x14]
xor byte [0x100539a0], al
mov al, byte [ebp - 0x13]
xor byte [0x100539a1], al
mov al, byte [ebp - 0x12]
xor byte [0x100539a2], al
mov al, byte [ebp - 0x11]
xor byte [0x100539a3], al
push 0x14
call fcn.100011f0
mov edx, dword [ebp - 0x938]
lea ecx, [ebp - 0x50]
mov eax, ecx
add esp, 0x14
sub edx, eax
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x1000b9f1
mov byte [ebp - 0x8dc], 0x1d
xor edx, edx
mov byte [ebp - 0x8db], 0x36
mov ebx, 0x2e5
mov al, byte [ebp - 0x8dc]
mov dword [ebp - 0x8f0], 0xfffffff6
mov al, byte [ebp + edx - 0x8dc]
lea edx, [edx + 1]
mov cl, bl
add ebx, 8
xor cl, byte [ebp - 0x8f0]
dec dword [ebp - 0x8f0]
xor cl, al
xor cl, 0x2e
mov byte [ebp + edx - 0x8dd], cl
cmp ebx, 0x2f5
jb 0x1000ba23
lea edx, [ebp - 0x8dc]
mov byte [ebp - 0x8db], 0
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x1000ba61
sub edx, esi
dec edi
nop dword [eax + eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x1000ba70
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
xor eax, eax
rep movsb byte es:[edi], byte [esi]
nop dword [eax + eax]
mov byte [ebp + eax - 0x8dc], 0
inc eax
cmp eax, 2
jb 0x1000ba90
lea edx, [ebp - 0x878]
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x1000baa6
mov edi, dword [ebp - 0x8ec]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x1000bab6
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x1000bc1e
mov byte [ebp - 0x910], 0x4e
xor edx, edx
mov byte [ebp - 0x90f], 0x55
mov ebx, 0x2e5
mov byte [ebp - 0x90e], 0x40
mov byte [ebp - 0x90d], 0x52
mov byte [ebp - 0x90c], 0xbc
mov byte [ebp - 0x90b], 0xd2
mov al, byte [ebp - 0x910]
mov dword [ebp - 0x8ec], 0xfffffff6
mov al, byte [ebp + edx - 0x910]
lea edx, [edx + 1]
mov cl, bl
add ebx, 8
xor cl, byte [ebp - 0x8ec]
dec dword [ebp - 0x8ec]
xor cl, al
xor cl, 0x2e
mov byte [ebp + edx - 0x911], cl
cmp ebx, 0x315
jb 0x1000bb12
push 0x400
lea eax, [ebp - 0x910]
mov byte [ebp - 0x90b], 0
push eax
push edi
call fcn.100263e0
add esp, 0xc
xor eax, eax
nop
mov byte [ebp + eax - 0x910], 0
inc eax
cmp eax, 6
jb 0x1000bb60
jmp 0x1000bc1e
mov byte [ebp - 0x928], 0x48
xor edx, edx
mov byte [ebp - 0x927], 0x45
mov ebx, 0x2e5
mov byte [ebp - 0x926], 0x4a
mov byte [ebp - 0x925], 0x52
mov byte [ebp - 0x924], 0xb0
mov byte [ebp - 0x923], 0xbc
mov byte [ebp - 0x922], 0xad
mov byte [ebp - 0x921], 0xb3
mov byte [ebp - 0x920], 0xc5
mov byte [ebp - 0x91f], 0xee
mov al, byte [ebp - 0x928]
mov dword [ebp - 0x8ec], 0xfffffff6
mov al, byte [ebp + edx - 0x928]
lea edx, [edx + 1]
mov cl, bl
add ebx, 8
xor cl, byte [ebp - 0x8ec]
dec dword [ebp - 0x8ec]
xor cl, al
xor cl, 0x2e
mov byte [ebp + edx - 0x929], cl
cmp ebx, 0x335
jb 0x1000bbd0
mov byte [ebp - 0x91f], 0
xor eax, eax
nop dword [eax + eax]
mov byte [ebp + eax - 0x928], 0
inc eax
cmp eax, 0xa
jb 0x1000bc10
mov edx, dword [ebp - 0x930]
mov ebx, dword [ebp - 0x93c]
inc edx
mov dword [ebp - 0x930], edx
cmp edx, ebx
jg 0x1000bc3f
mov eax, dword [0x100524bc]
jmp 0x1000b174
pop edi
mov dword [0x100539a8], ebx
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.1002078c
mov esp, ebp
pop ebp
ret
call fcn.10020e2c
int3