Function at 0x10048ea0
Capabilities:
Authenticate hmac
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.0x10048eca.3
movzx eax, byte [eax + 0x1004a740]
jmp dword [eax*4 + 0x1004a654]
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.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100af6a0]
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 0x10048f70
lea eax, [esp + 0x295]
mov byte [esp + 0x2a4], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100afa90]
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 0x10048fc0
lea eax, [esp + 0x2a9]
mov byte [esp + 0x2b8], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100afc20]
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 0x10049010
lea eax, [esp + 0x335]
mov byte [esp + 0x344], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100af040]
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 0x10049060
lea eax, [esp + 0x2bd]
mov byte [esp + 0x2cc], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100afb70]
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 0x100490b0
lea eax, [esp + 0x2d1]
mov byte [esp + 0x2e0], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100af4b0]
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 0x10049100
lea eax, [esp + 0x2e5]
mov byte [esp + 0x2f4], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 0x6f
mov byte [esp + 0x157], 0
mov al, 0x2a
mov byte [esp + 0x150], dh
mov ah, 1
mov byte [esp + 0x157], 0
xor al, dh
xor ah, dh
mov cl, 0x1c
mov byte [esp + 0x151], al
mov ch, 0x1b
mov byte [esp + 0x155], ah
xor cl, dh
lea eax, [esp + 0x151]
xor ch, dh
mov byte [esp + 0x152], cl
mov dl, 3
mov byte [esp + 0x156], ch
mov bl, 0xe
xor dl, dh
xor bl, dh
mov byte [esp + 0x153], dl
push eax
mov ecx, esi
mov byte [esp + 0x158], bl
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 0x48
mov byte [esp + 0x15f], 0
mov al, 0xd
mov byte [esp + 0x158], dh
mov ah, 0x26
mov byte [esp + 0x15f], 0
xor al, dh
xor ah, dh
mov cl, 0x3b
mov byte [esp + 0x159], al
mov ch, 0x3c
mov byte [esp + 0x15d], ah
xor cl, dh
lea eax, [esp + 0x159]
xor ch, dh
mov byte [esp + 0x15a], cl
mov dl, 0x24
mov byte [esp + 0x15e], ch
mov bl, 0x29
xor dl, dh
xor bl, dh
mov byte [esp + 0x15b], dl
push eax
mov ecx, esi
mov byte [esp + 0x160], bl
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 0x44
mov byte [esp + 0x18f], 0
mov al, 1
mov byte [esp + 0x188], dh
mov ah, 0x2a
mov byte [esp + 0x18f], 0
xor al, dh
xor ah, dh
mov cl, 0x37
mov byte [esp + 0x189], al
mov ch, 0x30
mov byte [esp + 0x18d], ah
xor cl, dh
lea eax, [esp + 0x189]
xor ch, dh
mov byte [esp + 0x18a], cl
mov dl, 0x28
mov byte [esp + 0x18e], ch
mov bl, 0x25
xor dl, dh
xor bl, dh
mov byte [esp + 0x18b], dl
push eax
mov ecx, esi
mov byte [esp + 0x190], bl
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 0x62
mov byte [esp + 0x167], 0
mov al, 0x27
mov byte [esp + 0x160], dh
mov ah, 0xc
mov byte [esp + 0x167], 0
xor al, dh
xor ah, dh
mov cl, 0x11
mov byte [esp + 0x161], al
mov ch, 0x16
mov byte [esp + 0x165], ah
xor cl, dh
lea eax, [esp + 0x161]
xor ch, dh
mov byte [esp + 0x162], cl
mov dl, 0xe
mov byte [esp + 0x166], ch
mov bl, 3
xor dl, dh
xor bl, dh
mov byte [esp + 0x163], dl
push eax
mov ecx, esi
mov byte [esp + 0x168], bl
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 0x2b
mov byte [esp + 0x16f], 0
mov al, 0x6e
mov byte [esp + 0x168], dh
mov ah, 0x45
mov byte [esp + 0x16f], 0
xor al, dh
xor ah, dh
mov cl, 0x58
mov byte [esp + 0x169], al
mov ch, 0x5f
mov byte [esp + 0x16d], ah
xor cl, dh
lea eax, [esp + 0x169]
xor ch, dh
mov byte [esp + 0x16a], cl
mov dl, 0x47
mov byte [esp + 0x16e], ch
mov bl, 0x4a
xor dl, dh
xor bl, dh
mov byte [esp + 0x16b], dl
push eax
mov ecx, esi
mov byte [esp + 0x170], bl
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 0x30
mov byte [esp + 0x177], 0
mov al, 0x75
mov byte [esp + 0x170], dh
mov ah, 0x5e
mov byte [esp + 0x177], 0
xor al, dh
xor ah, dh
mov cl, 0x43
mov byte [esp + 0x171], al
mov ch, 0x44
mov byte [esp + 0x175], ah
xor cl, dh
lea eax, [esp + 0x171]
xor ch, dh
mov byte [esp + 0x172], cl
mov dl, 0x5c
mov byte [esp + 0x176], ch
mov bl, 0x51
xor dl, dh
xor bl, dh
mov byte [esp + 0x173], dl
push eax
mov ecx, esi
mov byte [esp + 0x178], bl
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor al, al
mov byte [esp + 0x28], 0x4f
mov byte [esp + 0x32], al
mov cl, 0x23
xor al, byte [esp + 0x28]
mov dl, 0x2b
mov byte [esp + 0x29], al
mov ah, 4
mov al, byte [esp + 0x28]
mov ch, 0x2e
xor cl, al
mov byte [esp + 0xe], 0x3c
xor ch, al
mov byte [esp + 0x2a], cl
xor dl, al
mov byte [esp + 0x2e], ch
xor ah, al
mov byte [esp + 0x2b], dl
mov dh, 0x3d
mov byte [esp + 0x2d], ah
xor dh, al
mov byte [esp + 0x32], 0
mov bl, 0x6f
mov byte [esp + 0x2f], dh
xor bl, al
mov bh, 0x3a
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.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov bh, 0x3e
mov byte [esp + 0x1ec], 0
mov cl, 0x51
mov byte [esp + 0x1e4], bh
mov al, 0x73
mov byte [esp + 0x1ec], 0
mov ah, 0x5a
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, 0x4c
mov byte [esp + 0x1e6], cl
mov dh, 0x50
mov byte [esp + 0x1ea], ch
mov bl, 0x5f
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.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov bh, 0x71
mov byte [esp + 0x1e0], 0
mov cl, 0x1e
mov byte [esp + 0x1d8], bh
mov al, 0x3c
mov byte [esp + 0x1e0], 0
mov ah, 0x15
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, 3
mov byte [esp + 0x1da], cl
mov dh, 0x1f
mov byte [esp + 0x1de], ch
mov bl, 0x10
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.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov bh, 0x24
mov byte [esp + 0x1d4], 0
mov cl, 0x4b
mov byte [esp + 0x1cc], bh
mov al, 0x69
mov byte [esp + 0x1d4], 0
mov ah, 0x40
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, 0x56
mov byte [esp + 0x1ce], cl
mov dh, 0x4a
mov byte [esp + 0x1d2], ch
mov bl, 0x45
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.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov bh, 0xd
mov byte [esp + 0x1c8], 0
mov cl, 0x62
mov byte [esp + 0x1c0], bh
mov al, 0x40
mov byte [esp + 0x1c8], 0
mov ah, 0x69
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, 0x7f
mov byte [esp + 0x1c2], cl
mov dh, 0x63
mov byte [esp + 0x1c6], ch
mov bl, 0x6c
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.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov bh, 0x2d
mov byte [esp + 0x1bc], 0
mov cl, 0x42
mov byte [esp + 0x1b4], bh
mov al, 0x60
mov byte [esp + 0x1bc], 0
mov ah, 0x49
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, 0x5f
mov byte [esp + 0x1b6], cl
mov dh, 0x43
mov byte [esp + 0x1ba], ch
mov bl, 0x4c
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.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esp + 0x10], 0x54
mov al, 0x1b
xor al, byte [esp + 0x10]
mov cl, 0x38
mov byte [esp + 0x11], al
mov dl, 0x30
mov al, byte [esp + 0x10]
mov ah, 0x1c
xor cl, al
mov byte [esp + 0xe], 0x3a
xor dl, al
mov byte [esp + 0x12], cl
xor ah, al
mov byte [esp + 0x1a], 0
mov ch, 0x21
mov byte [esp + 0x15], ah
xor ch, al
mov byte [esp + 0x13], dl
mov dh, 0x39
mov byte [esp + 0x16], ch
xor dh, al
mov byte [esp + 0x1a], 0
mov bl, 0x74
mov byte [esp + 0x17], dh
xor bl, al
mov bh, 0x35
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.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x4b
mov dword [esp + 0x58], 0x2f27044b
mov dword [esp + 0x5c], 0x3924066b
xor eax, eax
mov dword [esp + 0x60], 0x25242f2a
mov byte [esp + 0x64], 0
xor byte [esp + eax + 0x59], cl
inc eax
cmp eax, 0xb
jae 0x10049774
mov cl, byte [esp + 0x58]
jmp 0x10049764
lea eax, [esp + 0x59]
mov byte [esp + 0x64], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ch, 0x60
mov byte [esp + 0x14e], 0
mov al, 0x24
mov byte [esp + 0x148], ch
mov ah, 0x13
mov byte [esp + 0x14e], 0
xor al, ch
xor ah, ch
mov cl, 5
mov byte [esp + 0x149], al
xor cl, ch
mov byte [esp + 0x14d], ah
mov dl, 0xc
mov byte [esp + 0x14a], cl
mov bl, 0xf
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.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov bh, 0x5f
mov byte [esp + 0x1b0], 0
mov al, 0x1d
mov byte [esp + 0x1a8], bh
mov ah, 0x30
mov byte [esp + 0x1b0], 0
xor al, bh
xor ah, bh
mov cl, 0x36
mov byte [esp + 0x1a9], al
mov ch, 0x2c
mov byte [esp + 0x1ad], ah
xor cl, bh
lea eax, [esp + 0x1a9]
xor ch, bh
mov byte [esp + 0x1aa], cl
mov dl, 0x39
mov byte [esp + 0x1ae], ch
mov dh, 0x2b
mov bl, 0x2d
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.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100af8d0]
xor ecx, ecx
movups xmmword [esp + 0x230], xmm0
mov word [esp + 0x240], 0x6b6b
mov byte [esp + 0x242], 0
nop dword [eax]
nop dword [eax + eax]
mov al, byte [esp + 0x230]
xor byte [esp + ecx + 0x231], al
inc ecx
cmp ecx, 0x11
jb 0x100498a0
lea eax, [esp + 0x231]
mov byte [esp + 0x242], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esp + 0x34], 0x35
mov al, 0x7d
xor al, byte [esp + 0x34]
mov cl, 0x50
xor cl, byte [esp + 0x34]
mov ah, 0x15
mov byte [esp + 0x35], al
mov dl, 0x59
mov byte [esp + 0x36], cl
mov ch, 0x74
mov cl, byte [esp + 0x34]
mov bl, dl
mov byte [esp + 0xe], 0x46
xor ah, cl
mov al, byte [esp + 0xe]
xor ch, cl
xor al, cl
mov byte [esp + 0xf], 0x46
mov byte [esp + 0x3d], al
mov dh, 0x57
mov al, byte [esp + 0xf]
mov bh, 0x4c
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.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x10
mov dword [esp + 0x138], 0x7c755610
mov dword [esp + 0x13c], 0x7f7b7e71
xor eax, eax
mov dword [esp + 0x140], 0x715c3062
mov word [esp + 0x144], 0x6279
mov byte [esp + 0x146], 0
xor byte [esp + eax + 0x139], cl
inc eax
cmp eax, 0xd
jae 0x100499a9
mov cl, byte [esp + 0x138]
jmp 0x10049993
lea eax, [esp + 0x139]
mov byte [esp + 0x146], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [str.L_b___l]
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 0x100499e0
lea eax, [esp + 0x349]
mov byte [esp + 0x357], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x47
mov dword [esp + 0x98], 0x33260547
mov dword [esp + 0x9c], 0x67222b33
xor eax, eax
mov dword [esp + 0xa0], 0x29223506
mov word [esp + 0xa4], 0x26
xor byte [esp + eax + 0x99], cl
inc eax
cmp eax, 0xc
jae 0x10049a58
mov cl, byte [esp + 0x98]
jmp 0x10049a42
lea eax, [esp + 0x99]
mov byte [esp + 0xa5], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100aefd0]
xor ecx, ecx
movups xmmword [esp + 0x208], xmm0
mov dword [esp + 0x218], 0x212630
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x208]
xor byte [esp + ecx + 0x209], al
inc ecx
cmp ecx, 0x12
jb 0x10049aa0
lea eax, [esp + 0x209]
mov byte [esp + 0x21b], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100af7d0]
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 0x10049af0
lea eax, [esp + 0x2f9]
mov byte [esp + 0x308], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x64
mov dword [esp + 0xb8], 0x60b2364
mov dword [esp + 0xbc], 0x440a0d08
xor eax, eax
mov dword [esp + 0xc0], 0x17011135
mov word [esp + 0xc4], 0x10
xor byte [esp + eax + 0xb9], cl
inc eax
cmp eax, 0xc
jae 0x10049b68
mov cl, byte [esp + 0xb8]
jmp 0x10049b52
lea eax, [esp + 0xb9]
mov byte [esp + 0xc5], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esp + 0x40], 0x60
mov al, 0x23
xor al, byte [esp + 0x40]
mov cl, 1
xor cl, byte [esp + 0x40]
mov ah, 0x40
mov byte [esp + 0x41], al
mov bl, 5
mov byte [esp + 0x42], cl
mov ch, 0x31
mov cl, byte [esp + 0x40]
mov dl, 0x10
mov byte [esp + 0xf], 0x13
xor ah, cl
mov al, byte [esp + 0xf]
xor ch, cl
xor al, cl
mov byte [esp + 0xe], 0x14
mov byte [esp + 0x49], al
mov dh, 0x15
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.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100ae9d0]
xor ecx, ecx
movups xmmword [esp + 0x244], xmm0
mov word [esp + 0x254], 9
nop dword [eax + eax]
mov al, byte [esp + 0x244]
xor byte [esp + ecx + 0x245], al
inc ecx
cmp ecx, 0x10
jb 0x10049c30
lea eax, [esp + 0x245]
mov byte [esp + 0x255], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x66
mov dword [esp + 0xa8], 0x16072866
mov dword [esp + 0xac], 0x4615030f
xor eax, eax
mov dword [esp + 0xb0], 0x1140921
mov word [esp + 0xb4], 3
xor byte [esp + eax + 0xa9], cl
inc eax
cmp eax, 0xc
jae 0x10049ca8
mov cl, byte [esp + 0xa8]
jmp 0x10049c92
lea eax, [esp + 0xa9]
mov byte [esp + 0xb5], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100af210]
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 0x10049ce0
lea eax, [esp + 0x30d]
mov byte [esp + 0x31c], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100aeb90]
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 0x10049d30
lea eax, [esp + 0x359]
mov byte [esp + 0x367], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100aeba0]
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 0x10049d80
lea eax, [esp + 0x369]
mov byte [esp + 0x377], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 6
mov dword [esp + 0x68], 0x74694b06
mov dword [esp + 0x6c], 0x68696267
xor eax, eax
mov dword [esp + 0x70], 0x74675126
mov byte [esp + 0x74], 0
xor byte [esp + eax + 0x69], cl
inc eax
cmp eax, 0xb
jae 0x10049de4
mov cl, byte [esp + 0x68]
jmp 0x10049dd4
lea eax, [esp + 0x69]
mov byte [esp + 0x74], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 0x34
mov byte [esp + 0x17f], 0
mov al, 0x7b
mov byte [esp + 0x178], dh
mov ah, 0x50
mov byte [esp + 0x17f], 0
xor al, dh
xor ah, dh
mov cl, 0x46
mov byte [esp + 0x179], al
mov ch, 0x47
mov byte [esp + 0x17d], ah
xor cl, dh
lea eax, [esp + 0x179]
xor ch, dh
mov byte [esp + 0x17a], cl
mov dl, 0x51
mov byte [esp + 0x17e], ch
mov bl, 0x55
xor dl, dh
xor bl, dh
mov byte [esp + 0x17b], dl
push eax
mov ecx, esi
mov byte [esp + 0x180], bl
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esp + 0x4c], 0x7b
mov al, 0x28
xor al, byte [esp + 0x4c]
mov ah, 0x5b
mov byte [esp + 0x4d], al
mov cl, 0x15
mov al, byte [esp + 0x4c]
mov dl, 0x14
xor ah, al
mov byte [esp + 0x55], 0
mov ch, 0x2c
mov byte [esp + 0x51], ah
mov dh, 0x1a
mov byte [esp + 0x55], 0
xor cl, al
xor ch, al
mov bl, 0xc
mov byte [esp + 0x4e], cl
mov bh, 9
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.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x63
mov dword [esp + 0x78], 0xf0c2063
mov dword [esp + 0x7c], 0x431a0d0c
xor eax, eax
mov dword [esp + 0x80], 0x60d0c39
mov byte [esp + 0x84], 0
nop
xor byte [esp + eax + 0x79], cl
inc eax
cmp eax, 0xb
jae 0x10049f10
mov cl, byte [esp + 0x78]
jmp 0x10049f00
lea eax, [esp + 0x79]
mov byte [esp + 0x84], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov bh, 5
mov byte [esp + 0x1a4], 0
mov al, 0x44
mov byte [esp + 0x19c], bh
mov cl, 0x77
mov byte [esp + 0x1a4], 0
mov ah, 0x60
mov bl, cl
xor al, bh
xor ah, bh
mov ch, 0x64
mov byte [esp + 0x19d], al
xor cl, bh
mov byte [esp + 0x1a1], ah
xor ch, bh
mov byte [esp + 0x19e], cl
mov dl, 0x61
mov byte [esp + 0x1a2], ch
mov dh, 0x68
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.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100af9e0]
xor ecx, ecx
movups xmmword [esp + 0x258], xmm0
mov word [esp + 0x268], 0x71
nop dword [eax]
nop dword [eax + eax]
mov al, byte [esp + 0x258]
xor byte [esp + ecx + 0x259], al
inc ecx
cmp ecx, 0x10
jb 0x10049fd0
lea eax, [esp + 0x259]
mov byte [esp + 0x269], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x17
mov dword [esp + 0x128], 0x78655c17
mov dword [esp + 0x12c], 0x376d7660
xor eax, eax
mov dword [esp + 0x130], 0x7e7a7853
mov word [esp + 0x134], 0x7978
mov byte [esp + 0x136], 0
nop word [eax + eax]
xor byte [esp + eax + 0x129], cl
inc eax
cmp eax, 0xd
jae 0x1004a056
mov cl, byte [esp + 0x128]
jmp 0x1004a040
lea eax, [esp + 0x129]
mov byte [esp + 0x136], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x18
mov dword [esp + 0x118], 0x71765318
mov dword [esp + 0x11c], 0x386c707f
xor eax, eax
mov dword [esp + 0x120], 0x7961774a
mov word [esp + 0x124], 0x7d74
mov byte [esp + 0x126], 0
nop dword [eax]
xor byte [esp + eax + 0x119], cl
inc eax
cmp eax, 0xd
jae 0x1004a0c6
mov cl, byte [esp + 0x118]
jmp 0x1004a0b0
lea eax, [esp + 0x119]
mov byte [esp + 0x126], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100aee90]
xor ecx, ecx
movups xmmword [esp + 0x26c], xmm0
mov word [esp + 0x27c], 0x1d
mov al, byte [esp + 0x26c]
xor byte [esp + ecx + 0x26d], al
inc ecx
cmp ecx, 0x10
jb 0x1004a100
lea eax, [esp + 0x26d]
mov byte [esp + 0x27d], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100af340]
xor ecx, ecx
movups xmmword [esp + 0x1f0], xmm0
mov dword [esp + 0x200], 0x3c331e72
mov word [esp + 0x204], 0x36
nop dword [eax]
mov al, byte [esp + 0x1f0]
xor byte [esp + ecx + 0x1f1], al
inc ecx
cmp ecx, 0x14
jb 0x1004a160
lea eax, [esp + 0x1f1]
mov byte [esp + 0x205], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x3d
mov dword [esp + 0x108], 0x5352703d
mov dword [esp + 0x10c], 0x4f58494e
xor eax, eax
mov dword [esp + 0x110], 0x52496e1d
mov word [esp + 0x114], 0x5853
mov byte [esp + 0x116], 0
nop word [eax + eax]
xor byte [esp + eax + 0x109], cl
inc eax
cmp eax, 0xd
jae 0x1004a1e6
mov cl, byte [esp + 0x108]
jmp 0x1004a1d0
lea eax, [esp + 0x109]
mov byte [esp + 0x116], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x5c
mov dword [esp + 0xf8], 0x3233115c
mov dword [esp + 0xfc], 0x2e39282f
xor eax, eax
mov dword [esp + 0x100], 0x33280f7c
mov word [esp + 0x104], 0x3932
mov byte [esp + 0x106], 0
nop dword [eax]
xor byte [esp + eax + 0xf9], cl
inc eax
cmp eax, 0xd
jae 0x1004a256
mov cl, byte [esp + 0xf8]
jmp 0x1004a240
lea eax, [esp + 0xf9]
mov byte [esp + 0x106], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x26
mov dword [esp + 0xe8], 0x48496b26
mov dword [esp + 0xec], 0x54435255
xor eax, eax
mov dword [esp + 0xf0], 0x49527506
mov word [esp + 0xf4], 0x4348
mov byte [esp + 0xf6], 0
nop dword [eax]
xor byte [esp + eax + 0xe9], cl
inc eax
cmp eax, 0xd
jae 0x1004a2c6
mov cl, byte [esp + 0xe8]
jmp 0x1004a2b0
lea eax, [esp + 0xe9]
mov byte [esp + 0xf6], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100af2d0]
xor ecx, ecx
movups xmmword [esp + 0x21c], xmm0
mov dword [esp + 0x22c], 0x617244
mov al, byte [esp + 0x21c]
xor byte [esp + ecx + 0x21d], al
inc ecx
cmp ecx, 0x12
jb 0x1004a301
lea eax, [esp + 0x21d]
mov byte [esp + 0x22f], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100aea00]
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 0x1004a350
lea eax, [esp + 0x379]
mov byte [esp + 0x387], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100af650]
xor ecx, ecx
movups xmmword [esp + 0x280], xmm0
mov word [esp + 0x290], 0x46
nop
mov al, byte [esp + 0x280]
xor byte [esp + ecx + 0x281], al
inc ecx
cmp ecx, 0x10
jb 0x1004a3a0
lea eax, [esp + 0x281]
mov byte [esp + 0x291], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100aed30]
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 0x1004a3f0
lea eax, [esp + 0x321]
mov byte [esp + 0x330], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x6e
mov dword [esp + 0x88], 0xa02216e
mov dword [esp + 0x8c], 0x1c01234e
xor eax, eax
mov dword [esp + 0x90], 0x10a0f
mov byte [esp + 0x94], 0
xor byte [esp + eax + 0x89], cl
inc eax
cmp eax, 0xb
jae 0x1004a466
mov cl, byte [esp + 0x88]
jmp 0x1004a450
lea eax, [esp + 0x89]
mov byte [esp + 0x94], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 0x77
mov byte [esp + 0x187], 0
mov al, 0x27
mov byte [esp + 0x180], dh
mov ah, 0x18
mov byte [esp + 0x187], 0
xor al, dh
xor ah, dh
mov cl, 5
mov byte [esp + 0x181], al
mov ch, 0x19
mov byte [esp + 0x185], ah
xor cl, dh
lea eax, [esp + 0x181]
xor ch, dh
mov byte [esp + 0x182], cl
mov dl, 0x1e
mov byte [esp + 0x186], ch
mov bl, 4
xor dl, dh
xor bl, dh
mov byte [esp + 0x183], dl
push eax
mov ecx, esi
mov byte [esp + 0x188], bl
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x30
mov dword [esp + 0xd8], 0x59437930
mov dword [esp + 0xdc], 0x5f595c5c
xor eax, eax
mov dword [esp + 0xe0], 0x517c105e
mov word [esp + 0xe4], 0x4259
mov byte [esp + 0xe6], 0
nop
xor byte [esp + eax + 0xd9], cl
inc eax
cmp eax, 0xd
jae 0x1004a546
mov cl, byte [esp + 0xd8]
jmp 0x1004a530
lea eax, [esp + 0xd9]
mov byte [esp + 0xe6], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x10
mov dword [esp + 0xc8], 0x7c755610
mov dword [esp + 0xcc], 0x7f7b7e71
xor eax, eax
mov dword [esp + 0xd0], 0x715c3062
mov word [esp + 0xd4], 0x6279
mov byte [esp + 0xd6], 0
nop dword [eax]
xor byte [esp + eax + 0xc9], cl
inc eax
cmp eax, 0xd
jae 0x1004a5b6
mov cl, byte [esp + 0xc8]
jmp 0x1004a5a0
lea eax, [esp + 0xc9]
mov byte [esp + 0xd6], 0
push eax
mov ecx, esi
call fcn.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov bh, 0x34
mov byte [esp + 0x198], 0
mov cl, 0x5a
mov byte [esp + 0x190], bh
mov bl, cl
mov byte [esp + 0x198], 0
mov al, 0x61
mov ah, 0x5b
xor al, bh
xor ah, bh
mov ch, 0x43
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, 0x5f
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.10002610
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret