Function at 0x10021717
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x388
push ebx
push esi
movzx eax, dx
mov esi, ecx
mov dword [esp + 0x38c], esi
cmp eax, 0x5e
ja case.0x10020b6a.3
movzx eax, byte [eax + 0x100223e0]
jmp dword [eax*4 + 0x100222f4]
mov byte [esp + 0x1c], 0x37
mov al, 0x76
xor al, byte [esp + 0x1c]
mov cl, 0x5b
mov byte [esp + 0x1d], al
mov dl, cl
mov al, byte [esp + 0x1c]
mov ah, 0x6d
xor cl, al
mov byte [esp + 0xe], 0x44
xor dl, al
mov byte [esp + 0x1e], cl
xor ah, al
mov byte [esp + 0x26], 0
mov ch, 0x58
mov byte [esp + 0x21], ah
xor ch, al
mov byte [esp + 0x1f], dl
mov dh, 0x59
mov byte [esp + 0x22], ch
xor dh, al
mov byte [esp + 0x26], 0
mov bl, 0x17
mov byte [esp + 0x23], dh
xor bl, al
mov bh, 0x52
xor bh, al
mov byte [esp + 0x20], bl
mov al, byte [esp + 0xe]
mov ecx, esi
xor al, byte [esp + 0x1c]
mov byte [esp + 0x25], al
lea eax, [esp + 0x1d]
push eax
mov byte [esp + 0x28], bh
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x1007c4d0]
xor ecx, ecx
movups xmmword [esp + 0x294], xmm0
mov byte [esp + 0x2a4], 0
nop dword [eax]
nop dword [eax + eax]
mov al, byte [esp + 0x294]
xor byte [esp + ecx + 0x295], al
inc ecx
cmp ecx, 0xf
jb 0x10020c10
lea eax, [esp + 0x295]
mov byte [esp + 0x2a4], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x1007c650]
xor ecx, ecx
movups xmmword [esp + 0x2a8], xmm0
mov byte [esp + 0x2b8], 0
nop dword [eax]
mov al, byte [esp + 0x2a8]
xor byte [esp + ecx + 0x2a9], al
inc ecx
cmp ecx, 0xf
jb 0x10020c60
lea eax, [esp + 0x2a9]
mov byte [esp + 0x2b8], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x1007c5d0]
xor ecx, ecx
movups xmmword [esp + 0x334], xmm0
mov byte [esp + 0x344], 0
nop dword [eax]
mov al, byte [esp + 0x334]
xor byte [esp + ecx + 0x335], al
inc ecx
cmp ecx, 0xf
jb 0x10020cb0
lea eax, [esp + 0x335]
mov byte [esp + 0x344], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [str.E_t0_76e]
xor ecx, ecx
movups xmmword [esp + 0x2bc], xmm0
mov byte [esp + 0x2cc], 0
nop dword [eax]
mov al, byte [esp + 0x2bc]
xor byte [esp + ecx + 0x2bd], al
inc ecx
cmp ecx, 0xf
jb 0x10020d00
lea eax, [esp + 0x2bd]
mov byte [esp + 0x2cc], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x1007c200]
xor ecx, ecx
movups xmmword [esp + 0x2d0], xmm0
mov byte [esp + 0x2e0], 0
nop dword [eax]
mov al, byte [esp + 0x2d0]
xor byte [esp + ecx + 0x2d1], al
inc ecx
cmp ecx, 0xf
jb 0x10020d50
lea eax, [esp + 0x2d1]
mov byte [esp + 0x2e0], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x1007c310]
xor ecx, ecx
movups xmmword [esp + 0x2e4], xmm0
mov byte [esp + 0x2f4], 0
nop dword [eax]
mov al, byte [esp + 0x2e4]
xor byte [esp + ecx + 0x2e5], al
inc ecx
cmp ecx, 0xf
jb 0x10020da0
lea eax, [esp + 0x2e5]
mov byte [esp + 0x2f4], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 0x10
mov byte [esp + 0x157], 0
mov al, 0x55
mov byte [esp + 0x150], dh
mov ah, 0x7e
mov byte [esp + 0x157], 0
xor al, dh
xor ah, dh
mov cl, 0x63
mov byte [esp + 0x151], al
mov ch, 0x64
mov byte [esp + 0x155], ah
xor cl, dh
lea eax, [esp + 0x151]
xor ch, dh
mov byte [esp + 0x152], cl
mov dl, 0x7c
mov byte [esp + 0x156], ch
mov bl, 0x71
xor dl, dh
xor bl, dh
mov byte [esp + 0x153], dl
push eax
mov ecx, esi
mov byte [esp + 0x158], bl
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 0x31
mov byte [esp + 0x15f], 0
mov al, 0x74
mov byte [esp + 0x158], dh
mov ah, 0x5f
mov byte [esp + 0x15f], 0
xor al, dh
xor ah, dh
mov cl, 0x42
mov byte [esp + 0x159], al
mov ch, 0x45
mov byte [esp + 0x15d], ah
xor cl, dh
lea eax, [esp + 0x159]
xor ch, dh
mov byte [esp + 0x15a], cl
mov dl, 0x5d
mov byte [esp + 0x15e], ch
mov bl, 0x50
xor dl, dh
xor bl, dh
mov byte [esp + 0x15b], dl
push eax
mov ecx, esi
mov byte [esp + 0x160], bl
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 0x3e
mov byte [esp + 0x18f], 0
mov al, 0x7b
mov byte [esp + 0x188], dh
mov ah, 0x50
mov byte [esp + 0x18f], 0
xor al, dh
xor ah, dh
mov cl, 0x4d
mov byte [esp + 0x189], al
mov ch, 0x4a
mov byte [esp + 0x18d], ah
xor cl, dh
lea eax, [esp + 0x189]
xor ch, dh
mov byte [esp + 0x18a], cl
mov dl, 0x52
mov byte [esp + 0x18e], ch
mov bl, 0x5f
xor dl, dh
xor bl, dh
mov byte [esp + 0x18b], dl
push eax
mov ecx, esi
mov byte [esp + 0x190], bl
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 0x70
mov byte [esp + 0x167], 0
mov al, 0x35
mov byte [esp + 0x160], dh
mov ah, 0x1e
mov byte [esp + 0x167], 0
xor al, dh
xor ah, dh
mov cl, 3
mov byte [esp + 0x161], al
mov ch, 4
mov byte [esp + 0x165], ah
xor cl, dh
lea eax, [esp + 0x161]
xor ch, dh
mov byte [esp + 0x162], cl
mov dl, 0x1c
mov byte [esp + 0x166], ch
mov bl, 0x11
xor dl, dh
xor bl, dh
mov byte [esp + 0x163], dl
push eax
mov ecx, esi
mov byte [esp + 0x168], bl
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 0x5e
mov byte [esp + 0x16f], 0
mov al, 0x1b
mov byte [esp + 0x168], dh
mov ah, 0x30
mov byte [esp + 0x16f], 0
xor al, dh
xor ah, dh
mov cl, 0x2d
mov byte [esp + 0x169], al
mov ch, 0x2a
mov byte [esp + 0x16d], ah
xor cl, dh
lea eax, [esp + 0x169]
xor ch, dh
mov byte [esp + 0x16a], cl
mov dl, 0x32
mov byte [esp + 0x16e], ch
mov bl, 0x3f
xor dl, dh
xor bl, dh
mov byte [esp + 0x16b], dl
push eax
mov ecx, esi
mov byte [esp + 0x170], bl
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 0x66
mov byte [esp + 0x177], 0
mov al, 0x23
mov byte [esp + 0x170], dh
mov ah, 8
mov byte [esp + 0x177], 0
xor al, dh
xor ah, dh
mov cl, 0x15
mov byte [esp + 0x171], al
mov ch, 0x12
mov byte [esp + 0x175], ah
xor cl, dh
lea eax, [esp + 0x171]
xor ch, dh
mov byte [esp + 0x172], cl
mov dl, 0xa
mov byte [esp + 0x176], ch
mov bl, 7
xor dl, dh
xor bl, dh
mov byte [esp + 0x173], dl
push eax
mov ecx, esi
mov byte [esp + 0x178], bl
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esp + 0x28], 0xa
mov al, 0x45
xor al, byte [esp + 0x28]
mov cl, 0x66
mov byte [esp + 0x29], al
mov dl, 0x6e
mov al, byte [esp + 0x28]
mov ah, 0x41
xor cl, al
mov byte [esp + 0xe], 0x79
xor dl, al
mov byte [esp + 0x2a], cl
xor ah, al
mov byte [esp + 0x32], 0
mov ch, 0x6b
mov byte [esp + 0x2d], ah
xor ch, al
mov byte [esp + 0x2b], dl
mov dh, 0x78
mov byte [esp + 0x2e], ch
xor dh, al
mov byte [esp + 0x32], 0
mov bl, 0x2a
mov byte [esp + 0x2f], dh
xor bl, al
mov bh, 0x7f
xor bh, al
mov byte [esp + 0x2c], bl
mov al, byte [esp + 0xe]
mov ecx, esi
xor al, byte [esp + 0x28]
mov byte [esp + 0x31], al
lea eax, [esp + 0x29]
push eax
mov byte [esp + 0x34], bh
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov bh, 0x3b
mov byte [esp + 0x1ec], 0
mov cl, 0x54
mov byte [esp + 0x1e4], bh
mov al, 0x76
mov byte [esp + 0x1ec], 0
mov ah, 0x5f
mov ch, cl
xor al, bh
xor ah, bh
xor cl, bh
mov byte [esp + 0x1e5], al
xor ch, bh
mov byte [esp + 0x1e9], ah
mov dl, 0x49
mov byte [esp + 0x1e6], cl
mov dh, 0x55
mov byte [esp + 0x1ea], ch
mov bl, 0x5a
lea eax, [esp + 0x1e5]
xor dl, bh
xor bl, bh
xor dh, bh
mov byte [esp + 0x1e7], dl
push eax
mov ecx, esi
mov byte [esp + 0x1ec], bl
mov byte [esp + 0x1ef], dh
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov bh, 0x4b
mov byte [esp + 0x1e0], 0
mov cl, 0x24
mov byte [esp + 0x1d8], bh
mov al, 6
mov byte [esp + 0x1e0], 0
mov ah, 0x2f
mov ch, cl
xor al, bh
xor ah, bh
xor cl, bh
mov byte [esp + 0x1d9], al
xor ch, bh
mov byte [esp + 0x1dd], ah
mov dl, 0x39
mov byte [esp + 0x1da], cl
mov dh, 0x25
mov byte [esp + 0x1de], ch
mov bl, 0x2a
lea eax, [esp + 0x1d9]
xor dl, bh
xor bl, bh
xor dh, bh
mov byte [esp + 0x1db], dl
push eax
mov ecx, esi
mov byte [esp + 0x1e0], bl
mov byte [esp + 0x1e3], dh
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov bh, 0x69
mov byte [esp + 0x1d4], 0
mov cl, 6
mov byte [esp + 0x1cc], bh
mov al, 0x24
mov byte [esp + 0x1d4], 0
mov ah, 0xd
mov ch, cl
xor al, bh
xor ah, bh
xor cl, bh
mov byte [esp + 0x1cd], al
xor ch, bh
mov byte [esp + 0x1d1], ah
mov dl, 0x1b
mov byte [esp + 0x1ce], cl
mov dh, 7
mov byte [esp + 0x1d2], ch
mov bl, 8
lea eax, [esp + 0x1cd]
xor dl, bh
xor bl, bh
xor dh, bh
mov byte [esp + 0x1cf], dl
push eax
mov ecx, esi
mov byte [esp + 0x1d4], bl
mov byte [esp + 0x1d7], dh
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov bh, 0x27
mov byte [esp + 0x1c8], 0
mov cl, 0x48
mov byte [esp + 0x1c0], bh
mov al, 0x6a
mov byte [esp + 0x1c8], 0
mov ah, 0x43
mov ch, cl
xor al, bh
xor ah, bh
xor cl, bh
mov byte [esp + 0x1c1], al
xor ch, bh
mov byte [esp + 0x1c5], ah
mov dl, 0x55
mov byte [esp + 0x1c2], cl
mov dh, 0x49
mov byte [esp + 0x1c6], ch
mov bl, 0x46
lea eax, [esp + 0x1c1]
xor dl, bh
xor bl, bh
xor dh, bh
mov byte [esp + 0x1c3], dl
push eax
mov ecx, esi
mov byte [esp + 0x1c8], bl
mov byte [esp + 0x1cb], dh
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov bh, 0x5f
mov byte [esp + 0x1bc], 0
mov cl, 0x30
mov byte [esp + 0x1b4], bh
mov al, 0x12
mov byte [esp + 0x1bc], 0
mov ah, 0x3b
mov ch, cl
xor al, bh
xor ah, bh
xor cl, bh
mov byte [esp + 0x1b5], al
xor ch, bh
mov byte [esp + 0x1b9], ah
mov dl, 0x2d
mov byte [esp + 0x1b6], cl
mov dh, 0x31
mov byte [esp + 0x1ba], ch
mov bl, 0x3e
lea eax, [esp + 0x1b5]
xor dl, bh
xor bl, bh
xor dh, bh
mov byte [esp + 0x1b7], dl
push eax
mov ecx, esi
mov byte [esp + 0x1bc], bl
mov byte [esp + 0x1bf], dh
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esp + 0x10], 0x70
mov al, 0x3f
xor al, byte [esp + 0x10]
mov cl, 0x1c
mov byte [esp + 0x11], al
mov dl, 0x14
mov al, byte [esp + 0x10]
mov ah, 0x38
xor cl, al
mov byte [esp + 0xe], 0x1e
xor dl, al
mov byte [esp + 0x12], cl
xor ah, al
mov byte [esp + 0x1a], 0
mov ch, 5
mov byte [esp + 0x15], ah
xor ch, al
mov byte [esp + 0x13], dl
mov dh, 0x1d
mov byte [esp + 0x16], ch
xor dh, al
mov byte [esp + 0x1a], 0
mov bl, 0x50
mov byte [esp + 0x17], dh
xor bl, al
mov bh, 0x11
xor bh, al
mov byte [esp + 0x14], bl
mov al, byte [esp + 0xe]
mov ecx, esi
xor al, byte [esp + 0x10]
mov byte [esp + 0x19], al
lea eax, [esp + 0x11]
push eax
mov byte [esp + 0x1c], bh
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x50
mov dword [esp + 0x58], 0x343c1f50
mov dword [esp + 0x5c], 0x223f1d70
xor eax, eax
mov dword [esp + 0x60], 0x3e3f3431
mov byte [esp + 0x64], 0
xor byte [esp + eax + 0x59], cl
inc eax
cmp eax, 0xb
jae 0x10021415
mov cl, byte [esp + 0x58]
jmp 0x10021405
lea eax, [esp + 0x59]
mov byte [esp + 0x64], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ch, 0x38
mov byte [esp + 0x14e], 0
mov al, 0x7c
mov byte [esp + 0x148], ch
mov ah, 0x4b
mov byte [esp + 0x14e], 0
xor al, ch
xor ah, ch
mov cl, 0x5d
mov byte [esp + 0x149], al
xor cl, ch
mov byte [esp + 0x14d], ah
mov dl, 0x54
mov byte [esp + 0x14a], cl
mov bl, 0x57
lea eax, [esp + 0x149]
xor dl, ch
xor bl, ch
push eax
mov ecx, esi
mov byte [esp + 0x14f], dl
mov byte [esp + 0x150], bl
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov bh, 0x26
mov byte [esp + 0x1b0], 0
mov al, 0x64
mov byte [esp + 0x1a8], bh
mov ah, 0x49
mov byte [esp + 0x1b0], 0
xor al, bh
xor ah, bh
mov cl, 0x4f
mov byte [esp + 0x1a9], al
mov ch, 0x55
mov byte [esp + 0x1ad], ah
xor cl, bh
lea eax, [esp + 0x1a9]
xor ch, bh
mov byte [esp + 0x1aa], cl
mov dl, 0x40
mov byte [esp + 0x1ae], ch
mov dh, 0x52
mov bl, 0x54
xor dl, bh
xor bl, bh
xor dh, bh
mov byte [esp + 0x1ab], dl
push eax
mov ecx, esi
mov byte [esp + 0x1b0], bl
mov byte [esp + 0x1b3], dh
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x1007c460]
xor ecx, ecx
movups xmmword [esp + 0x230], xmm0
mov word [esp + 0x240], 0x5a5a
mov byte [esp + 0x242], 0
nop word [eax + eax]
mov al, byte [esp + 0x230]
xor byte [esp + ecx + 0x231], al
inc ecx
cmp ecx, 0x11
jb 0x10021540
lea eax, [esp + 0x231]
mov byte [esp + 0x242], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esp + 0x34], 0x75
mov al, 0x3d
xor al, byte [esp + 0x34]
mov cl, 0x10
xor cl, byte [esp + 0x34]
mov ah, 0x55
mov byte [esp + 0x35], al
mov dl, 0x19
mov byte [esp + 0x36], cl
mov ch, 0x34
mov cl, byte [esp + 0x34]
mov bl, dl
mov byte [esp + 0xe], 6
xor ah, cl
mov al, byte [esp + 0xe]
xor ch, cl
xor al, cl
mov byte [esp + 0xf], 6
mov byte [esp + 0x3d], al
mov dh, 0x17
mov al, byte [esp + 0xf]
mov bh, 0xc
xor al, cl
mov byte [esp + 0x39], ah
mov byte [esp + 0x3e], al
xor dl, cl
xor bl, cl
mov byte [esp + 0x3a], ch
xor dh, cl
mov byte [esp + 0x3f], 0
xor bh, cl
mov byte [esp + 0x37], dl
lea eax, [esp + 0x35]
mov byte [esp + 0x38], bl
push eax
mov ecx, esi
mov byte [esp + 0x3f], dh
mov byte [esp + 0x40], bh
mov byte [esp + 0x43], 0
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 7
mov dword [esp + 0x138], 0x6b624107
mov dword [esp + 0x13c], 0x686c6966
xor eax, eax
mov dword [esp + 0x140], 0x664b2775
mov word [esp + 0x144], 0x756e
mov byte [esp + 0x146], 0
xor byte [esp + eax + 0x139], cl
inc eax
cmp eax, 0xd
jae 0x10021649
mov cl, byte [esp + 0x138]
jmp 0x10021633
lea eax, [esp + 0x139]
mov byte [esp + 0x146], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [str._rIhab_Olh_hcy]
xor ecx, ecx
movups xmmword [esp + 0x348], xmm0
nop dword [eax]
mov al, byte [esp + 0x348]
xor byte [esp + ecx + 0x349], al
inc ecx
cmp ecx, 0xe
jb 0x10021680
lea eax, [esp + 0x349]
mov byte [esp + 0x357], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x1c
mov dword [esp + 0x98], 0x687d5e1c
mov dword [esp + 0x9c], 0x3c797068
xor eax, eax
mov dword [esp + 0xa0], 0x72796e5d
mov word [esp + 0xa4], 0x7d
xor byte [esp + eax + 0x99], cl
inc eax
cmp eax, 0xc
jae 0x100216f8
mov cl, byte [esp + 0x98]
jmp 0x100216e2
lea eax, [esp + 0x99]
mov byte [esp + 0xa5], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x1007c060]
xor ecx, ecx
movups xmmword [esp + 0x208], xmm0
mov dword [esp + 0x218], 0x171006
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x208]
xor byte [esp + ecx + 0x209], al
inc ecx
cmp ecx, 0x12
jb 0x10021740
lea eax, [esp + 0x209]
mov byte [esp + 0x21b], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x1007c570]
xor ecx, ecx
movups xmmword [esp + 0x2f8], xmm0
mov byte [esp + 0x308], 0
nop dword [eax]
mov al, byte [esp + 0x2f8]
xor byte [esp + ecx + 0x2f9], al
inc ecx
cmp ecx, 0xf
jb 0x10021790
lea eax, [esp + 0x2f9]
mov byte [esp + 0x308], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x18
mov dword [esp + 0xb8], 0x7a775f18
mov dword [esp + 0xbc], 0x38767174
xor eax, eax
mov dword [esp + 0xc0], 0x6b7d6d49
mov word [esp + 0xc4], 0x6c
xor byte [esp + eax + 0xb9], cl
inc eax
cmp eax, 0xc
jae 0x10021808
mov cl, byte [esp + 0xb8]
jmp 0x100217f2
lea eax, [esp + 0xb9]
mov byte [esp + 0xc5], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esp + 0x40], 0x3d
mov al, 0x7e
xor al, byte [esp + 0x40]
mov cl, 0x5c
xor cl, byte [esp + 0x40]
mov ah, 0x1d
mov byte [esp + 0x41], al
mov bl, 0x58
mov byte [esp + 0x42], cl
mov ch, 0x6c
mov cl, byte [esp + 0x40]
mov dl, 0x4d
mov byte [esp + 0xf], 0x4e
xor ah, cl
mov al, byte [esp + 0xf]
xor ch, cl
xor al, cl
mov byte [esp + 0xe], 0x49
mov byte [esp + 0x49], al
mov dh, 0x48
mov al, byte [esp + 0xe]
mov bh, bl
xor al, cl
mov byte [esp + 0x45], ah
mov byte [esp + 0x4a], al
xor dl, cl
xor bl, cl
mov byte [esp + 0x46], ch
xor dh, cl
mov byte [esp + 0x4b], 0
xor bh, cl
mov byte [esp + 0x43], dl
lea eax, [esp + 0x41]
mov byte [esp + 0x44], bl
push eax
mov ecx, esi
mov byte [esp + 0x4b], dh
mov byte [esp + 0x4c], bh
mov byte [esp + 0x4f], 0
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x1007c1c0]
xor ecx, ecx
movups xmmword [esp + 0x244], xmm0
mov word [esp + 0x254], 0x26
nop dword [eax + eax]
mov al, byte [esp + 0x244]
xor byte [esp + ecx + 0x245], al
inc ecx
cmp ecx, 0x10
jb 0x100218d0
lea eax, [esp + 0x245]
mov byte [esp + 0x255], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x18
mov dword [esp + 0xa8], 0x68795618
mov dword [esp + 0xac], 0x386b7d71
xor eax, eax
mov dword [esp + 0xb0], 0x7f6a775f
mov word [esp + 0xb4], 0x7d
xor byte [esp + eax + 0xa9], cl
inc eax
cmp eax, 0xc
jae 0x10021948
mov cl, byte [esp + 0xa8]
jmp 0x10021932
lea eax, [esp + 0xa9]
mov byte [esp + 0xb5], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x1007c720]
xor ecx, ecx
movups xmmword [esp + 0x30c], xmm0
mov byte [esp + 0x31c], 0
mov al, byte [esp + 0x30c]
xor byte [esp + ecx + 0x30d], al
inc ecx
cmp ecx, 0xf
jb 0x10021980
lea eax, [esp + 0x30d]
mov byte [esp + 0x31c], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x1007bd40]
xor ecx, ecx
movups xmmword [esp + 0x358], xmm0
nop dword [eax]
nop dword [eax + eax]
mov al, byte [esp + 0x358]
xor byte [esp + ecx + 0x359], al
inc ecx
cmp ecx, 0xe
jb 0x100219d0
lea eax, [esp + 0x359]
mov byte [esp + 0x367], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x1007bda0]
xor ecx, ecx
movups xmmword [esp + 0x368], xmm0
nop dword [eax]
nop dword [eax + eax]
mov al, byte [esp + 0x368]
xor byte [esp + ecx + 0x369], al
inc ecx
cmp ecx, 0xe
jb 0x10021a20
lea eax, [esp + 0x369]
mov byte [esp + 0x377], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x56
mov dword [esp + 0x68], 0x24391b56
mov dword [esp + 0x6c], 0x38393237
xor eax, eax
mov dword [esp + 0x70], 0x24370176
mov byte [esp + 0x74], 0
xor byte [esp + eax + 0x69], cl
inc eax
cmp eax, 0xb
jae 0x10021a84
mov cl, byte [esp + 0x68]
jmp 0x10021a74
lea eax, [esp + 0x69]
mov byte [esp + 0x74], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 4
mov byte [esp + 0x17f], 0
mov al, 0x4b
mov byte [esp + 0x178], dh
mov ah, 0x60
mov byte [esp + 0x17f], 0
xor al, dh
xor ah, dh
mov cl, 0x76
mov byte [esp + 0x179], al
mov ch, 0x77
mov byte [esp + 0x17d], ah
xor cl, dh
lea eax, [esp + 0x179]
xor ch, dh
mov byte [esp + 0x17a], cl
mov dl, 0x61
mov byte [esp + 0x17e], ch
mov bl, 0x65
xor dl, dh
xor bl, dh
mov byte [esp + 0x17b], dl
push eax
mov ecx, esi
mov byte [esp + 0x180], bl
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esp + 0x4c], 0x7e
mov al, 0x2d
xor al, byte [esp + 0x4c]
mov ah, 0x5e
mov byte [esp + 0x4d], al
mov cl, 0x10
mov al, byte [esp + 0x4c]
mov dl, 0x11
xor ah, al
mov byte [esp + 0x55], 0
mov ch, 0x29
mov byte [esp + 0x51], ah
mov dh, 0x1f
mov byte [esp + 0x55], 0
xor cl, al
xor ch, al
mov bl, 9
mov byte [esp + 0x4e], cl
mov bh, 0xc
mov byte [esp + 0x52], ch
xor dl, al
xor bl, al
xor dh, al
mov byte [esp + 0x4f], dl
xor bh, al
mov byte [esp + 0x50], bl
lea eax, [esp + 0x4d]
mov byte [esp + 0x53], dh
push eax
mov ecx, esi
mov byte [esp + 0x58], bh
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x6d
mov dword [esp + 0x78], 0x1022e6d
mov dword [esp + 0x7c], 0x4d140302
xor eax, eax
mov dword [esp + 0x80], 0x8030237
mov byte [esp + 0x84], 0
nop
xor byte [esp + eax + 0x79], cl
inc eax
cmp eax, 0xb
jae 0x10021bb0
mov cl, byte [esp + 0x78]
jmp 0x10021ba0
lea eax, [esp + 0x79]
mov byte [esp + 0x84], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov bh, 0x7a
mov byte [esp + 0x1a4], 0
mov al, 0x3b
mov byte [esp + 0x19c], bh
mov cl, 8
mov byte [esp + 0x1a4], 0
mov ah, 0x1f
mov bl, cl
xor al, bh
xor ah, bh
mov ch, 0x1b
mov byte [esp + 0x19d], al
xor cl, bh
mov byte [esp + 0x1a1], ah
xor ch, bh
mov byte [esp + 0x19e], cl
mov dl, 0x1e
mov byte [esp + 0x1a2], ch
mov dh, 0x17
lea eax, [esp + 0x19d]
xor dl, bh
xor bl, bh
xor dh, bh
mov byte [esp + 0x19f], dl
push eax
mov ecx, esi
mov byte [esp + 0x1a4], bl
mov byte [esp + 0x1a7], dh
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [str.d6_v_n]
xor ecx, ecx
movups xmmword [esp + 0x258], xmm0
mov word [esp + 0x268], 1
nop dword [eax]
nop dword [eax + eax]
mov al, byte [esp + 0x258]
xor byte [esp + ecx + 0x259], al
inc ecx
cmp ecx, 0x10
jb 0x10021c70
lea eax, [esp + 0x259]
mov byte [esp + 0x269], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x44
mov dword [esp + 0x128], 0x2b360f44
mov dword [esp + 0x12c], 0x643e2533
xor eax, eax
mov dword [esp + 0x130], 0x2d292b00
mov word [esp + 0x134], 0x2a2b
mov byte [esp + 0x136], 0
nop word [eax + eax]
xor byte [esp + eax + 0x129], cl
inc eax
cmp eax, 0xd
jae 0x10021cf6
mov cl, byte [esp + 0x128]
jmp 0x10021ce0
lea eax, [esp + 0x129]
mov byte [esp + 0x136], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x3f
mov dword [esp + 0x118], 0x5651743f
mov dword [esp + 0x11c], 0x1f4b5758
xor eax, eax
mov dword [esp + 0x120], 0x5e46506d
mov word [esp + 0x124], 0x5a53
mov byte [esp + 0x126], 0
nop dword [eax]
xor byte [esp + eax + 0x119], cl
inc eax
cmp eax, 0xd
jae 0x10021d66
mov cl, byte [esp + 0x118]
jmp 0x10021d50
lea eax, [esp + 0x119]
mov byte [esp + 0x126], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x1007c480]
xor ecx, ecx
movups xmmword [esp + 0x26c], xmm0
mov word [esp + 0x27c], 0x5c
mov al, byte [esp + 0x26c]
xor byte [esp + ecx + 0x26d], al
inc ecx
cmp ecx, 0x10
jb 0x10021da0
lea eax, [esp + 0x26d]
mov byte [esp + 0x27d], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x1007c110]
xor ecx, ecx
movups xmmword [esp + 0x1f0], xmm0
mov dword [esp + 0x200], 0x27280569
mov word [esp + 0x204], 0x2d
nop dword [eax]
mov al, byte [esp + 0x1f0]
xor byte [esp + ecx + 0x1f1], al
inc ecx
cmp ecx, 0x14
jb 0x10021e00
lea eax, [esp + 0x1f1]
mov byte [esp + 0x205], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x6f
mov dword [esp + 0x108], 0x100226f
mov dword [esp + 0x10c], 0x1d0a1b1c
xor eax, eax
mov dword [esp + 0x110], 0x1b3c4f
mov word [esp + 0x114], 0xa01
mov byte [esp + 0x116], 0
nop word [eax + eax]
xor byte [esp + eax + 0x109], cl
inc eax
cmp eax, 0xd
jae 0x10021e86
mov cl, byte [esp + 0x108]
jmp 0x10021e70
lea eax, [esp + 0x109]
mov byte [esp + 0x116], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x32
mov dword [esp + 0xf8], 0x5c5d7f32
mov dword [esp + 0xfc], 0x40574641
xor eax, eax
mov dword [esp + 0x100], 0x5d466112
mov word [esp + 0x104], 0x575c
mov byte [esp + 0x106], 0
nop dword [eax]
xor byte [esp + eax + 0xf9], cl
inc eax
cmp eax, 0xd
jae 0x10021ef6
mov cl, byte [esp + 0xf8]
jmp 0x10021ee0
lea eax, [esp + 0xf9]
mov byte [esp + 0x106], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x7e
mov dword [esp + 0xe8], 0x1011337e
mov dword [esp + 0xec], 0xc1b0a0d
xor eax, eax
mov dword [esp + 0xf0], 0x110a2d5e
mov word [esp + 0xf4], 0x1b10
mov byte [esp + 0xf6], 0
nop dword [eax]
xor byte [esp + eax + 0xe9], cl
inc eax
cmp eax, 0xd
jae 0x10021f66
mov cl, byte [esp + 0xe8]
jmp 0x10021f50
lea eax, [esp + 0xe9]
mov byte [esp + 0xf6], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x1007c410]
xor ecx, ecx
movups xmmword [esp + 0x21c], xmm0
mov dword [esp + 0x22c], 0x21127
mov al, byte [esp + 0x21c]
xor byte [esp + ecx + 0x21d], al
inc ecx
cmp ecx, 0x12
jb 0x10021fa1
lea eax, [esp + 0x21d]
mov byte [esp + 0x22f], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [str.H_v___h_f___]
xor ecx, ecx
movups xmmword [esp + 0x378], xmm0
nop word [eax + eax]
mov al, byte [esp + 0x378]
xor byte [esp + ecx + 0x379], al
inc ecx
cmp ecx, 0xe
jb 0x10021ff0
lea eax, [esp + 0x379]
mov byte [esp + 0x387], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x1007c150]
xor ecx, ecx
movups xmmword [esp + 0x280], xmm0
mov word [esp + 0x290], 0x20
nop
mov al, byte [esp + 0x280]
xor byte [esp + ecx + 0x281], al
inc ecx
cmp ecx, 0x10
jb 0x10022040
lea eax, [esp + 0x281]
mov byte [esp + 0x291], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x1007c3e0]
xor ecx, ecx
movups xmmword [esp + 0x320], xmm0
mov byte [esp + 0x330], 0
nop dword [eax]
mov al, byte [esp + 0x320]
xor byte [esp + ecx + 0x321], al
inc ecx
cmp ecx, 0xf
jb 0x10022090
lea eax, [esp + 0x321]
mov byte [esp + 0x330], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x17
mov dword [esp + 0x88], 0x737b5817
mov dword [esp + 0x8c], 0x65785a37
xor eax, eax
mov dword [esp + 0x90], 0x79787376
mov byte [esp + 0x94], 0
xor byte [esp + eax + 0x89], cl
inc eax
cmp eax, 0xb
jae 0x10022106
mov cl, byte [esp + 0x88]
jmp 0x100220f0
lea eax, [esp + 0x89]
mov byte [esp + 0x94], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 0x41
mov byte [esp + 0x187], 0
mov al, 0x11
mov byte [esp + 0x180], dh
mov ah, 0x2e
mov byte [esp + 0x187], 0
xor al, dh
xor ah, dh
mov cl, 0x33
mov byte [esp + 0x181], al
mov ch, 0x2f
mov byte [esp + 0x185], ah
xor cl, dh
lea eax, [esp + 0x181]
xor ch, dh
mov byte [esp + 0x182], cl
mov dl, 0x28
mov byte [esp + 0x186], ch
mov bl, 0x32
xor dl, dh
xor bl, dh
mov byte [esp + 0x183], dl
push eax
mov ecx, esi
mov byte [esp + 0x188], bl
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x28
mov dword [esp + 0xd8], 0x415b6128
mov dword [esp + 0xdc], 0x47414444
xor eax, eax
mov dword [esp + 0xe0], 0x49640846
mov word [esp + 0xe4], 0x5a41
mov byte [esp + 0xe6], 0
nop
xor byte [esp + eax + 0xd9], cl
inc eax
cmp eax, 0xd
jae 0x100221e6
mov cl, byte [esp + 0xd8]
jmp 0x100221d0
lea eax, [esp + 0xd9]
mov byte [esp + 0xe6], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x7a
mov dword [esp + 0xc8], 0x161f3c7a
mov dword [esp + 0xcc], 0x1511141b
xor eax, eax
mov dword [esp + 0xd0], 0x1b365a08
mov word [esp + 0xd4], 0x813
mov byte [esp + 0xd6], 0
nop dword [eax]
xor byte [esp + eax + 0xc9], cl
inc eax
cmp eax, 0xd
jae 0x10022256
mov cl, byte [esp + 0xc8]
jmp 0x10022240
lea eax, [esp + 0xc9]
mov byte [esp + 0xd6], 0
push eax
mov ecx, esi
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov bh, 0x1c
mov byte [esp + 0x198], 0
mov cl, 0x72
mov byte [esp + 0x190], bh
mov bl, cl
mov byte [esp + 0x198], 0
mov al, 0x49
mov ah, 0x73
xor al, bh
xor ah, bh
mov ch, 0x6b
mov byte [esp + 0x191], al
mov dh, bl
mov byte [esp + 0x195], ah
xor cl, bh
lea eax, [esp + 0x191]
xor ch, bh
mov byte [esp + 0x192], cl
mov dl, 0x77
mov byte [esp + 0x196], ch
xor dl, bh
xor bl, bh
xor dh, bh
mov byte [esp + 0x193], dl
push eax
mov ecx, esi
mov byte [esp + 0x198], bl
mov byte [esp + 0x19b], dh
call fcn.10002210
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret