Function at 0x10046d87
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.0x10045f8a.3
movzx eax, byte [eax + 0x10047800]
jmp dword [eax*4 + 0x10047714]
mov byte [esp + 0x1c], 0x18
mov al, 0x59
xor al, byte [esp + 0x1c]
mov cl, 0x74
mov byte [esp + 0x1d], al
mov dl, cl
mov al, byte [esp + 0x1c]
mov ah, 0x42
xor cl, al
mov byte [esp + 0xe], 0x6b
xor dl, al
mov byte [esp + 0x1e], cl
xor ah, al
mov byte [esp + 0x26], 0
mov ch, 0x77
mov byte [esp + 0x21], ah
xor ch, al
mov byte [esp + 0x1f], dl
mov dh, 0x76
mov byte [esp + 0x22], ch
xor dh, al
mov byte [esp + 0x26], 0
mov bl, 0x38
mov byte [esp + 0x23], dh
xor bl, al
mov bh, 0x7d
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.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x10089450]
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 0x10046030
lea eax, [esp + 0x295]
mov byte [esp + 0x2a4], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x10089b30]
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 0x10046080
lea eax, [esp + 0x2a9]
mov byte [esp + 0x2b8], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x10089ee0]
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 0x100460d0
lea eax, [esp + 0x335]
mov byte [esp + 0x344], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x10089620]
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 0x10046120
lea eax, [esp + 0x2bd]
mov byte [esp + 0x2cc], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x10089b00]
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 0x10046170
lea eax, [esp + 0x2d1]
mov byte [esp + 0x2e0], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x10089910]
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 0x100461c0
lea eax, [esp + 0x2e5]
mov byte [esp + 0x2f4], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 0x7b
mov byte [esp + 0x157], 0
mov al, 0x3e
mov byte [esp + 0x150], dh
mov ah, 0x15
mov byte [esp + 0x157], 0
xor al, dh
xor ah, dh
mov cl, 8
mov byte [esp + 0x151], al
mov ch, 0xf
mov byte [esp + 0x155], ah
xor cl, dh
lea eax, [esp + 0x151]
xor ch, dh
mov byte [esp + 0x152], cl
mov dl, 0x17
mov byte [esp + 0x156], ch
mov bl, 0x1a
xor dl, dh
xor bl, dh
mov byte [esp + 0x153], dl
push eax
mov ecx, esi
mov byte [esp + 0x158], bl
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 0x1a
mov byte [esp + 0x15f], 0
mov al, 0x5f
mov byte [esp + 0x158], dh
mov ah, 0x74
mov byte [esp + 0x15f], 0
xor al, dh
xor ah, dh
mov cl, 0x69
mov byte [esp + 0x159], al
mov ch, 0x6e
mov byte [esp + 0x15d], ah
xor cl, dh
lea eax, [esp + 0x159]
xor ch, dh
mov byte [esp + 0x15a], cl
mov dl, 0x76
mov byte [esp + 0x15e], ch
mov bl, 0x7b
xor dl, dh
xor bl, dh
mov byte [esp + 0x15b], dl
push eax
mov ecx, esi
mov byte [esp + 0x160], bl
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 0x1b
mov byte [esp + 0x18f], 0
mov al, 0x5e
mov byte [esp + 0x188], dh
mov ah, 0x75
mov byte [esp + 0x18f], 0
xor al, dh
xor ah, dh
mov cl, 0x68
mov byte [esp + 0x189], al
mov ch, 0x6f
mov byte [esp + 0x18d], ah
xor cl, dh
lea eax, [esp + 0x189]
xor ch, dh
mov byte [esp + 0x18a], cl
mov dl, 0x77
mov byte [esp + 0x18e], ch
mov bl, 0x7a
xor dl, dh
xor bl, dh
mov byte [esp + 0x18b], dl
push eax
mov ecx, esi
mov byte [esp + 0x190], bl
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 0x64
mov byte [esp + 0x167], 0
mov al, 0x21
mov byte [esp + 0x160], dh
mov ah, 0xa
mov byte [esp + 0x167], 0
xor al, dh
xor ah, dh
mov cl, 0x17
mov byte [esp + 0x161], al
mov ch, 0x10
mov byte [esp + 0x165], ah
xor cl, dh
lea eax, [esp + 0x161]
xor ch, dh
mov byte [esp + 0x162], cl
mov dl, 8
mov byte [esp + 0x166], ch
mov bl, 5
xor dl, dh
xor bl, dh
mov byte [esp + 0x163], dl
push eax
mov ecx, esi
mov byte [esp + 0x168], bl
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 0x38
mov byte [esp + 0x16f], 0
mov al, 0x7d
mov byte [esp + 0x168], dh
mov ah, 0x56
mov byte [esp + 0x16f], 0
xor al, dh
xor ah, dh
mov cl, 0x4b
mov byte [esp + 0x169], al
mov ch, 0x4c
mov byte [esp + 0x16d], ah
xor cl, dh
lea eax, [esp + 0x169]
xor ch, dh
mov byte [esp + 0x16a], cl
mov dl, 0x54
mov byte [esp + 0x16e], ch
mov bl, 0x59
xor dl, dh
xor bl, dh
mov byte [esp + 0x16b], dl
push eax
mov ecx, esi
mov byte [esp + 0x170], bl
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 0x7e
mov byte [esp + 0x177], 0
mov al, 0x3b
mov byte [esp + 0x170], dh
mov ah, 0x10
mov byte [esp + 0x177], 0
xor al, dh
xor ah, dh
mov cl, 0xd
mov byte [esp + 0x171], al
mov ch, 0xa
mov byte [esp + 0x175], ah
xor cl, dh
lea eax, [esp + 0x171]
xor ch, dh
mov byte [esp + 0x172], cl
mov dl, 0x12
mov byte [esp + 0x176], ch
mov bl, 0x1f
xor dl, dh
xor bl, dh
mov byte [esp + 0x173], dl
push eax
mov ecx, esi
mov byte [esp + 0x178], bl
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esp + 0x28], 0x58
mov al, 0x17
xor al, byte [esp + 0x28]
mov cl, 0x34
mov byte [esp + 0x29], al
mov dl, 0x3c
mov al, byte [esp + 0x28]
mov ah, 0x13
xor cl, al
mov byte [esp + 0xe], 0x2b
xor dl, al
mov byte [esp + 0x2a], cl
xor ah, al
mov byte [esp + 0x32], 0
mov ch, 0x39
mov byte [esp + 0x2d], ah
xor ch, al
mov byte [esp + 0x2b], dl
mov dh, 0x2a
mov byte [esp + 0x2e], ch
xor dh, al
mov byte [esp + 0x32], 0
mov bl, 0x78
mov byte [esp + 0x2f], dh
xor bl, al
mov bh, 0x2d
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.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov bh, 0x3c
mov byte [esp + 0x1ec], 0
mov cl, 0x53
mov byte [esp + 0x1e4], bh
mov al, 0x71
mov byte [esp + 0x1ec], 0
mov ah, 0x58
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, 0x4e
mov byte [esp + 0x1e6], cl
mov dh, 0x52
mov byte [esp + 0x1ea], ch
mov bl, 0x5d
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.10002580
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.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov bh, 0x3b
mov byte [esp + 0x1d4], 0
mov cl, 0x54
mov byte [esp + 0x1cc], bh
mov al, 0x76
mov byte [esp + 0x1d4], 0
mov ah, 0x5f
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, 0x49
mov byte [esp + 0x1ce], cl
mov dh, 0x55
mov byte [esp + 0x1d2], ch
mov bl, 0x5a
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.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov bh, 6
mov byte [esp + 0x1c8], 0
mov cl, 0x69
mov byte [esp + 0x1c0], bh
mov al, 0x4b
mov byte [esp + 0x1c8], 0
mov ah, 0x62
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, 0x74
mov byte [esp + 0x1c2], cl
mov dh, 0x68
mov byte [esp + 0x1c6], ch
mov bl, 0x67
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.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov bh, 0x51
mov byte [esp + 0x1bc], 0
mov cl, 0x3e
mov byte [esp + 0x1b4], bh
mov al, 0x1c
mov byte [esp + 0x1bc], 0
mov ah, 0x35
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, 0x23
mov byte [esp + 0x1b6], cl
mov dh, 0x3f
mov byte [esp + 0x1ba], ch
mov bl, 0x30
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.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esp + 0x10], 0xb
mov al, 0x44
xor al, byte [esp + 0x10]
mov cl, 0x67
mov byte [esp + 0x11], al
mov dl, 0x6f
mov al, byte [esp + 0x10]
mov ah, 0x43
xor cl, al
mov byte [esp + 0xe], 0x65
xor dl, al
mov byte [esp + 0x12], cl
xor ah, al
mov byte [esp + 0x1a], 0
mov ch, 0x7e
mov byte [esp + 0x15], ah
xor ch, al
mov byte [esp + 0x13], dl
mov dh, 0x66
mov byte [esp + 0x16], ch
xor dh, al
mov byte [esp + 0x1a], 0
mov bl, 0x2b
mov byte [esp + 0x17], dh
xor bl, al
mov bh, 0x6a
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.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x3a
mov dword [esp + 0x58], 0x5e56753a
mov dword [esp + 0x5c], 0x4855771a
xor eax, eax
mov dword [esp + 0x60], 0x54555e5b
mov byte [esp + 0x64], 0
xor byte [esp + eax + 0x59], cl
inc eax
cmp eax, 0xb
jae 0x10046835
mov cl, byte [esp + 0x58]
jmp 0x10046825
lea eax, [esp + 0x59]
mov byte [esp + 0x64], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ch, 9
mov byte [esp + 0x14e], 0
mov al, 0x4d
mov byte [esp + 0x148], ch
mov ah, 0x7a
mov byte [esp + 0x14e], 0
xor al, ch
xor ah, ch
mov cl, 0x6c
mov byte [esp + 0x149], al
xor cl, ch
mov byte [esp + 0x14d], ah
mov dl, 0x65
mov byte [esp + 0x14a], cl
mov bl, 0x66
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.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov bh, 0x12
mov byte [esp + 0x1b0], 0
mov al, 0x50
mov byte [esp + 0x1a8], bh
mov ah, 0x7d
mov byte [esp + 0x1b0], 0
xor al, bh
xor ah, bh
mov cl, 0x7b
mov byte [esp + 0x1a9], al
mov ch, 0x61
mov byte [esp + 0x1ad], ah
xor cl, bh
lea eax, [esp + 0x1a9]
xor ch, bh
mov byte [esp + 0x1aa], cl
mov dl, 0x74
mov byte [esp + 0x1ae], ch
mov dh, 0x66
mov bl, 0x60
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.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x10089720]
xor ecx, ecx
movups xmmword [esp + 0x230], xmm0
mov word [esp + 0x240], 0x2d2d
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 0x10046960
lea eax, [esp + 0x231]
mov byte [esp + 0x242], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esp + 0x34], 0x46
mov al, 0xe
xor al, byte [esp + 0x34]
mov cl, 0x23
xor cl, byte [esp + 0x34]
mov ah, 0x66
mov byte [esp + 0x35], al
mov dl, 0x2a
mov byte [esp + 0x36], cl
mov ch, 7
mov cl, byte [esp + 0x34]
mov bl, dl
mov byte [esp + 0xe], 0x35
xor ah, cl
mov al, byte [esp + 0xe]
xor ch, cl
xor al, cl
mov byte [esp + 0xf], 0x35
mov byte [esp + 0x3d], al
mov dh, 0x24
mov al, byte [esp + 0xf]
mov bh, 0x3f
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.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 4
mov dword [esp + 0x138], 0x68614204
mov dword [esp + 0x13c], 0x6b6f6a65
xor eax, eax
mov dword [esp + 0x140], 0x65482476
mov word [esp + 0x144], 0x766d
mov byte [esp + 0x146], 0
xor byte [esp + eax + 0x139], cl
inc eax
cmp eax, 0xd
jae 0x10046a69
mov cl, byte [esp + 0x138]
jmp 0x10046a53
lea eax, [esp + 0x139]
mov byte [esp + 0x146], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x10089060]
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 0x10046aa0
lea eax, [esp + 0x349]
mov byte [esp + 0x357], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x1d
mov dword [esp + 0x98], 0x697c5f1d
mov dword [esp + 0x9c], 0x3d787169
xor eax, eax
mov dword [esp + 0xa0], 0x73786f5c
mov word [esp + 0xa4], 0x7c
xor byte [esp + eax + 0x99], cl
inc eax
cmp eax, 0xc
jae 0x10046b18
mov cl, byte [esp + 0x98]
jmp 0x10046b02
lea eax, [esp + 0x99]
mov byte [esp + 0xa5], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x10089350]
xor ecx, ecx
movups xmmword [esp + 0x208], xmm0
mov dword [esp + 0x218], 0xa0d1b
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x208]
xor byte [esp + ecx + 0x209], al
inc ecx
cmp ecx, 0x12
jb 0x10046b60
lea eax, [esp + 0x209]
mov byte [esp + 0x21b], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x10089d30]
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 0x10046bb0
lea eax, [esp + 0x2f9]
mov byte [esp + 0x308], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x57
mov dword [esp + 0xb8], 0x35381057
mov dword [esp + 0xbc], 0x77393e3b
xor eax, eax
mov dword [esp + 0xc0], 0x24322206
mov word [esp + 0xc4], 0x23
xor byte [esp + eax + 0xb9], cl
inc eax
cmp eax, 0xc
jae 0x10046c28
mov cl, byte [esp + 0xb8]
jmp 0x10046c12
lea eax, [esp + 0xb9]
mov byte [esp + 0xc5], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esp + 0x40], 0x6f
mov al, 0x2c
xor al, byte [esp + 0x40]
mov cl, 0xe
xor cl, byte [esp + 0x40]
mov ah, 0x4f
mov byte [esp + 0x41], al
mov bl, 0xa
mov byte [esp + 0x42], cl
mov ch, 0x3e
mov cl, byte [esp + 0x40]
mov dl, 0x1f
mov byte [esp + 0xf], 0x1c
xor ah, cl
mov al, byte [esp + 0xf]
xor ch, cl
xor al, cl
mov byte [esp + 0xe], 0x1b
mov byte [esp + 0x49], al
mov dh, 0x1a
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.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x1008a270]
xor ecx, ecx
movups xmmword [esp + 0x244], xmm0
mov word [esp + 0x254], 0x77
nop dword [eax + eax]
mov al, byte [esp + 0x244]
xor byte [esp + ecx + 0x245], al
inc ecx
cmp ecx, 0x10
jb 0x10046cf0
lea eax, [esp + 0x245]
mov byte [esp + 0x255], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x15
mov dword [esp + 0xa8], 0x65745b15
mov dword [esp + 0xac], 0x3566707c
xor eax, eax
mov dword [esp + 0xb0], 0x72677a52
mov word [esp + 0xb4], 0x70
xor byte [esp + eax + 0xa9], cl
inc eax
cmp eax, 0xc
jae 0x10046d68
mov cl, byte [esp + 0xa8]
jmp 0x10046d52
lea eax, [esp + 0xa9]
mov byte [esp + 0xb5], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x10089f60]
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 0x10046da0
lea eax, [esp + 0x30d]
mov byte [esp + 0x31c], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x10088fd0]
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 0x10046df0
lea eax, [esp + 0x359]
mov byte [esp + 0x367], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [str._rYNYUXO]
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 0x10046e40
lea eax, [esp + 0x369]
mov byte [esp + 0x377], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x1d
mov dword [esp + 0x68], 0x6f72501d
mov dword [esp + 0x6c], 0x7372797c
xor eax, eax
mov dword [esp + 0x70], 0x6f7c4a3d
mov byte [esp + 0x74], 0
xor byte [esp + eax + 0x69], cl
inc eax
cmp eax, 0xb
jae 0x10046ea4
mov cl, byte [esp + 0x68]
jmp 0x10046e94
lea eax, [esp + 0x69]
mov byte [esp + 0x74], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 0x7b
mov byte [esp + 0x17f], 0
mov al, 0x34
mov byte [esp + 0x178], dh
mov ah, 0x1f
mov byte [esp + 0x17f], 0
xor al, dh
xor ah, dh
mov cl, 9
mov byte [esp + 0x179], al
mov ch, 8
mov byte [esp + 0x17d], ah
xor cl, dh
lea eax, [esp + 0x179]
xor ch, dh
mov byte [esp + 0x17a], cl
mov dl, 0x1e
mov byte [esp + 0x17e], ch
mov bl, 0x1a
xor dl, dh
xor bl, dh
mov byte [esp + 0x17b], dl
push eax
mov ecx, esi
mov byte [esp + 0x180], bl
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esp + 0x4c], 0x39
mov al, 0x6a
xor al, byte [esp + 0x4c]
mov ah, 0x19
mov byte [esp + 0x4d], al
mov cl, 0x57
mov al, byte [esp + 0x4c]
mov dl, 0x56
xor ah, al
mov byte [esp + 0x55], 0
mov ch, 0x6e
mov byte [esp + 0x51], ah
mov dh, 0x58
mov byte [esp + 0x55], 0
xor cl, al
xor ch, al
mov bl, 0x4e
mov byte [esp + 0x4e], cl
mov bh, 0x4b
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.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x4d
mov dword [esp + 0x78], 0x21220e4d
mov dword [esp + 0x7c], 0x6d342322
xor eax, eax
mov dword [esp + 0x80], 0x28232217
mov byte [esp + 0x84], 0
nop
xor byte [esp + eax + 0x79], cl
inc eax
cmp eax, 0xb
jae 0x10046fd0
mov cl, byte [esp + 0x78]
jmp 0x10046fc0
lea eax, [esp + 0x79]
mov byte [esp + 0x84], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov bh, 0xa
mov byte [esp + 0x1a4], 0
mov al, 0x4b
mov byte [esp + 0x19c], bh
mov cl, 0x78
mov byte [esp + 0x1a4], 0
mov ah, 0x6f
mov bl, cl
xor al, bh
xor ah, bh
mov ch, 0x6b
mov byte [esp + 0x19d], al
xor cl, bh
mov byte [esp + 0x1a1], ah
xor ch, bh
mov byte [esp + 0x19e], cl
mov dl, 0x6e
mov byte [esp + 0x1a2], ch
mov dh, 0x67
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.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x1008a130]
xor ecx, ecx
movups xmmword [esp + 0x258], xmm0
mov word [esp + 0x268], 0x61
nop dword [eax]
nop dword [eax + eax]
mov al, byte [esp + 0x258]
xor byte [esp + ecx + 0x259], al
inc ecx
cmp ecx, 0x10
jb 0x10047090
lea eax, [esp + 0x259]
mov byte [esp + 0x269], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x4d
mov dword [esp + 0x128], 0x223f064d
mov dword [esp + 0x12c], 0x6d372c3a
xor eax, eax
mov dword [esp + 0x130], 0x24202209
mov word [esp + 0x134], 0x2322
mov byte [esp + 0x136], 0
nop word [eax + eax]
xor byte [esp + eax + 0x129], cl
inc eax
cmp eax, 0xd
jae 0x10047116
mov cl, byte [esp + 0x128]
jmp 0x10047100
lea eax, [esp + 0x129]
mov byte [esp + 0x136], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x52
mov dword [esp + 0x118], 0x3b3c1952
mov dword [esp + 0x11c], 0x72263a35
xor eax, eax
mov dword [esp + 0x120], 0x332b3d00
mov word [esp + 0x124], 0x373e
mov byte [esp + 0x126], 0
nop dword [eax]
xor byte [esp + eax + 0x119], cl
inc eax
cmp eax, 0xd
jae 0x10047186
mov cl, byte [esp + 0x118]
jmp 0x10047170
lea eax, [esp + 0x119]
mov byte [esp + 0x126], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [str.f__n_a_bF1_a]
xor ecx, ecx
movups xmmword [esp + 0x26c], xmm0
mov word [esp + 0x27c], 0xb
mov al, byte [esp + 0x26c]
xor byte [esp + ecx + 0x26d], al
inc ecx
cmp ecx, 0x10
jb 0x100471c0
lea eax, [esp + 0x26d]
mov byte [esp + 0x27d], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x10089f40]
xor ecx, ecx
movups xmmword [esp + 0x1f0], xmm0
mov dword [esp + 0x200], 0x69664b27
mov word [esp + 0x204], 0x63
nop dword [eax]
mov al, byte [esp + 0x1f0]
xor byte [esp + ecx + 0x1f1], al
inc ecx
cmp ecx, 0x14
jb 0x10047220
lea eax, [esp + 0x1f1]
mov byte [esp + 0x205], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 7
mov dword [esp + 0x108], 0x69684a07
mov dword [esp + 0x10c], 0x75627374
xor eax, eax
mov dword [esp + 0x110], 0x68735427
mov word [esp + 0x114], 0x6269
mov byte [esp + 0x116], 0
nop word [eax + eax]
xor byte [esp + eax + 0x109], cl
inc eax
cmp eax, 0xd
jae 0x100472a6
mov cl, byte [esp + 0x108]
jmp 0x10047290
lea eax, [esp + 0x109]
mov byte [esp + 0x116], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x56
mov dword [esp + 0xf8], 0x38391b56
mov dword [esp + 0xfc], 0x24332225
xor eax, eax
mov dword [esp + 0x100], 0x39220576
mov word [esp + 0x104], 0x3338
mov byte [esp + 0x106], 0
nop dword [eax]
xor byte [esp + eax + 0xf9], cl
inc eax
cmp eax, 0xd
jae 0x10047316
mov cl, byte [esp + 0xf8]
jmp 0x10047300
lea eax, [esp + 0xf9]
mov byte [esp + 0x106], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x3c
mov dword [esp + 0xe8], 0x5253713c
mov dword [esp + 0xec], 0x4e59484f
xor eax, eax
mov dword [esp + 0xf0], 0x53486f1c
mov word [esp + 0xf4], 0x5952
mov byte [esp + 0xf6], 0
nop dword [eax]
xor byte [esp + eax + 0xe9], cl
inc eax
cmp eax, 0xd
jae 0x10047386
mov cl, byte [esp + 0xe8]
jmp 0x10047370
lea eax, [esp + 0xe9]
mov byte [esp + 0xf6], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x10089e00]
xor ecx, ecx
movups xmmword [esp + 0x21c], xmm0
mov dword [esp + 0x22c], 0x302315
mov al, byte [esp + 0x21c]
xor byte [esp + ecx + 0x21d], al
inc ecx
cmp ecx, 0x12
jb 0x100473c1
lea eax, [esp + 0x21d]
mov byte [esp + 0x22f], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x10089240]
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 0x10047410
lea eax, [esp + 0x379]
mov byte [esp + 0x387], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100896a0]
xor ecx, ecx
movups xmmword [esp + 0x280], xmm0
mov word [esp + 0x290], 0x2d
nop
mov al, byte [esp + 0x280]
xor byte [esp + ecx + 0x281], al
inc ecx
cmp ecx, 0x10
jb 0x10047460
lea eax, [esp + 0x281]
mov byte [esp + 0x291], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x1008a1c0]
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 0x100474b0
lea eax, [esp + 0x321]
mov byte [esp + 0x330], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x1a
mov dword [esp + 0x88], 0x7e76551a
mov dword [esp + 0x8c], 0x6875573a
xor eax, eax
mov dword [esp + 0x90], 0x74757e7b
mov byte [esp + 0x94], 0
xor byte [esp + eax + 0x89], cl
inc eax
cmp eax, 0xb
jae 0x10047526
mov cl, byte [esp + 0x88]
jmp 0x10047510
lea eax, [esp + 0x89]
mov byte [esp + 0x94], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 0x35
mov byte [esp + 0x187], 0
mov al, 0x65
mov byte [esp + 0x180], dh
mov ah, 0x5a
mov byte [esp + 0x187], 0
xor al, dh
xor ah, dh
mov cl, 0x47
mov byte [esp + 0x181], al
mov ch, 0x5b
mov byte [esp + 0x185], ah
xor cl, dh
lea eax, [esp + 0x181]
xor ch, dh
mov byte [esp + 0x182], cl
mov dl, 0x5c
mov byte [esp + 0x186], ch
mov bl, 0x46
xor dl, dh
xor bl, dh
mov byte [esp + 0x183], dl
push eax
mov ecx, esi
mov byte [esp + 0x188], bl
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x4d
mov dword [esp + 0xd8], 0x243e044d
mov dword [esp + 0xdc], 0x22242121
xor eax, eax
mov dword [esp + 0xe0], 0x2c016d23
mov word [esp + 0xe4], 0x3f24
mov byte [esp + 0xe6], 0
nop
xor byte [esp + eax + 0xd9], cl
inc eax
cmp eax, 0xd
jae 0x10047606
mov cl, byte [esp + 0xd8]
jmp 0x100475f0
lea eax, [esp + 0xd9]
mov byte [esp + 0xe6], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x68
mov dword [esp + 0xc8], 0x40d2e68
mov dword [esp + 0xcc], 0x7030609
xor eax, eax
mov dword [esp + 0xd0], 0x924481a
mov word [esp + 0xd4], 0x1a01
mov byte [esp + 0xd6], 0
nop dword [eax]
xor byte [esp + eax + 0xc9], cl
inc eax
cmp eax, 0xd
jae 0x10047676
mov cl, byte [esp + 0xc8]
jmp 0x10047660
lea eax, [esp + 0xc9]
mov byte [esp + 0xd6], 0
push eax
mov ecx, esi
call fcn.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov bh, 0x66
mov byte [esp + 0x198], 0
mov cl, 8
mov byte [esp + 0x190], bh
mov bl, cl
mov byte [esp + 0x198], 0
mov al, 0x33
mov ah, 9
xor al, bh
xor ah, bh
mov ch, 0x11
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, 0xd
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.10002580
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret