Function at 0x41dbf6
Capabilities:
Encode data using xor
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0x50
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x24]
mov edx, dword [ebp + 0x28]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
mov esi, dword [ebp + 0x38]
mov ebx, dword [ebp + 0x3c]
mov dword [esp + 0x20], ebx
mov edi, dword [ebp + 0x18]
movzx ebx, byte [edi + 1]
mov eax, dword [ebp + 0x18]
movzx edx, byte [eax + 3]
shr dl, 6
mov byte [esp + 0x48], dl
mov edi, dword [ebp + 0x34]
test edi, edi
je 0x41e184
test esi, esi
je 0x41e184
add esi, 0x80000000
pxor xmm1, xmm1
cvtsi2sd xmm1, esi
movsd xmm2, qword [0x4a5b08]
addsd xmm1, xmm2
mov esi, dword [ebp + 0x34]
add esi, 0x80000000
pxor xmm0, xmm0
cvtsi2sd xmm0, esi
addsd xmm0, xmm2
divsd xmm1, xmm0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
movd xmm3, eax
movd xmm4, edx
punpckldq xmm3, xmm4
movq qword [esp + 0x40], xmm3
fild qword [esp + 0x40]
test edx, edx
jns 0x41dca0
fadd dword [0x4a5b10]
fstp qword [esp + 0x38]
movsd xmm5, qword [esp + 0x38]
mulsd xmm5, xmm1
movsd xmm1, qword [0x4a5b18]
addsd xmm5, xmm1
movsd xmm6, qword [0x4a5b20]
comisd xmm5, xmm6
jae 0x41e198
fnstcw word [esp + 0x4e]
movzx eax, word [esp + 0x4e]
or ah, 0xc
mov word [esp + 0x4c], ax
movsd qword [esp + 0x38], xmm5
fld qword [esp + 0x38]
fldcw word [esp + 0x4c]
fistp qword [esp + 0x38]
fldcw word [esp + 0x4e]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x38], esi
and ebx, 8
jne 0x41e1de
mov eax, 0x240
mul dword [ebp + 8]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
add eax, 0xfffff970
adc edx, 0xffffffff
sub eax, esi
sbb edx, edi
mov ebx, 0xfff
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov edx, eax
xor eax, eax
cmp ebx, edx
sbb eax, dword [esp + 0x34]
jae 0x41e379
add esi, 0xb10
adc edi, 0
mov ebx, esi
and ebx, 0x3fffffff
mov eax, esi
mov edx, edi
shrd eax, edx, 0x1e
shr edx, 0x1e
and eax, 0x3fffffff
add ebx, eax
mov eax, edi
shr eax, 0x1c
add ebx, eax
mov eax, 0x38e38e39
mul ebx
mov eax, edx
shr eax, 1
and edx, 0xfffffffe
add edx, edx
add edx, edx
add eax, edx
sub ebx, eax
sub esi, ebx
sbb edi, 0
imul ebx, edi, 0x38e38e39
imul eax, esi, 0x8e38e38e
add ebx, eax
mov eax, 0x38e38e39
mul esi
mov esi, eax
mov edi, edx
add edi, ebx
shrd esi, edi, 6
mov dword [ebp + 8], esi
mov eax, esi
add eax, esi
add eax, eax
add eax, eax
add eax, esi
shl eax, 6
mov ebx, dword [esp + 0x38]
sub eax, ebx
sub eax, 0x690
mov dword [esp + 0x14], eax
mov esi, dword [ebp + 0x18]
cmp byte [esp + 0x48], 3
je 0x41e397
lea ebx, [esi + 0x15]
cmp dword [ebp + 0x10], 0xffffffff
je 0x41e246
cmp byte [ebx], 0x58
jne 0x41e261
cmp byte [ebx + 1], 0x69
jne 0x41e261
cmp byte [ebx + 2], 0x6e
jne 0x41e261
cmp byte [ebx + 3], 0x67
jne 0x41e261
mov eax, dword [ebx + 4]
mov dword [esp + 0x24], eax
test eax, 0x1000000
jne 0x41e369
add ebx, 8
test dword [esp + 0x24], 0x2000000
je 0x41de2f
mov esi, dword [ebp + 0xc]
bswap esi
mov dword [ebx], esi
add ebx, 4
test dword [esp + 0x24], 0x4000000
je 0x41e0d8
test ecx, ecx
je 0x41e740
lea esi, [ecx + 1]
mov eax, ebx
sub eax, esi
cmp eax, 0xe
jbe 0x41e6d2
mov edi, ecx
neg edi
mov eax, edi
and eax, 0xf
je 0x41eb49
movzx edx, byte [ecx]
mov byte [ebx], dl
test edi, 0xe
je 0x41eaa0
movzx edx, byte [ecx + 1]
mov byte [ebx + 1], dl
cmp eax, 2
jbe 0x41eb34
movzx edx, byte [ecx + 2]
mov byte [ebx + 2], dl
test edi, 0xc
je 0x41eb1f
movzx edx, byte [ecx + 3]
mov byte [ebx + 3], dl
cmp eax, 4
jbe 0x41eb5e
movzx edx, byte [ecx + 4]
mov byte [ebx + 4], dl
cmp eax, 5
je 0x41ebb2
movzx edx, byte [ecx + 5]
mov byte [ebx + 5], dl
cmp eax, 6
je 0x41eb9d
movzx edx, byte [ecx + 6]
mov byte [ebx + 6], dl
and edi, 8
je 0x41eb88
movzx edx, byte [ecx + 7]
mov byte [ebx + 7], dl
cmp eax, 8
jbe 0x41eb73
movzx edx, byte [ecx + 8]
mov byte [ebx + 8], dl
cmp eax, 9
je 0x41ec30
movzx edx, byte [ecx + 9]
mov byte [ebx + 9], dl
cmp eax, 0xa
je 0x41ec1b
movzx edx, byte [ecx + 0xa]
mov byte [ebx + 0xa], dl
cmp eax, 0xb
je 0x41ec06
movzx edx, byte [ecx + 0xb]
mov byte [ebx + 0xb], dl
cmp eax, 0xc
je 0x41ebf1
movzx edx, byte [ecx + 0xc]
mov byte [ebx + 0xc], dl
cmp eax, 0xd
je 0x41ebdc
movzx edx, byte [ecx + 0xd]
mov byte [ebx + 0xd], dl
cmp eax, 0xf
jne 0x41ebc7
movzx edx, byte [ecx + 0xe]
mov byte [ebx + 0xe], dl
mov dword [esp + 0x48], 0x55
mov dword [esp + 0x38], 0xf
mov esi, 0x64
sub esi, eax
lea edx, [ecx + eax]
add eax, ebx
movdqu xmm1, xmmword [edx]
movdqu xmmword [eax], xmm1
movdqu xmm7, xmmword [edx + 0x10]
movdqu xmmword [eax + 0x10], xmm7
movdqu xmm0, xmmword [edx + 0x20]
movdqu xmmword [eax + 0x20], xmm0
movdqu xmm2, xmmword [edx + 0x30]
movdqu xmmword [eax + 0x30], xmm2
movdqu xmm4, xmmword [edx + 0x40]
movdqu xmmword [eax + 0x40], xmm4
mov edi, esi
shr edi, 4
cmp edi, 6
jne 0x41eb0c
movdqu xmm3, xmmword [edx + 0x50]
movdqu xmmword [eax + 0x50], xmm3
mov eax, dword [esp + 0x38]
add eax, 0x60
mov edi, dword [esp + 0x48]
sub edi, 0x60
cmp esi, 0x60
je 0x41e734
movzx edx, byte [ecx + eax]
mov byte [ebx + eax], dl
cmp edi, 1
je 0x41e734
movzx edx, byte [ecx + eax + 1]
mov byte [ebx + eax + 1], dl
cmp edi, 2
je 0x41e734
movzx edx, byte [ecx + eax + 2]
mov byte [ebx + eax + 2], dl
cmp edi, 3
je 0x41e734
movzx edx, byte [ecx + eax + 3]
mov byte [ebx + eax + 3], dl
cmp edi, 4
je 0x41e734
movzx edx, byte [ecx + eax + 4]
mov byte [ebx + eax + 4], dl
cmp edi, 5
je 0x41e734
movzx edx, byte [ecx + eax + 5]
mov byte [ebx + eax + 5], dl
cmp edi, 6
je 0x41e734
movzx edx, byte [ecx + eax + 6]
mov byte [ebx + eax + 6], dl
cmp edi, 7
je 0x41e734
movzx edx, byte [ecx + eax + 7]
mov byte [ebx + eax + 7], dl
cmp edi, 8
je 0x41e734
movzx edx, byte [ecx + eax + 8]
mov byte [ebx + eax + 8], dl
cmp edi, 9
je 0x41e734
movzx edx, byte [ecx + eax + 9]
mov byte [ebx + eax + 9], dl
cmp edi, 0xa
je 0x41e734
movzx edx, byte [ecx + eax + 0xa]
mov byte [ebx + eax + 0xa], dl
cmp edi, 0xb
je 0x41e734
movzx edx, byte [ecx + eax + 0xb]
mov byte [ebx + eax + 0xb], dl
cmp edi, 0xc
je 0x41e734
movzx edx, byte [ecx + eax + 0xc]
mov byte [ebx + eax + 0xc], dl
cmp edi, 0xd
je 0x41e734
movzx edx, byte [ecx + eax + 0xd]
mov byte [ebx + eax + 0xd], dl
cmp edi, 0xe
je 0x41e734
movzx ecx, byte [ecx + eax + 0xe]
mov byte [ebx + eax + 0xe], cl
lea ebx, [ebx + 0x64]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x28]
test dword [esp + 0x24], 0x8000000
je 0x41e0ec
mov ecx, dword [ebp + 0x10]
bswap ecx
mov dword [ebx], ecx
add ebx, 4
mov edi, dword [esp + 0x24]
test edi, 0x10000000
je 0x41e330
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x41e69a
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + 1]
mov esi, ebx
sub esi, ecx
cmp esi, 0xe
jbe 0x41e26b
mov eax, dword [ebp + 0x1c]
movdqu xmm5, xmmword [eax]
movdqu xmmword [ebx], xmm5
movzx edx, byte [eax + 0x10]
mov byte [ebx + 0x10], dl
mov ecx, dword [ebp + 0x1c]
movzx eax, byte [ecx + 0x11]
mov byte [ebx + 0x11], al
mov esi, dword [ebp + 0x1c]
movzx edx, byte [esi + 0x12]
mov byte [esp + 0x48], dl
mov byte [ebx + 0x12], dl
mov ecx, dword [ebp + 0x1c]
movzx eax, byte [ecx + 0x13]
mov byte [ebx + 0x13], al
add ebx, 0x14
and edi, 0x20000000
jne 0x41e2e1
test dword [esp + 0x24], 0x40000000
je 0x41e177
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
or eax, edx
jne 0x41e427
mov eax, 1
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
movsd xmm1, qword [0x4a5b00]
mov dword [ebp + 0x34], 1
jmp 0x41dc78
subsd xmm5, xmm6
movsd qword [esp + 0x38], xmm5
fnstcw word [esp + 0x4e]
movzx edx, word [esp + 0x4e]
or dh, 0xc
mov word [esp + 0x4c], dx
fld qword [esp + 0x38]
fldcw word [esp + 0x4c]
fistp qword [esp + 0x38]
fldcw word [esp + 0x4e]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
add edi, 0x80000000
mov dword [esp + 0x38], esi
and ebx, 8
je 0x41dd08
mov eax, 0x480
mul dword [ebp + 8]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
add eax, 0xfffff970
adc edx, 0xffffffff
sub eax, esi
sbb edx, edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov eax, 0xfff
mov ebx, dword [esp + 0x30]
cmp eax, ebx
mov eax, 0
sbb eax, dword [esp + 0x34]
jb 0x41e39f
mov eax, dword [esp + 0x28]
sub eax, esi
sub eax, 0x690
mov dword [esp + 0x14], eax
mov esi, dword [ebp + 0x18]
cmp byte [esp + 0x48], 3
je 0x41ddd2
lea ebx, [esi + 0x24]
cmp dword [ebp + 0x10], 0xffffffff
jne 0x41dddf
cmp byte [ebx], 0x49
jne 0x41e261
cmp byte [ebx + 1], 0x6e
jne 0x41e261
cmp byte [ebx + 2], 0x66
jne 0x41e261
cmp byte [ebx + 3], 0x6f
je 0x41de06
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
xor edi, edi
mov esi, dword [ebp + 0x1c]
movzx edx, byte [esi + edi]
mov byte [ebx + edi], dl
movzx ecx, byte [esi + edi + 1]
mov byte [ebx + edi + 1], cl
movzx eax, byte [esi + edi + 2]
mov byte [ebx + edi + 2], al
movzx edx, byte [esi + edi + 3]
mov byte [ebx + edi + 3], dl
movzx ecx, byte [esi + edi + 4]
mov byte [ebx + edi + 4], cl
movzx eax, byte [esi + edi + 5]
mov byte [ebx + edi + 5], al
movzx edx, byte [esi + edi + 6]
mov byte [ebx + edi + 6], dl
movzx ecx, byte [esi + edi + 7]
mov byte [ebx + edi + 7], cl
movzx eax, byte [esi + edi + 8]
mov byte [ebx + edi + 8], al
movzx edx, byte [esi + edi + 9]
mov byte [ebx + edi + 9], dl
add edi, 0xa
cmp edi, 0x14
jne 0x41e270
add ebx, 0x14
test dword [esp + 0x24], 0x20000000
je 0x41e15d
mov edi, dword [ebp + 0x20]
lea esi, [edi + 1]
mov ecx, ebx
sub ecx, esi
cmp ecx, 0xe
jbe 0x41ea36
mov eax, dword [ebp + 0x20]
movdqu xmm6, xmmword [eax]
movdqu xmmword [ebx], xmm6
movzx edx, byte [eax + 0x10]
mov byte [ebx + 0x10], dl
mov edi, dword [ebp + 0x20]
movzx ecx, byte [edi + 0x11]
mov byte [ebx + 0x11], cl
mov esi, dword [ebp + 0x20]
movzx eax, byte [esi + 0x12]
mov byte [esp + 0x48], al
mov byte [ebx + 0x12], al
mov edx, dword [ebp + 0x20]
movzx ecx, byte [edx + 0x13]
mov byte [ebx + 0x13], cl
add ebx, 0x14
jmp 0x41e15d
test dword [esp + 0x24], 0x20000000
je 0x41e15d
mov esi, dword [ebp + 0x1c]
test esi, esi
jne 0x41e2e1
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0
jmp 0x41e328
mov edi, dword [ebp + 8]
bswap edi
mov dword [ebx + 8], edi
add ebx, 0xc
jmp 0x41de1b
mov edi, dword [esp + 0x28]
sub edi, esi
sub edi, 0x690
mov dword [esp + 0x14], edi
mov esi, dword [ebp + 0x18]
cmp byte [esp + 0x48], 3
jne 0x41ddd2
lea ebx, [esi + 0xd]
jmp 0x41ddd5
add esi, 0xb10
adc edi, 0
mov ebx, esi
and ebx, 0x3fffffff
mov eax, esi
mov edx, edi
shrd eax, edx, 0x1e
shr edx, 0x1e
and eax, 0x3fffffff
add ebx, eax
mov eax, edi
shr eax, 0x1c
add ebx, eax
mov eax, 0x38e38e39
mul ebx
mov eax, edx
shr eax, 1
and edx, 0xfffffffe
add edx, edx
add edx, edx
add eax, edx
sub ebx, eax
sub esi, ebx
sbb edi, 0
imul ebx, edi, 0x38e38e39
imul eax, esi, 0x8e38e38e
add ebx, eax
mov eax, 0x38e38e39
mul esi
mov esi, eax
mov edi, edx
add edi, ebx
shrd esi, edi, 7
mov dword [ebp + 8], esi
mov eax, esi
add eax, esi
add eax, eax
add eax, eax
add eax, esi
shl eax, 7
mov ebx, dword [esp + 0x38]
sub eax, ebx
sub eax, 0x690
mov dword [esp + 0x14], eax
jmp 0x41e22b
cmp dword [ebp + 0x10], 0xffffffff
sete cl
mov eax, 0x51eb851f
mul dword [ebp + 0x30]
shr edx, 5
mov esi, dword [esp + 0x14]
mov eax, esi
sar eax, 8
mov edi, eax
and edi, 0xf
cmp dword [ebp + 0x34], 0xac44
je 0x41ea2c
cmp dword [ebp + 0x34], 0xbb80
je 0x41eaf9
cmp dword [ebp + 0x34], 0xbb81
sbb eax, eax
and eax, 0x40
sub eax, 0x24
mov dword [ebx], 0x454d414c
mov dword [ebx + 4], 0x322e3548
mov byte [ebx + 8], 0x33
mov byte [ebx + 9], cl
mov byte [ebx + 0xa], dl
mov dword [ebx + 0xb], 0
mov dword [ebx + 0xf], 0
mov word [ebx + 0x13], 0
mov byte [ebx + 0x15], 0x69
mov ecx, edi
mov byte [ebx + 0x16], cl
mov edx, esi
mov byte [ebx + 0x17], dl
mov byte [ebx + 0x18], al
mov word [ebx + 0x19], 0
mov byte [ebx + 0x1b], 0
mov esi, dword [ebp + 0x2c]
bswap esi
mov dword [ebx + 0x1c], esi
movzx eax, word [esp + 0x20]
xchg al, ah
mov word [ebx + 0x20], ax
lea edi, [ebx + 0x22]
cmp dword [ebp + 0x18], edi
jae 0x41eb03
xor eax, eax
mov edx, edi
sub edx, dword [ebp + 0x18]
and edx, 7
je 0x41e5c9
cmp edx, 1
je 0x41e5a5
cmp edx, 2
je 0x41e58a
cmp edx, 3
je 0x41e56f
cmp edx, 4
nop
je 0x41e554
cmp edx, 5
je 0x41e539
cmp edx, 6
je 0x41e51e
mov esi, dword [ebp + 0x18]
movzx eax, byte [esi]
movzx eax, word [eax + eax + 0x4a5880]
add dword [ebp + 0x18], 1
mov ecx, dword [ebp + 0x18]
movzx edx, byte [ecx]
xor eax, edx
movzx esi, al
shr ax, 8
xor ax, word [esi + esi + 0x4a5880]
add dword [ebp + 0x18], 1
mov ecx, dword [ebp + 0x18]
movzx edx, byte [ecx]
xor eax, edx
movzx esi, al
shr ax, 8
xor ax, word [esi + esi + 0x4a5880]
add dword [ebp + 0x18], 1
mov ecx, dword [ebp + 0x18]
movzx edx, byte [ecx]
xor eax, edx
movzx esi, al
shr ax, 8
xor ax, word [esi + esi + 0x4a5880]
add dword [ebp + 0x18], 1
mov ecx, dword [ebp + 0x18]
movzx edx, byte [ecx]
xor eax, edx
movzx esi, al
shr ax, 8
xor ax, word [esi + esi + 0x4a5880]
add dword [ebp + 0x18], 1
mov ecx, dword [ebp + 0x18]
movzx edx, byte [ecx]
xor eax, edx
movzx esi, al
shr ax, 8
xor ax, word [esi + esi + 0x4a5880]
add dword [ebp + 0x18], 1
mov ecx, dword [ebp + 0x18]
movzx edx, byte [ecx]
xor eax, edx
movzx esi, al
shr ax, 8
xor ax, word [esi + esi + 0x4a5880]
add dword [ebp + 0x18], 1
cmp edi, dword [ebp + 0x18]
je 0x41e68c
mov ecx, dword [ebp + 0x18]
movzx edx, byte [ecx]
xor eax, edx
movzx esi, al
shr ax, 8
xor ax, word [esi + esi + 0x4a5880]
mov edx, eax
movzx eax, byte [ecx + 1]
xor eax, edx
movzx esi, al
shr ax, 8
xor ax, word [esi + esi + 0x4a5880]
mov edx, eax
movzx eax, byte [ecx + 2]
xor eax, edx
movzx esi, al
shr ax, 8
xor ax, word [esi + esi + 0x4a5880]
mov edx, eax
movzx eax, byte [ecx + 3]
xor eax, edx
movzx esi, al
shr ax, 8
xor ax, word [esi + esi + 0x4a5880]
mov edx, eax
movzx eax, byte [ecx + 4]
xor eax, edx
movzx esi, al
shr ax, 8
xor ax, word [esi + esi + 0x4a5880]
mov edx, eax
movzx eax, byte [ecx + 5]
xor eax, edx
movzx esi, al
shr ax, 8
xor ax, word [esi + esi + 0x4a5880]
mov edx, eax
movzx eax, byte [ecx + 6]
xor eax, edx
movzx esi, al
shr ax, 8
xor ax, word [esi + esi + 0x4a5880]
mov edx, eax
movzx eax, byte [ecx + 7]
xor eax, edx
movzx esi, al
shr ax, 8
xor ax, word [esi + esi + 0x4a5880]
add ecx, 8
cmp edi, ecx
jne 0x41e5cc
movzx ecx, ah
mov byte [ebx + 0x22], cl
mov byte [ebx + 0x23], al
jmp 0x41e177
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0
add ebx, 0x14
test dword [esp + 0x24], 0x20000000
jne 0x41e345
jmp 0x41e15d
xor esi, esi
movzx eax, byte [ecx + esi]
mov byte [ebx + esi], al
movzx edx, byte [ecx + esi + 1]
mov byte [ebx + esi + 1], dl
movzx eax, byte [ecx + esi + 2]
mov byte [ebx + esi + 2], al
movzx edx, byte [ecx + esi + 3]
mov byte [ebx + esi + 3], dl
movzx eax, byte [ecx + esi + 4]
mov byte [ebx + esi + 4], al
movzx edx, byte [ecx + esi + 5]
mov byte [ebx + esi + 5], dl
movzx eax, byte [ecx + esi + 6]
mov byte [ebx + esi + 6], al
movzx edx, byte [ecx + esi + 7]
mov byte [ebx + esi + 7], dl
movzx eax, byte [ecx + esi + 8]
mov byte [ebx + esi + 8], al
movzx edx, byte [ecx + esi + 9]
mov byte [ebx + esi + 9], dl
add esi, 0xa
cmp esi, 0x64
jne 0x41e6d4
lea edi, [ebx + 0x64]
mov dword [esp + 0x28], edi
jmp 0x41e0d4
mov ecx, dword [ebp + 8]
test ecx, ecx
jle 0x41eab5
mov edx, dword [ebp + 0xc]
test edx, edx
jle 0x41eab5
mov ecx, dword [0x4bd344]
mov eax, dword [ebp + 8]
mov dword [ecx*8 + 0x4bd360], eax
mov edi, dword [ebp + 0xc]
mov dword [ecx*8 + 0x4bd364], edi
lea edi, [ecx + 1]
mov dword [0x4bd344], edi
test edi, edi
jle 0x41e940
cmp ecx, 2
jbe 0x41ec45
mov edx, edi
shr edx, 2
mov esi, edx
shl esi, 5
xor eax, eax
and edx, 1
je 0x41e806
movdqu xmm7, xmmword [0x4bd360]
shufps xmm7, xmmword [0x4bd370], 0x88
movdqa xmm0, xmm7
pslld xmm0, 1
paddd xmm0, xmm7
pslld xmm0, 3
paddd xmm0, xmm7
pslld xmm0, 2
movd dword [0x4bd360], xmm0
pshufd xmm2, xmm0, 0x55
movd dword [0x4bd368], xmm2
movdqa xmm3, xmm0
punpckhdq xmm3, xmm0
movd dword [0x4bd370], xmm3
pshufd xmm4, xmm0, 0xff
movd dword [0x4bd378], xmm4
mov eax, 0x20
cmp esi, 0x20
je 0x41e8cb
movdqu xmm5, xmmword [eax + 0x4bd360]
shufps xmm5, xmmword [eax + 0x4bd370], 0x88
movdqa xmm6, xmm5
pslld xmm6, 1
paddd xmm6, xmm5
pslld xmm6, 3
paddd xmm6, xmm5
pslld xmm6, 2
movd dword [eax + 0x4bd360], xmm6
pshufd xmm7, xmm6, 0x55
movd dword [eax + 0x4bd368], xmm7
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
movd dword [eax + 0x4bd370], xmm0
pshufd xmm2, xmm6, 0xff
movd dword [eax + 0x4bd378], xmm2
movdqu xmm3, xmmword [eax + 0x4bd380]
shufps xmm3, xmmword [eax + 0x4bd390], 0x88
movdqa xmm4, xmm3
pslld xmm4, 1
paddd xmm4, xmm3
pslld xmm4, 3
paddd xmm4, xmm3
pslld xmm4, 2
movd dword [eax + 0x4bd380], xmm4
pshufd xmm5, xmm4, 0x55
movd dword [eax + 0x4bd388], xmm5
movdqa xmm6, xmm4
punpckhdq xmm6, xmm4
movd dword [eax + 0x4bd390], xmm6
pshufd xmm7, xmm4, 0xff
movd dword [eax + 0x4bd398], xmm7
add eax, 0x40
cmp esi, eax
jne 0x41e806
mov edx, edi
and edx, 0xfffffffc
and edi, 3
je 0x41e940
mov edi, dword [edx*8 + 0x4bd360]
lea esi, [edi + edi]
add esi, edi
add esi, esi
add esi, esi
add esi, esi
add esi, edi
add esi, esi
add esi, esi
mov dword [edx*8 + 0x4bd360], esi
lea edi, [edx + 1]
cmp edx, ecx
jge 0x41e940
mov esi, dword [edi*8 + 0x4bd360]
lea eax, [esi + esi]
add eax, esi
add eax, eax
add eax, eax
add eax, eax
add eax, esi
add eax, eax
add eax, eax
mov dword [edi*8 + 0x4bd360], eax
lea esi, [edx + 2]
cmp ecx, edi
jle 0x41e940
mov ecx, dword [esi*8 + 0x4bd360]
lea edx, [ecx + ecx]
add edx, ecx
add edx, edx
add edx, edx
add edx, edx
add edx, ecx
add edx, edx
add edx, edx
mov dword [esi*8 + 0x4bd360], edx
pxor xmm0, xmm0
cvtsi2sd xmm0, dword [ebp + 0xc]
movsd xmm2, qword [0x4a5b28]
divsd xmm2, xmm0
mov edx, dword [0x4bd360]
mov edi, ebx
lea ebx, [ebx + 0x64]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x48], 0
xor ebx, ebx
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], edi
cmp ecx, edx
jl 0x41e9a3
mov edi, dword [esp + 0x38]
mov esi, edi
add edi, 1
mov ebx, edx
mov edx, dword [edi*8 + 0x4bd360]
cmp edx, ecx
jle 0x41e982
mov dword [esp + 0x38], edi
mov eax, dword [esi*8 + 0x4bd364]
mov dword [esp + 0x48], eax
mov edi, edx
sub edi, ebx
test edi, edi
jle 0x41ec69
mov esi, dword [esp + 0x38]
mov esi, dword [esi*8 + 0x4bd364]
mov eax, dword [esp + 0x48]
sub esi, eax
pxor xmm4, xmm4
cvtsi2sd xmm4, esi
mov esi, ecx
sub esi, ebx
pxor xmm3, xmm3
cvtsi2sd xmm3, esi
mulsd xmm4, xmm3
pxor xmm5, xmm5
cvtsi2sd xmm5, edi
divsd xmm4, xmm5
pxor xmm6, xmm6
cvtsi2sd xmm6, eax
addsd xmm4, xmm6
mulsd xmm4, xmm2
addsd xmm4, xmm1
cvttsd2si edi, xmm4
xor eax, eax
test edi, edi
cmovns eax, edi
mov esi, 0xff
cmp eax, esi
cmovg eax, esi
mov edi, dword [esp + 0x30]
mov byte [edi], al
add ecx, dword [ebp + 8]
add edi, 1
mov dword [esp + 0x30], edi
cmp dword [esp + 0x28], edi
jne 0x41e97a
jmp 0x41e0d4
mov eax, 0x5c
jmp 0x41e470
xor edi, edi
mov esi, dword [ebp + 0x20]
movzx eax, byte [esi + edi]
mov byte [ebx + edi], al
movzx edx, byte [esi + edi + 1]
mov byte [ebx + edi + 1], dl
movzx ecx, byte [esi + edi + 2]
mov byte [ebx + edi + 2], cl
movzx eax, byte [esi + edi + 3]
mov byte [ebx + edi + 3], al
movzx edx, byte [esi + edi + 4]
mov byte [ebx + edi + 4], dl
movzx ecx, byte [esi + edi + 5]
mov byte [ebx + edi + 5], cl
movzx eax, byte [esi + edi + 6]
mov byte [ebx + edi + 6], al
movzx edx, byte [esi + edi + 7]
mov byte [ebx + edi + 7], dl
movzx ecx, byte [esi + edi + 8]
mov byte [ebx + edi + 8], cl
movzx eax, byte [esi + edi + 9]
mov byte [ebx + edi + 9], al
add edi, 0xa
cmp edi, 0x14
jne 0x41ea3b
jmp 0x41e328
mov dword [esp + 0x48], 0x63
mov dword [esp + 0x38], 1
jmp 0x41df5f
mov edx, ebx
mov esi, 0x64
xor eax, eax
test bl, 1
jne 0x41ec5a
test dl, 2
jne 0x41ec4c
mov ecx, esi
shr ecx, 2
mov edi, edx
rep stosd dword es:[edi], eax
test esi, 2
je 0x41eae3
stosw word es:[edi], ax
lea ebx, [ebx + 0x64]
mov dword [esp + 0x28], ebx
and esi, 1
je 0x41e0d4
stosb byte es:[edi], al
jmp 0x41e0d4
mov eax, 0xffffff9c
jmp 0x41e470
xor eax, eax
xor ecx, ecx
jmp 0x41e68f
mov eax, dword [esp + 0x38]
add eax, 0x50
mov edi, dword [esp + 0x48]
sub edi, 0x50
jmp 0x41dfca
mov dword [esp + 0x48], 0x61
mov dword [esp + 0x38], 3
jmp 0x41df5f
mov dword [esp + 0x48], 0x62
mov dword [esp + 0x38], 2
jmp 0x41df5f
mov dword [esp + 0x48], 0x64
mov dword [esp + 0x38], 0
jmp 0x41df5f
mov dword [esp + 0x48], 0x60
mov dword [esp + 0x38], 4
jmp 0x41df5f
mov dword [esp + 0x48], 0x5c
mov dword [esp + 0x38], 8
jmp 0x41df5f
mov dword [esp + 0x48], 0x5d
mov dword [esp + 0x38], 7
jmp 0x41df5f
mov dword [esp + 0x48], 0x5e
mov dword [esp + 0x38], 6
jmp 0x41df5f
mov dword [esp + 0x48], 0x5f
mov dword [esp + 0x38], 5
jmp 0x41df5f
mov dword [esp + 0x48], 0x56
mov dword [esp + 0x38], 0xe
jmp 0x41df5f
mov dword [esp + 0x48], 0x57
mov dword [esp + 0x38], 0xd
jmp 0x41df5f
mov dword [esp + 0x48], 0x58
mov dword [esp + 0x38], 0xc
jmp 0x41df5f
mov dword [esp + 0x48], 0x59
mov dword [esp + 0x38], 0xb
jmp 0x41df5f
mov dword [esp + 0x48], 0x5a
mov dword [esp + 0x38], 0xa
jmp 0x41df5f
mov dword [esp + 0x48], 0x5b
mov dword [esp + 0x38], 9
jmp 0x41df5f
xor edx, edx
jmp 0x41e8d5
mov edi, edx
stosw word es:[edi], ax
mov edx, edi
sub esi, 2
jmp 0x41ead0
mov edi, ebx
stosb byte es:[edi], al
mov edx, edi
mov esi, 0x63
jmp 0x41eac7
mov dword [esp + 8], 0xa8
mov dword [esp + 4], str.hmp3_src_xhead.c
mov dword [esp], str.__table_k__0____target0_____0
call dword [sym.imp.msvcrt.dll__assert]