Function at 0x41a84e
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa
Encrypt data using speck

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x19c
mov eax, dword [0x7c3824]
xor eax, esp
mov dword [esp + 0x198], eax
xorpd xmm0, xmm0
movsd xmm4, qword [0x6129d8]
movsd xmm5, qword [0x6129e0]
movsd xmm6, qword [0x612228]
movsd xmm7, qword [0x6129e8]
xorpd xmm3, xmm3
movapd xmm1, xmm3
mulsd xmm1, qword [0x6129c8]
mulsd xmm1, xmm3
movapd xmm2, xmm3
mulsd xmm2, xmm3
subsd xmm1, xmm2
movapd xmm2, xmm3
mulsd xmm2, qword [0x6128d0]
mulsd xmm2, xmm3
addsd xmm2, qword [0x6129d0]
divsd xmm1, xmm2
addsd xmm1, xmm0
movapd xmm2, xmm3
mulsd xmm2, xmm4
addsd xmm2, xmm1
movapd xmm0, xmm5
cmpltsd xmm0, xmm1
andpd xmm2, xmm0
andnpd xmm0, xmm1
orpd xmm0, xmm2
addsd xmm3, xmm6
ucomisd xmm7, xmm3
ja 0x41a88e
xorpd xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x41a984
xor dword [esi], esp
push cx
imul edx, dword [edi + 0x43], 0x596e7223
jnp 0x41a957
cmp bl, byte [ebx + 0x4d]
inc ecx
and eax, 0x1f5b1d5a
push ecx
sub byte [ebp + 0x20], dl
push esp
and eax, 0x1e5d2655
push ebx
and dword [ecx + 0x2a], edx
push edi
sub dl, byte [ebp + 0x23]
push edx
sub edx, dword [edx + 0x22]
push eax
and bl, byte [ebp + 0x26]
pop ebp
sub al, 0x5b
push edx
sub byte [ebp + 0x1d], bl
pop ebp
sub dl, byte [eax + 0x24]
pop esi
push ds
pop eax
and dl, byte [esi + 0x2a]
pop esp
pop ds
pop ebp
push ds
pop edi
sbb eax, 0x295b215c
pop esi
sub byte [ebp + 0x1f], bl
push esi
pop eax
pop esp
and bl, byte [ebx + ebp + 0x58]
and edx, dword [esi + 0x20]
pop edi
pop ds
push edi
and al, 0x5b
pop ds
pop ebp
sub byte [eax + 0x2c], bl
pop eax
sub al, 0x56
sub ebx, dword [edi + 0x22]
push esi
sbb eax, 0x1d581e50
pop esi
push ds
pop edi
pop ds
push esi
push ds
pop ecx
sub edx, dword [ebp - 0x17]
fild dword [eax + eax]
add byte [ebp + 0x41a91505], cl
add byte [ecx + 0x66102444], cl
movq mm1, qword [0x612110]
lea eax, [0x41a915]
mov dword [esp + 0x10], eax
movdqa xmm1, xmmword [0x612110]
xor eax, eax
movdqa xmm2, xmmword [0x612120]
movdqu xmmword [esp + eax + 0x2e], xmm1
add eax, 0x10
paddb xmm1, xmm2
cmp eax, 0x100
jne 0x41a9a0
movsd xmm1, qword [0x612130]
movapd xmm2, xmm0
subsd xmm2, xmm1
cvttsd2si eax, xmm2
lea ecx, [0x41a903]
mov dword [esp + 8], ecx
xor eax, 0x80000000
cvttsd2si ecx, xmm0
ucomisd xmm0, xmm1
cmovae ecx, eax
mov eax, ecx
shr eax, 0x18
mov dword [esp], eax
mov dword [esp + 4], ecx
shr ecx, 0x10
mov dword [esp + 0xc], ecx
mov ebp, 0xff
xor ebx, ebx
xor ecx, ecx
xor edx, edx
inc edx
cmp ebp, 2
jb 0x41aa10
xor edx, edx
inc edx
add edx, edx
inc edx
cmp edx, ebp
jb 0x41aa09
mov edi, 0xc
cmp ecx, 3
ja case.default.0x41aa1a
jmp dword [ecx*4 + 0x612bf8]
movzx eax, bl
lea esi, [esp + eax]
add esi, 0x2e
mov eax, dword [esp + 4]
jmp 0x41aa6e
movzx eax, bl
mov al, byte [esp + eax + 0x2e]
mov esi, dword [esp + 8]
add esi, ecx
add esi, 0xfffffffc
jmp 0x41aa6e
movzx eax, bl
lea esi, [esp + eax]
add esi, 0x2e
mov eax, dword [esp + 4]
mov al, ah
jmp 0x41aa6e
movzx eax, bl
lea esi, [esp + eax]
add esi, 0x2e
mov eax, dword [esp + 0xc]
jmp 0x41aa6e
movzx eax, bl
lea esi, [esp + eax]
add esi, 0x2e
mov eax, dword [esp]
add al, byte [esi]
inc ecx
movzx esi, al
add al, 0x16
cmp ecx, 0x15
mov ebx, 0
cmova ecx, ebx
movzx ebx, al
cmovbe ebx, esi
movzx esi, bl
mov eax, edx
and eax, esi
dec edi
je 0x41aa97
cmp eax, ebp
ja 0x41aa15
jmp 0x41aa9d
xor edx, edx
div ebp
mov eax, edx
cmp ebp, eax
je 0x41aab9
mov dl, byte [esp + ebp + 0x2e]
xor dl, byte [esp + eax + 0x2e]
mov byte [esp + ebp + 0x2e], dl
xor dl, byte [esp + eax + 0x2e]
mov byte [esp + eax + 0x2e], dl
xor byte [esp + ebp + 0x2e], dl
dec ebp
jne 0x41a9fe
movzx edx, byte [esp + 0x2f]
mov dword [esp + 8], edx
mov al, byte [esp + 0x33]
movzx ebp, byte [esp + 0x35]
movzx esi, byte [esp + esi + 0x2e]
mov ecx, dword [esp + 0x10]
mov ah, byte [ecx]
mov bh, byte [ecx + 1]
movzx ecx, byte [esp + esi + 0x2e]
mov dword [esp + 0xc], ecx
mov cl, byte [esp + edx + 0x2e]
add cl, byte [esp + 0x31]
mov byte [esp + 4], cl
movzx edi, cl
mov cl, byte [esp + edi + 0x2e]
mov byte [esp + esi + 0x2e], cl
mov cl, byte [esp + ebp + 0x2e]
mov byte [esp + edi + 0x2e], cl
mov ecx, edx
inc cl
movzx edx, cl
mov bl, byte [esp + edx + 0x2e]
mov byte [esp + ebp + 0x2e], bl
mov ecx, dword [esp + 0xc]
mov byte [esp + edx + 0x2e], cl
add bh, 0xb0
shl ah, 4
add ah, 0x30
or ah, bh
movzx ebx, byte [esp + edi + 0x2e]
add ebx, ecx
mov edx, ecx
mov ecx, 0xff
and ebx, ecx
mov ecx, 0xff
movzx edi, ah
xor ah, byte [esp + ebx + 0x2e]
movzx ebx, byte [esp + ebp + 0x2e]
movzx esi, byte [esp + esi + 0x2e]
add esi, ebx
add al, byte [esp + edx + 0x2e]
mov ebp, edx
movzx ebx, al
movzx ebx, byte [esp + ebx + 0x2e]
add ebx, esi
and ebx, ecx
movzx esi, byte [esp + ebx + 0x2e]
xor ah, byte [esp + esi + 0x2e]
mov ecx, dword [esp + 0x10]
mov dh, byte [ecx + 2]
mov cl, byte [ecx + 3]
mov byte [esp], cl
mov dl, byte [esp + 4]
mov ecx, ebp
add dl, cl
movzx esi, dl
mov ch, byte [esp + esi + 0x2e]
movzx ebx, byte [esp + edi + 0x2e]
mov dword [esp + 4], ebx
mov byte [esp + edi + 0x2e], ch
movzx ebp, ah
mov ah, byte [esp + ebp + 0x2e]
mov byte [esp + esi + 0x2e], ah
mov ecx, dword [esp + 8]
mov ah, cl
add ah, 2
movzx ecx, ah
mov ah, byte [esp + ecx + 0x2e]
mov byte [esp + ebp + 0x2e], ah
mov byte [esp + ecx + 0x2e], bl
mov cl, byte [esp]
add cl, 0xb0
shl dh, 4
add dh, 0x30
or dh, cl
movzx ecx, byte [esp + esi + 0x2e]
add ecx, ebx
mov esi, 0xff
and ecx, esi
movzx esi, dh
mov dword [esp + 0xc], esi
xor dh, byte [esp + ecx + 0x2e]
add al, byte [esp + ebx + 0x2e]
movzx ecx, byte [esp + ebp + 0x2e]
movzx ebx, byte [esp + edi + 0x2e]
add ebx, ecx
movzx ecx, al
movzx ecx, byte [esp + ecx + 0x2e]
add ecx, ebx
mov esi, dword [esp + 0x10]
mov edi, 0xff
and ecx, edi
movzx ecx, byte [esp + ecx + 0x2e]
xor dh, byte [esp + ecx + 0x2e]
movsx ecx, dh
mov word [esp + 0x12e], cx
mov ah, byte [esi + 4]
mov cl, byte [esi + 5]
mov byte [esp], cl
add dl, byte [esp + 4]
mov byte [esp + 4], dl
movzx ebp, dl
mov ch, byte [esp + ebp + 0x2e]
mov edi, dword [esp + 0xc]
movzx ebx, byte [esp + edi + 0x2e]
mov byte [esp + edi + 0x2e], ch
movzx esi, dh
mov dh, byte [esp + esi + 0x2e]
mov byte [esp + ebp + 0x2e], dh
mov ecx, dword [esp + 8]
mov dh, cl
add dh, 3
movzx ecx, dh
mov dh, byte [esp + ecx + 0x2e]
mov byte [esp + esi + 0x2e], dh
mov byte [esp + ecx + 0x2e], bl
movzx ecx, byte [esp + esi + 0x2e]
movzx esi, byte [esp + edi + 0x2e]
add esi, ecx
add al, byte [esp + ebx + 0x2e]
movzx ecx, al
movzx ecx, byte [esp + ecx + 0x2e]
add ecx, esi
mov dl, byte [esp]
add dl, 0xb0
shl ah, 4
add ah, 0x30
or ah, dl
movzx esi, byte [esp + ebp + 0x2e]
mov edi, ebx
add esi, ebx
mov ebx, 0xff
and esi, ebx
mov dh, byte [esp + esi + 0x2e]
xor dh, ah
and ecx, ebx
movzx ecx, byte [esp + ecx + 0x2e]
xor dh, byte [esp + ecx + 0x2e]
movsx ecx, dh
mov word [esp + 0x130], cx
mov ecx, dword [esp + 8]
add cl, 4
movzx ecx, cl
mov dword [esp + 8], ecx
xor esi, esi
mov byte [esp], al
mov ecx, edi
mov al, byte [esp + 4]
add al, cl
movzx ebp, ah
mov ecx, dword [esp + 0x10]
mov ah, byte [ecx + esi*2 + 6]
mov cl, byte [ecx + esi*2 + 7]
mov byte [esp + 0xc], cl
movzx ebx, byte [esp + ebp + 0x2e]
mov byte [esp + 4], al
movzx edi, al
mov dword [esp + 0x14], edi
mov cl, byte [esp + edi + 0x2e]
mov byte [esp + ebp + 0x2e], cl
mov ecx, dword [esp + 8]
add ecx, esi
movzx edx, dh
mov al, byte [esp + edx + 0x2e]
mov byte [esp + edi + 0x2e], al
mov edi, 0xff
and ecx, edi
mov al, byte [esp + ecx + 0x2e]
mov byte [esp + edx + 0x2e], al
mov al, byte [esp]
mov byte [esp + ecx + 0x2e], bl
add al, byte [esp + ebx + 0x2e]
movzx ecx, byte [esp + edx + 0x2e]
movzx edx, byte [esp + ebp + 0x2e]
add edx, ecx
movzx ecx, al
movzx ecx, byte [esp + ecx + 0x2e]
add ecx, edx
mov dl, byte [esp + 0xc]
add dl, 0xb0
shl ah, 4
add ah, 0x30
or ah, dl
mov edx, dword [esp + 0x14]
movzx edx, byte [esp + edx + 0x2e]
mov edi, ebx
add edx, ebx
mov ebx, 0xff
and edx, ebx
mov dh, byte [esp + edx + 0x2e]
xor dh, ah
and ecx, ebx
movzx ecx, byte [esp + ecx + 0x2e]
xor dh, byte [esp + ecx + 0x2e]
movsx ecx, dh
mov word [esp + esi*2 + 0x132], cx
inc esi
cmp esi, 0x18
jne 0x41acc5
add dword [esp + 8], esi
xor esi, esi
mov ebp, dword [esp + 0x10]
mov byte [esp], al
mov ecx, edi
mov al, byte [esp + 4]
add al, cl
mov byte [esp + 4], al
movzx edi, ah
mov ah, byte [ebp + esi*2 + 0x36]
mov cl, byte [ebp + esi*2 + 0x37]
mov byte [esp + 0x14], cl
movzx ecx, byte [esp + edi + 0x2e]
mov dword [esp + 0xc], ecx
movzx ebp, al
mov dl, byte [esp + ebp + 0x2e]
mov byte [esp + edi + 0x2e], dl
movzx edx, dh
mov bl, byte [esp + edx + 0x2e]
mov byte [esp + ebp + 0x2e], bl
movzx ecx, byte [esp + 8]
mov al, byte [esp + ecx + 0x2e]
mov byte [esp + edx + 0x2e], al
mov al, byte [esp]
mov ebx, dword [esp + 0xc]
mov byte [esp + ecx + 0x2e], bl
add al, byte [esp + ebx + 0x2e]
movzx edx, byte [esp + edx + 0x2e]
movzx ecx, byte [esp + edi + 0x2e]
add ecx, edx
movzx edx, al
movzx ebx, byte [esp + edx + 0x2e]
add ebx, ecx
mov cl, byte [esp + 0x14]
add cl, 0xb0
shl ah, 4
add ah, 0x30
or ah, cl
movzx ecx, byte [esp + ebp + 0x2e]
mov edx, dword [esp + 0xc]
mov edi, edx
add ecx, edx
mov ebp, 0xff
and ecx, ebp
mov dh, byte [esp + ecx + 0x2e]
xor dh, ah
and ebx, ebp
movzx ecx, byte [esp + ebx + 0x2e]
mov ebp, dword [esp + 0x10]
xor dh, byte [esp + ecx + 0x2e]
movsx ecx, dh
mov word [esp + esi*2 + 0x162], cx
mov ecx, dword [esp + 8]
inc cl
mov dword [esp + 8], ecx
inc esi
cmp esi, 0x1a
jne 0x41ad8f
mov word [esp + 0x196], 0
xorpd xmm4, xmm4
movsd xmm5, qword [0x612a08]
movsd xmm6, qword [0x612a10]
movsd xmm7, qword [0x612280]
movsd xmm2, qword [0x612a18]
xorpd xmm0, xmm0
movapd xmm1, xmm4
mulsd xmm1, qword [0x6129f0]
mulsd xmm1, xmm4
movapd xmm3, xmm4
movaps xmm3, xmm4
mulsd xmm3, xmm4
mulps xmm3, xmm4
fdivr st(2), st(0)
subsd xmm1, xmm3
subps xmm1, xmm3
movapd xmm3, xmm4
mulsd xmm3, qword [0x6129f8]
sbb eax, 0x6129f8
clc
sub dword [ecx], esp
add dl, dh
mulps xmm3, xmm4
mulsd xmm3, xmm4
addsd xmm3, qword [0x612a00]
divsd xmm1, xmm3
addsd xmm1, xmm0
movapd xmm3, xmm4
mulsd xmm3, xmm5
addsd xmm3, xmm1
movapd xmm0, xmm6
cmpltsd xmm0, xmm1
andpd xmm3, xmm0
andnpd xmm0, xmm1
orpd xmm0, xmm3
addsd xmm4, xmm7
ucomisd xmm2, xmm4
ja 0x41ae87
xorpd xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x41af2e
jne 0x41ae98
jbe 0x41ae9c
jae 0x41aea0
je 0x41ae9e
jne 0x41ae9f
pushfd
je 0x41aeae
jae 0x41aeab
jo 0x41aeaa
cmp dword [ecx + 0x3a], edi
inc esi
jno 0x41af8c
push eax
jno 0x41af6f
sub dword [ecx + 0x2d], ebx
pop ecx
dec edx
aas
and al, 0x5f
jge 0x41af45
pop eax
jns 0x41af63
push esi
pop ecx
jp 0x41af6c
dec edi
and dh, byte [edx]
pop edx
jmp 0x41b4cb
lea eax, [0x41aef8]
mov dword [esp + 0x10], eax
movdqa xmm1, xmmword [0x612110]
xor eax, eax
movdqa xmm2, xmmword [0x612120]
adc eax, 0x612120
movdqu xmmword [esp + eax + 0x2e], xmm1
add eax, 0x10
paddb xmm1, xmm2
cmp eax, 0x100
jne 0x41af4a
movsd xmm1, qword [0x612130]
and dword [ecx], esp
movapd xmm2, xmm0
subsd xmm2, xmm1
cvttsd2si eax, xmm2
pop esp
sal edx, 1
cvttps2pi mm0, xmm2
lea ecx, [0x41af0a]
mov dword [esp + 8], ecx
xor eax, 0x80000000
cvttsd2si ecx, xmm0
ucomisd xmm0, xmm1
cmovae ecx, eax
mov eax, ecx
shr eax, 0x18
mov dword [esp], eax
mov dword [esp + 4], ecx
shr ecx, 0x10
mov dword [esp + 0xc], ecx
mov ebp, 0xff
xor ecx, ecx
xor ebx, ebx
xor edx, edx
inc edx
cmp ebp, 2
jb 0x41afba
xor edx, edx
inc edx
add edx, edx
inc edx
cmp edx, ebp
jb 0x41afb3
mov edi, 0xc
cmp ecx, 3
ja case.default.0x41afc4
jmp dword [ecx*4 + 0x612c08]
movzx eax, bl
add eax, esp
add eax, 0x2e
mov ebx, dword [esp + 4]
jmp 0x41b014
movzx eax, bl
mov bl, byte [esp + eax + 0x2e]
mov eax, dword [esp + 8]
add eax, ecx
add eax, 0xfffffffc
jmp 0x41b014
movzx eax, bl
add eax, esp
add eax, 0x2e
mov ebx, dword [esp + 4]
mov bl, bh
jmp 0x41b014
movzx eax, bl
add eax, esp
add eax, 0x2e
mov ebx, dword [esp + 0xc]
jmp 0x41b014
movzx eax, bl
add eax, esp
add eax, 0x2e
mov ebx, dword [esp]
add bl, byte [eax]
inc ecx
movzx eax, bl
add bl, 0x23
cmp ecx, 0x22
movzx ebx, bl
cmovbe ebx, eax
mov eax, 0
cmova ecx, eax
movzx esi, bl
mov eax, edx
and eax, esi
dec edi
je 0x41b03e
cmp eax, ebp
ja 0x41afbf
jmp 0x41b044
xor edx, edx
div ebp
mov eax, edx
cmp ebp, eax
je 0x41b060
mov dl, byte [esp + ebp + 0x2e]
xor dl, byte [esp + eax + 0x2e]
mov byte [esp + ebp + 0x2e], dl
xor dl, byte [esp + eax + 0x2e]
mov byte [esp + eax + 0x2e], dl
xor byte [esp + ebp + 0x2e], dl
dec ebp
jne 0x41afa8
movzx eax, byte [esp + 0x2f]
mov cl, byte [esp + 0x33]
mov byte [esp + 4], cl
movzx edi, byte [esp + 0x35]
movzx esi, byte [esp + esi + 0x2e]
mov edx, dword [esp + 0x10]
mov cl, byte [edx]
mov ch, byte [edx + 1]
mov byte [esp], ch
movzx ebp, byte [esp + esi + 0x2e]
mov ch, byte [esp + eax + 0x2e]
add ch, byte [esp + 0x31]
mov byte [esp + 8], ch
movzx ebx, ch
mov ch, byte [esp + ebx + 0x2e]
mov byte [esp + esi + 0x2e], ch
mov ch, byte [esp + edi + 0x2e]
mov byte [esp + ebx + 0x2e], ch
mov dword [esp + 0x14], eax
mov ch, al
mov eax, ebp
inc ch
movzx ebp, ch
mov ch, byte [esp + ebp + 0x2e]
mov byte [esp + edi + 0x2e], ch
mov byte [esp + ebp + 0x2e], al
mov ch, byte [esp]
add ch, 0x66
shl cl, 4
add cl, 0x90
or cl, ch
mov ch, byte [esp + 4]
add ch, byte [esp + eax + 0x2e]
movzx ebx, byte [esp + ebx + 0x2e]
add ebx, eax
movzx edi, byte [esp + edi + 0x2e]
movzx esi, byte [esp + esi + 0x2e]
add esi, edi
mov byte [esp + 4], ch
movzx edi, ch
movzx edi, byte [esp + edi + 0x2e]
add edi, esi
mov esi, edx
mov edx, 0xff
and ebx, edx
mov ch, byte [esp + ebx + 0x2e]
xor ch, cl
and edi, edx
movzx edi, byte [esp + edi + 0x2e]
xor ch, byte [esp + edi + 0x2e]
xor ebx, ebx
mov ebp, ebx
mov dh, byte [esp + 8]
add dh, al
movzx edi, cl
mov cl, byte [esi + ebx*2 + 2]
mov eax, dword [esp + 0x10]
mov al, byte [eax + ebx*2 + 3]
mov byte [esp], al
movzx ebx, byte [esp + edi + 0x2e]
mov byte [esp + 8], dh
movzx eax, dh
mov dword [esp + 0xc], eax
mov dh, byte [esp + eax + 0x2e]
mov byte [esp + edi + 0x2e], dh
movzx esi, ch
mov ch, byte [esp + esi + 0x2e]
mov byte [esp + eax + 0x2e], ch
mov eax, dword [esp + 0x14]
add eax, ebp
add eax, 2
mov edx, 0xff
and eax, edx
mov ch, byte [esp + eax + 0x2e]
mov byte [esp + esi + 0x2e], ch
mov byte [esp + eax + 0x2e], bl
mov ch, byte [esp + 4]
add ch, byte [esp + ebx + 0x2e]
movzx eax, byte [esp + esi + 0x2e]
movzx esi, byte [esp + edi + 0x2e]
add esi, eax
mov byte [esp + 4], ch
movzx eax, ch
movzx eax, byte [esp + eax + 0x2e]
add eax, esi
mov dl, byte [esp]
add dl, 0x66
shl cl, 4
add cl, 0x90
or cl, dl
mov edx, dword [esp + 0xc]
movzx edx, byte [esp + edx + 0x2e]
add edx, ebx
mov edi, 0xff
and edx, edi
mov ch, byte [esp + edx + 0x2e]
mov esi, dword [esp + 0x10]
xor ch, cl
and eax, edi
movzx eax, byte [esp + eax + 0x2e]
xor ch, byte [esp + eax + 0x2e]
movsx eax, ch
mov word [esp + ebp*2 + 0x1c], ax
mov eax, ebx
lea ebx, [ebp + 1]
cmp ebx, 2
jne 0x41b11a
mov dl, byte [esi + 6]
mov dh, byte [esi + 7]
movzx edi, cl
mov cl, byte [esp + 8]
add cl, al
mov byte [esp + 8], cl
mov eax, edi
mov dword [esp + 0xc], edi
movzx edi, byte [esp + edi + 0x2e]
movzx ebp, cl
mov cl, byte [esp + ebp + 0x2e]
mov byte [esp + eax + 0x2e], cl
movzx esi, ch
mov al, byte [esp + esi + 0x2e]
mov byte [esp + ebp + 0x2e], al
mov eax, dword [esp + 0x14]
add eax, ebx
add eax, 2
mov ecx, 0xff
and eax, ecx
mov cl, byte [esp + eax + 0x2e]
mov byte [esp + esi + 0x2e], cl
mov ecx, edi
mov byte [esp + eax + 0x2e], cl
add dh, 0x66
shl dl, 4
add dl, 0x90
or dl, dh
movzx eax, byte [esp + ebp + 0x2e]
add eax, edi
mov ebp, 0xff
and eax, ebp
movzx edi, dl
mov dword [esp], edi
xor dl, byte [esp + eax + 0x2e]
mov dh, byte [esp + 4]
add dh, byte [esp + ecx + 0x2e]
mov byte [esp + 4], dh
mov edi, ecx
movzx eax, byte [esp + esi + 0x2e]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx + 0x2e]
add ecx, eax
movzx eax, dh
movzx eax, byte [esp + eax + 0x2e]
add eax, ecx
and eax, ebp
movzx eax, byte [esp + eax + 0x2e]
xor dl, byte [esp + eax + 0x2e]
movsx eax, dl
mov word [esp + 0x20], ax
mov eax, dword [esp + 0x10]
mov cl, byte [eax + 8]
mov byte [esp + 0xc], cl
mov dh, byte [eax + 9]
mov al, byte [esp + 8]
mov ecx, edi
add al, cl
mov byte [esp + 8], al
mov ecx, dword [esp]
movzx edi, byte [esp + ecx + 0x2e]
movzx esi, al
mov al, byte [esp + esi + 0x2e]
mov byte [esp + ecx + 0x2e], al
movzx ebp, dl
mov al, byte [esp + ebp + 0x2e]
mov byte [esp + esi + 0x2e], al
mov eax, dword [esp + 0x14]
add eax, ebx
add eax, 3
mov ecx, 0xff
and eax, ecx
mov cl, byte [esp + eax + 0x2e]
mov byte [esp + ebp + 0x2e], cl
mov ecx, edi
mov byte [esp + eax + 0x2e], cl
mov al, byte [esp + 0xc]
shl al, 4
add al, 0x90
add dh, 0x66
or dh, al
movzx eax, byte [esp + esi + 0x2e]
add eax, edi
mov esi, 0xff
and eax, esi
movzx edi, dh
mov dword [esp + 0xc], edi
xor dh, byte [esp + eax + 0x2e]
mov dl, byte [esp + 4]
add dl, byte [esp + ecx + 0x2e]
mov edi, ecx
movzx eax, byte [esp + ebp + 0x2e]
mov ecx, dword [esp]
movzx ebp, byte [esp + ecx + 0x2e]
add ebp, eax
movzx eax, dl
movzx eax, byte [esp + eax + 0x2e]
add eax, ebp
and eax, esi
movzx eax, byte [esp + eax + 0x2e]
xor dh, byte [esp + eax + 0x2e]
movsx eax, dh
mov word [esp + 0x22], ax
mov eax, dword [esp + 0x10]
mov cl, byte [eax + 0xa]
mov al, byte [eax + 0xb]
mov byte [esp], al
mov ch, byte [esp + 8]
mov eax, edi
add ch, al
mov esi, dword [esp + 0xc]
movzx eax, byte [esp + esi + 0x2e]
mov byte [esp + 8], ch
movzx edi, ch
mov dword [esp + 0x18], edi
mov ch, byte [esp + edi + 0x2e]
mov byte [esp + esi + 0x2e], ch
movzx ebp, dh
mov ch, byte [esp + ebp + 0x2e]
mov byte [esp + edi + 0x2e], ch
mov esi, dword [esp + 0x14]
add esi, ebx
add esi, 4
mov edi, 0xff
and esi, edi
mov ch, byte [esp + esi + 0x2e]
mov byte [esp + ebp + 0x2e], ch
mov byte [esp + esi + 0x2e], al
add dl, byte [esp + eax + 0x2e]
movzx esi, byte [esp + ebp + 0x2e]
mov edi, dword [esp + 0xc]
movzx ebp, byte [esp + edi + 0x2e]
add ebp, esi
mov byte [esp + 4], dl
movzx esi, dl
movzx esi, byte [esp + esi + 0x2e]
add esi, ebp
mov dl, byte [esp]
add dl, 0x66
shl cl, 4
add cl, 0x90
or cl, dl
mov edx, dword [esp + 0x18]
movzx ebp, byte [esp + edx + 0x2e]
mov dword [esp], eax
add ebp, eax
mov eax, 0xff
and ebp, eax
mov ch, byte [esp + ebp + 0x2e]
xor ch, cl
and esi, eax
movzx esi, byte [esp + esi + 0x2e]
xor ch, byte [esp + esi + 0x2e]
movsx esi, ch
mov word [esp + 0x24], si
mov eax, dword [esp + 0x14]
add eax, ebx
add al, 5
xor esi, esi
mov bl, byte [esp + 8]
add bl, byte [esp]
movzx ebp, cl
mov edi, dword [esp + 0x10]
mov cl, byte [edi + esi + 0xc]
mov dl, byte [edi + esi + 0xd]
mov byte [esp + 0xc], dl
movzx edx, byte [esp + ebp + 0x2e]
mov dword [esp], edx
mov byte [esp + 8], bl
movzx edx, bl
mov dword [esp + 0x14], edx
mov bh, byte [esp + edx + 0x2e]
mov byte [esp + ebp + 0x2e], bh
movzx edi, ch
mov ch, byte [esp + edi + 0x2e]
mov byte [esp + edx + 0x2e], ch
mov ebx, eax
movzx edx, bl
mov ch, byte [esp + edx + 0x2e]
mov byte [esp + edi + 0x2e], ch
mov eax, dword [esp]
mov byte [esp + edx + 0x2e], al
mov ch, byte [esp + 4]
add ch, byte [esp + eax + 0x2e]
movzx eax, byte [esp + edi + 0x2e]
movzx edx, byte [esp + ebp + 0x2e]
add edx, eax
mov byte [esp + 4], ch
movzx eax, ch
movzx eax, byte [esp + eax + 0x2e]
add eax, edx
mov dl, byte [esp + 0xc]
add dl, 0x66
shl cl, 4
add cl, 0x90
or cl, dl
mov edx, dword [esp + 0x14]
movzx edx, byte [esp + edx + 0x2e]
add edx, dword [esp]
mov edi, 0xff
and edx, edi
mov ch, byte [esp + edx + 0x2e]
xor ch, cl
and eax, edi
movzx eax, byte [esp + eax + 0x2e]
xor ch, byte [esp + eax + 0x2e]
movsx eax, ch
mov word [esp + esi + 0x26], ax
add esi, 2
inc bl
mov eax, ebx
cmp esi, 8
jne 0x41b403
mov word [esp + 0x2c], 0
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x12e]
push 0x50000
push eax
push ecx
push dword [esp + 0x1bc]
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [esp + 0x198]
xor ecx, esp
call fcn.005db451
add esp, 0x19c
pop esi
pop edi
pop ebx
pop ebp
ret