Function at 0x418310
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
push ebx
push esi
push edi
movsd xmm0, qword [0x448a38]
mov eax, 0xffff921f
mov word [ebp - 4], ax
mov eax, 0xffff804b
mov word [ebp - 0x24], ax
mov eax, 0x1c0
mov dword [ebp - 0x38], 0x4eb951fd
mov dword [ebp - 0x5c], 0x95e3b060
mov dword [ebp - 0x3c], 0x5c91e2e
mov dword [ebp - 0x34], 0xce96a96f
movsd qword [ebp - 0x64], xmm0
mov dword [ebp - 0x20], 0x4cd23bce
mov dword [ebp - 0x18], 0x812cfd80
mov word [ebp - 8], ax
mov eax, 0xfffffe73
mov dword [ebp - 0x28], 0xef4dc31f
mov dword [ebp - 0x44], 0x4e969d15
mov dword [ebp - 0x2c], 0x4ee4345f
mov dword [ebp - 0x30], 0xccf64b28
mov dword [ebp - 0x1c], 0xcd6f908f
mov word [ebp - 8], ax
mov eax, 0x48c6
mov word [ebp - 0x40], ax
mov dword [ebp - 0x10], 0x8424d3eb
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [0x44944c]
push 0x41
push 0x103e
movss dword [ebp - 0x34], xmm0
mov dword [ebp - 0x4c], 0
call fcn.0040e120
mov edi, eax
push 5
push 0x4483
mov dword [ebp - 0x48], edi
call fcn.0040e120
movsx ecx, byte [edi + 0x3e]
mov esi, eax
push ecx
push esi
lea eax, [ebp - 0x50]
push 4
push eax
call fcn.0043082b
push 5
push 0x4483
call fcn.0040e120
push esi
push 5
mov edi, eax
call fcn.0040e550
mov eax, dword [ebp - 0x48]
movsx ecx, byte [eax + 0x3f]
lea eax, [ebp - 0x54]
push ecx
push edi
push 4
push eax
call fcn.0043082b
add esp, 0x40
push 5
push 0x4483
call fcn.0040e120
movzx ecx, word [ebp - 0x24]
mov esi, eax
sub ecx, 0x2812b46d
push edi
mov word [ebp - 0x24], cx
push 5
call fcn.0040e550
movss xmm0, dword [ebp - 0x38]
add esp, 0x10
movss xmm2, dword [0x447a58]
addss xmm0, xmm2
movss dword [ebp - 0x38], xmm0
inc dword [ebp - 0x10]
movss xmm1, dword [ebp - 0x38]
mov eax, dword [ebp - 0x10]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
addss xmm1, dword [ebp - 0x20]
movss xmm0, dword [ebp - 0x20]
addss xmm0, xmm2
comiss xmm1, dword [0x4491e8]
movss dword [ebp - 0x20], xmm0
jbe 0x4184c5
movsx eax, word [ebp - 0x40]
add eax, dword [0x4523a4]
movss xmm1, dword [ebp - 0x34]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x34]
addss xmm0, xmm2
comiss xmm1, dword [0x4494b4]
movss dword [ebp - 0x34], xmm0
jb 0x4184c5
movss xmm0, dword [0x4520f0]
push 0x3d
push esi
lea eax, [ebp - 0x58]
push 4
push eax
call fcn.0043082b
movsd xmm0, qword [0x452248]
subsd xmm0, qword [0x448c90]
push esi
push 5
movsd qword [0x452248], xmm0
call fcn.0040e550
movsx ecx, word [ebp - 0x24]
add esp, 0x18
mov eax, dword [0x45219c]
sub ecx, eax
movsx eax, word [0x452394]
movss xmm0, dword [0x4523c0]
add eax, ecx
movss xmm3, dword [0x447a58]
movd xmm1, eax
mov eax, dword [ebp + 0xc]
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
movss dword [0x4523c0], xmm0
dec dword [0x45219c]
inc dword [ebp - 0x24]
test eax, eax
je 0x418c8d
mov ebx, dword [ebp + 0x14]
movsd xmm2, qword [0x447a60]
mov edi, dword [ebp - 0x48]
nop
dec eax
mov dword [ebp + 0xc], eax
movsx eax, word [ebp - 0x24]
dec dword [ebp - 0x24]
cmp eax, 0x363cc894
je 0x41858f
movss xmm0, dword [ebp - 0x1c]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x452010]
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x1c], xmm0
movsd xmm0, qword [0x452010]
addsd xmm0, xmm2
movsd qword [0x452010], xmm0
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x4c]
mov al, byte [ecx]
inc ecx
mov byte [ebp + esi - 0xc], al
inc esi
mov dword [ebp - 0x4c], esi
mov dword [ebp + 8], ecx
cmp esi, 3
jne 0x4188c0
dec dword [ebp - 8]
mov eax, dword [0x45243c]
movss xmm1, dword [0x4523c0]
movd xmm0, eax
movsx eax, word [ebp - 8]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
movss xmm1, dword [0x44a1b8]
addss xmm0, dword [0x4521a8]
mov al, byte [ebp - 0xc]
shr al, 2
mov byte [ebp - 0x14], al
movss dword [0x4521a8], xmm0
mov ax, word [0x4523d0]
movsx ecx, ax
mov eax, dword [ebp - 0x3c]
add eax, 0x25fad3ee
add eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x452290]
movsd qword [0x452290], xmm0
inc word [0x4523d0]
inc dword [ebp - 0x3c]
mov al, byte [ebp - 0xc]
and al, 3
shl al, 4
mov byte [ebp - 0x13], al
dec word [0x452150]
movsx eax, word [0x452150]
mov cl, byte [ebp - 0xb]
movd xmm0, eax
mov al, cl
cvtdq2ps xmm0, xmm0
shr al, 4
and cl, 0xf
add byte [ebp - 0x13], al
mov al, byte [ebp - 0xa]
shl cl, 2
shr al, 6
movss dword [ebp - 0x20], xmm0
add cl, al
movss xmm0, dword [ebp - 0x20]
subss xmm0, dword [0x4490b0]
mov byte [ebp - 0x12], cl
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x418694
movzx ecx, word [ebp - 8]
movzx eax, word [ebp - 4]
imul ecx, eax
mov word [ebp - 4], cx
jmp 0x4186f4
movss xmm1, dword [ebp - 0x44]
mov eax, dword [ebp - 0x10]
subss xmm1, dword [0x4492c4]
dec dword [ebp - 0x10]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [0x44a270]
comiss xmm0, xmm1
jbe 0x4186f4
movsx eax, word [0x4520c0]
movss xmm0, dword [ebp - 0x38]
movd xmm1, eax
movsx eax, word [ebp - 0x24]
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
cvttss2si eax, xmm1
mov word [ebp - 0x24], ax
dec word [0x4520c0]
mov al, byte [ebp - 0xa]
and al, 0x3f
xor esi, esi
mov byte [ebp - 0x11], al
mov edi, edi
cmp byte [ebp + 0x10], 0
je 0x418848
mov dl, byte [ebp + esi - 0x14]
cmp dl, 0x3d
jbe 0x418848
movsx ecx, word [ebp - 8]
add ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x28]
dec dword [ebp - 8]
dec dword [ebp - 0x18]
cmp eax, ecx
jge 0x418755
mov eax, dword [ebp - 0x18]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x20]
movss dword [0x452280], xmm0
movss xmm0, dword [ebp - 0x20]
subss xmm0, xmm3
movss dword [ebp - 0x20], xmm0
jmp 0x41879d
movsd xmm1, qword [0x452388]
mov eax, dword [ebp - 0x18]
movd xmm0, eax
movsx eax, word [0x4522a0]
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [0x4522a0], ax
movsd xmm0, qword [0x452388]
addsd xmm0, xmm2
movsd qword [0x452388], xmm0
mov ecx, ebx
cmp dl, 0x3e
jne 0x4187ee
mov eax, dword [ebp - 0x28]
movd xmm0, eax
lea eax, [ebp - 0x50]
cvtdq2ps xmm0, xmm0
push eax
addss xmm0, dword [ebp - 0x30]
addss xmm0, dword [ebp - 0x1c]
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [ebp - 0x30]
addss xmm0, xmm3
movss dword [ebp - 0x30], xmm0
call fcn.0042a930
mov ax, word [0x452038]
movzx ecx, word [ebp - 8]
cwde
add ecx, eax
mov word [ebp - 8], cx
dec word [0x452038]
jmp 0x418802
lea eax, [ebp - 0x54]
push eax
call fcn.0042a930
mov eax, 0x12a2
mov word [0x452254], ax
mov eax, dword [ebp - 0x10]
movsd xmm2, qword [0x447a60]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm1, qword [ebp - 0x64]
movss xmm0, dword [0x45209c]
cvtps2pd xmm0, xmm0
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [0x45209c], xmm0
movsd xmm0, qword [ebp - 0x64]
subsd xmm0, xmm2
movsd qword [ebp - 0x64], xmm0
dec dword [ebp - 0x10]
jmp 0x418861
movzx eax, byte [ebp + esi - 0x14]
mov ecx, ebx
movzx eax, byte [eax + edi]
push eax
call fcn.0042a910
movsd xmm2, qword [0x447a60]
mov eax, dword [ebp - 0x10]
inc esi
mov ecx, dword [ebp - 0x18]
sub ecx, eax
movsx eax, word [0x45200c]
dec word [0x45200c]
cmp eax, ecx
jg 0x4188aa
inc word [0x452308]
movss xmm1, dword [0x4521a8]
movsx eax, word [0x452308]
sub eax, 0x2fac4b96
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [0x4521a8], xmm1
movss xmm3, dword [0x447a58]
cmp esi, 4
jne 0x418700
xor esi, esi
mov dword [ebp - 0x4c], esi
movss xmm0, dword [ebp - 0x1c]
addss xmm0, xmm3
movss dword [ebp - 0x1c], xmm0
movss xmm1, dword [ebp - 0x1c]
subss xmm1, dword [0x452324]
movsx eax, word [0x452308]
subss xmm1, dword [0x44a31c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x452308], ax
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x418550
test esi, esi
je 0x418c8d
cmp esi, 3
jge 0x418968
mov ebx, 3
lea edi, [ebp - 0xc]
sub ebx, esi
add edi, esi
mov ecx, ebx
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [ebp - 0x10]
dec dword [ebp - 0x10]
sub eax, 0x41144429
cmp eax, 0x9095390c
jne 0x418962
dec dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x4520a8]
movss dword [0x4520a8], xmm0
dec ebx
jne 0x418933
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x18]
add eax, 0x23a39db4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x1c]
movss dword [ebp - 0x1c], xmm0
dec dword [ebp - 0x18]
mov cl, byte [ebp - 0xc]
movsd xmm0, qword [0x4523b8]
mov al, cl
shr al, 2
addsd xmm0, xmm2
mov byte [ebp - 0x14], al
and cl, 3
mov al, byte [ebp - 0xb]
shl cl, 4
shr al, 4
add cl, al
mov byte [ebp - 0x13], cl
movsd qword [0x4523b8], xmm0
movsd xmm1, qword [0x4523b8]
subsd xmm1, qword [0x447dd8]
movsd xmm0, qword [0x4488e0]
subsd xmm1, qword [0x449ea0]
comisd xmm0, xmm1
jbe 0x4189eb
imul eax, dword [0x4520a0], 0x1a8ff5be
mov dword [0x4520a0], eax
jmp 0x4189fe
movzx eax, word [0x452348]
imul eax, eax, 0x91e0eafa
mov word [0x452348], ax
mov cl, byte [ebp - 0xa]
mov dl, byte [ebp - 0xb]
mov al, cl
and dl, 0xf
shr al, 6
shl dl, 2
and cl, 0x3f
add dl, al
mov byte [ebp - 0x11], cl
mov byte [ebp - 0x12], dl
xor edi, edi
lea esp, [esp]
movss xmm0, dword [ebp - 0x1c]
addss xmm0, xmm3
movss dword [ebp - 0x1c], xmm0
mov eax, dword [0x452400]
movd xmm2, eax
mov eax, dword [0x45226c]
movss xmm1, dword [ebp - 0x1c]
add eax, 0x3fea40a2
cvtdq2ps xmm2, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
ucomiss xmm2, xmm1
lahf
inc dword [0x45226c]
dec dword [0x452400]
test ah, 0x44
jnp 0x418a7e
cmp dword [ebp - 0x5c], 0x44bbe832
jl 0x418a7e
mov ax, word [ebp - 0x40]
movss xmm0, dword [ebp - 0x38]
inc dword [ebp - 0x40]
cmp edi, esi
jg 0x418bc0
cmp byte [ebp + 0x10], 0
je 0x418b23
mov al, byte [ebp + edi - 0x14]
cmp al, 0x3d
jbe 0x418b23
cmp al, 0x3e
jne 0x418aec
movss xmm0, dword [ebp - 0x2c]
addss xmm0, xmm3
movss dword [ebp - 0x2c], xmm0
mov eax, dword [0x4521e4]
movss xmm0, dword [ebp - 0x2c]
subss xmm0, dword [0x448f28]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x418adf
mov eax, dword [0x452400]
sub eax, 0x5d379f3b
mov dword [0x4521e8], eax
lea eax, [ebp - 0x50]
mov ecx, ebx
push eax
call fcn.0042a930
jmp 0x418b0f
lea eax, [ebp - 0x54]
mov ecx, ebx
push eax
call fcn.0042a930
movsx eax, word [ebp - 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm0, dword [ebp - 0x30]
cvttss2si eax, xmm0
mov word [ebp - 8], ax
movss xmm0, dword [ebp - 0x20]
mulss xmm0, dword [0x4490e4]
movss dword [ebp - 0x20], xmm0
jmp 0x418b37
mov ecx, dword [ebp - 0x48]
movzx eax, byte [ebp + edi - 0x14]
movzx eax, byte [eax + ecx]
mov ecx, ebx
push eax
call fcn.0042a910
movss xmm0, dword [ebp - 0x44]
inc edi
movss xmm3, dword [0x447a58]
subss xmm0, xmm3
movss dword [ebp - 0x44], xmm0
movss xmm1, dword [ebp - 0x2c]
movss xmm0, dword [ebp - 0x44]
subss xmm0, dword [0x44a398]
subss xmm1, xmm0
movss dword [ebp - 0x2c], xmm1
dec dword [ebp - 8]
movsx eax, word [ebp - 8]
add eax, dword [0x4521f0]
dec dword [0x4521f0]
cmp eax, 0x614736e3
jle 0x418a20
movss xmm0, dword [0x45234c]
subss xmm0, dword [0x44a2c0]
movsd xmm1, qword [0x4523d8]
cvtps2pd xmm0, xmm0
addsd xmm1, xmm0
movss xmm0, dword [ebp - 0x2c]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x2c], xmm0
jmp 0x418a20
inc word [0x452438]
movsx eax, word [0x452438]
add eax, 0x64db0845
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x20], xmm0
cmp esi, 3
jge 0x418c8d
mov edi, 3
sub edi, esi
nop
cmp byte [ebp + 0x10], 0
mov dword [0x452184], 0xfd5c19e8
je 0x418c1e
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
add ecx, 0x1bfb5ba2
add eax, ecx
mov ecx, ebx
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x58]
push eax
call fcn.0042a930
jmp 0x418c7e
movsd xmm1, qword [0x452428]
mov eax, dword [ebp - 0x28]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movss xmm0, dword [ebp - 0x30]
cvtps2pd xmm0, xmm0
addsd xmm0, xmm1
ucomisd xmm0, qword [0x449cd0]
movss xmm0, dword [ebp - 0x30]
subss xmm0, xmm3
lahf
movss dword [ebp - 0x30], xmm0
test ah, 0x44
jnp 0x418c75
movss xmm0, dword [0x452108]
subss xmm0, dword [0x449478]
movss dword [0x452108], xmm0
push 0x3d
mov ecx, ebx
call fcn.0042a910
movss xmm3, dword [0x447a58]
dec edi
jne 0x418bf0
movss xmm1, dword [0x452334]
mov eax, dword [0x452364]
push dword [ebp - 0x48]
push 0x41
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [0x4520f0]
subss xmm1, dword [0x44a44c]
mulss xmm0, xmm1
movss dword [0x4520f0], xmm0
movss xmm0, dword [0x452334]
subss xmm0, xmm3
movss dword [0x452334], xmm0
call fcn.0040e550
push 4
lea eax, [ebp - 0x50]
push 0
push eax
call fcn.0042f020
dec dword [ebp - 0x18]
mov ecx, 0xfbe91ce3
mov eax, dword [0x4520bc]
add esp, 0x14
movsd xmm1, qword [0x4524e0]
sub ecx, eax
mov eax, dword [ebp - 0x18]
pop edi
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
pop esi
pop ebx
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
inc dword [0x4520bc]
test ah, 0x44
jp 0x418d48
movss xmm0, dword [0x4523c8]
addss xmm0, dword [0x448ecc]
movss dword [0x4523c8], xmm0
push 4
lea eax, [ebp - 0x54]
push 0
push eax
call fcn.0042f020
push 4
lea eax, [ebp - 0x58]
push 0
push eax
call fcn.0042f020
add esp, 0x18
mov esp, ebp
pop ebp
ret