Function at 0x41c910
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
add dword [0x4ad2a8], 0xc9fc5e88
mov ecx, 0xb4641991
movss xmm0, dword [0x4ad1b0]
sub esp, 0x1c
addss xmm0, dword [0x49eed8]
movss dword [0x4ad1b0], xmm0
movsx eax, word [0x4ad1e0]
movss xmm0, dword [0x4ad1b0]
sub ecx, eax
addss xmm0, dword [0x4a0efc]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
jb 0x41c96c
mov dword [0x4ad1ac], 0xfc0ca14b
movsx eax, word [0x4ad0d0]
movsd xmm1, qword [0x4ad138]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movsd xmm0, qword [0x4ad138]
addsd xmm0, qword [0x49eee0]
comisd xmm1, xmmword [0x49f2b8]
movsd qword [0x4ad138], xmm0
jb 0x41c9c1
movsd xmm0, qword [0x4ad4a0]
addsd xmm0, qword [0x49efe0]
movsd qword [0x4ad4a0], xmm0
movsd xmm0, qword [0x4ad1a0]
xor eax, eax
movsd xmm1, qword [0x49f8e0]
subsd xmm1, xmm0
mov dword [ebp - 0xc], eax
movss xmm0, dword [0x4ad430]
cvtps2pd xmm0, xmm0
push ebx
push esi
push edi
push 0x41
push 0x3993
mulsd xmm0, xmm1
movsd xmm1, qword [0x49f068]
cvtpd2ps xmm0, xmm0
movss dword [0x4ad430], xmm0
mov eax, dword [0x4ad2e4]
movsd xmm0, qword [0x4ad298]
subsd xmm1, xmm0
movd xmm2, eax
cvtdq2pd xmm2, xmm2
subsd xmm2, xmm1
cvttsd2si eax, xmm2
mov dword [0x4ad2e4], eax
imul eax, dword [0x4ad0bc], 0x34ca1056
mov dword [0x4ad0bc], eax
call fcn.0043dd00
mov ecx, dword [0x4ad258]
mov ebx, eax
movss xmm0, dword [0x4ad0d4]
add esp, 8
mov dword [ebp - 0x10], ebx
movd xmm1, ecx
mov ecx, dword [0x4ad4ac]
movsx eax, word [0x4ad30c]
cvtdq2ps xmm1, xmm1
add eax, 0x76ce680a
movd xmm2, ecx
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm0, xmm0
addss xmm2, xmm1
movss xmm1, dword [0x4ad440]
inc word [0x4ad30c]
addss xmm1, xmm0
movss xmm0, dword [0x4ad0d4]
subss xmm0, dword [0x49eed8]
movss dword [0x4ad0d4], xmm0
dec dword [0x4ad258]
comiss xmm2, xmm1
jb 0x41cade
movsx eax, word [0x4ad204]
movss xmm0, dword [0x4ad3ac]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
movss dword [0x4ad3ac], xmm0
push 5
push 0x1db6
call fcn.0043dd00
mov ecx, dword [0x4ad318]
mov edx, 0x72fd03a
movsd xmm0, qword [0x4ad3e0]
sub edx, ecx
mov esi, eax
lea eax, [ebp - 0x14]
movd xmm1, edx
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
movsd qword [0x4ad3e0], xmm0
movsx ecx, byte [ebx + 0x3e]
push ecx
push esi
push 4
push eax
call fcn.0041f990
movsd xmm1, qword [0x4ad240]
movss xmm0, dword [0x4ad038]
subsd xmm1, qword [0x49f8d8]
cvtps2pd xmm0, xmm0
push 5
push 0x1db6
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x4ad038], xmm0
call fcn.0043dd00
movsx ecx, word [0x4ad0ec]
mov edi, eax
mov edx, dword [0x4ad0c8]
add ecx, 0xce5fb74e
add edx, ecx
push esi
push 5
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [0x4ad238], xmm0
call fcn.0040f590
movss xmm0, dword [0x4ad4dc]
movsd xmm1, qword [0x4ad3d8]
movsx eax, word [0x4ad054]
subsd xmm1, qword [0x49f098]
cvtps2pd xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
subsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
movss dword [0x4ad4dc], xmm0
movsx eax, byte [ebx + 0x3f]
push eax
push edi
lea eax, [ebp - 0x18]
push 4
push eax
call fcn.0041f990
push 5
push 0x1db6
mov dword [0x4ad500], 0x81251c53
call fcn.0043dd00
mov ecx, dword [str.__Mv]
mov esi, eax
movss xmm1, dword [0x4ad164]
add esp, 0x40
movss xmm0, dword [0x4ad20c]
subss xmm1, xmm0
movd xmm2, ecx
movsx ecx, word [0x4ad4c4]
cvtdq2ps xmm2, xmm2
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
subss xmm2, xmm0
cvttss2si eax, xmm2
mov dword [str.__Mv], eax
dec word [0x4ad4c4]
movss xmm0, dword [0x4ad20c]
subss xmm0, dword [0x49eed8]
movss dword [0x4ad20c], xmm0
push edi
push 5
call fcn.0040f590
movsd xmm0, qword [0x4ad270]
lea eax, [ebp - 0x1c]
subsd xmm0, qword [0x4a0328]
push 0x3d
push esi
push 4
push eax
movsd qword [0x4ad270], xmm0
call fcn.0041f990
mov eax, dword [0x4ad4ac]
movsd xmm1, qword [0x4ad2d0]
sub eax, 0x7a6d5c15
movss xmm0, dword [0x4ad14c]
push esi
push 5
movd xmm2, eax
cvtdq2ps xmm2, xmm2
subss xmm2, xmm0
cvtps2pd xmm0, xmm2
subsd xmm1, xmm0
movsd qword [0x4ad2d0], xmm1
call fcn.0040f590
mov eax, dword [0x4ad1ac]
add esp, 0x20
movss xmm0, dword [0x4ad454]
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x14]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ad3d0]
addsd xmm0, xmm1
movsd qword [0x4ad3d0], xmm0
dec dword [0x4ad1ac]
test esi, esi
je 0x41d3ae
mov edi, dword [ebp - 0x10]
xor edx, edx
nop dword [eax]
movsx eax, word [0x4ad1d4]
mov ecx, 0x99089da2
movsd xmm1, qword [0x4ad3d0]
add eax, 0xe8ef817
movsd xmm2, qword [0x49eee0]
dec esi
mov dword [ebp + 0xc], esi
movd xmm0, eax
mov eax, dword [0x4ad2a8]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4ad2a8], eax
movsd xmm0, qword [0x4ad3d0]
addsd xmm0, xmm2
mov eax, dword [ebp + 8]
inc dword [ebp + 8]
movsd qword [0x4ad3d0], xmm0
movss xmm0, dword [0x4ad350]
mulss xmm0, dword [0x4a0e94]
movss dword [0x4ad350], xmm0
movss xmm0, dword [0x4ad2cc]
mov al, byte [eax]
cvtps2pd xmm1, xmm0
mov byte [ebp + edx - 4], al
inc edx
movsd xmm0, qword [0x4ad418]
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x4ad2cc], xmm0
movsd xmm0, qword [0x4ad418]
addsd xmm0, xmm2
movsd qword [0x4ad418], xmm0
movsx eax, word [0x4ad188]
sub ecx, eax
mov eax, dword [0x4ad444]
add eax, ecx
mov dword [0x4ad448], eax
inc dword [0x4ad444]
inc word [0x4ad174]
movzx eax, word [0x4ad174]
movsx ecx, word [0x4ad494]
cwde
sub ecx, eax
mov eax, dword [0x4ad2e0]
sub ecx, eax
movzx eax, word [0x4ad438]
add eax, ecx
mov word [0x4ad494], ax
dec word [0x4ad438]
dec dword [0x4ad2e0]
cmp edx, 3
jne 0x41d304
movss xmm0, dword [0x4ad43c]
xor esi, esi
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ad418]
mulsd xmm0, xmm1
mov al, byte [ebp - 4]
shr al, 2
mov byte [ebp - 8], al
cvtpd2ps xmm0, xmm0
movss dword [0x4ad43c], xmm0
movsd xmm1, qword [0x4ad2b0]
movsd xmm0, qword [0x4ad4f8]
addsd xmm0, qword [0x49fc20]
mov al, byte [ebp - 4]
and al, dl
shl al, 4
mov byte [ebp - 7], al
subsd xmm1, xmm0
movsd qword [0x4ad2b0], xmm1
movsd xmm0, qword [0x4ad268]
addsd xmm0, xmm2
movsd qword [0x4ad268], xmm0
movsd xmm0, qword [0x4ad268]
subsd xmm0, qword [0x49faf8]
cvttsd2si eax, xmm0
mov dword [0x4ad258], eax
mov al, byte [ebp - 3]
shr al, 4
add byte [ebp - 7], al
mov eax, dword [0x4ad404]
add eax, 0x454cac50
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x4ad20c], xmm0
dec dword [0x4ad404]
mov al, byte [ebp - 3]
and al, 0xf
shl al, 2
mov byte [ebp - 6], al
inc word [0x4ad144]
movsx eax, word [0x4ad144]
mov dword [0x4ad0c8], eax
mov al, byte [ebp - 2]
shr al, 6
add byte [ebp - 6], al
movsx eax, word [0x4ad230]
movss xmm0, dword [0x4ad380]
add eax, 0x15191533
movd xmm1, eax
mov al, byte [ebp - 2]
cvtdq2ps xmm1, xmm1
and al, 0x3f
mov byte [ebp - 5], al
mulss xmm0, xmm1
movss dword [0x4ad380], xmm0
movsx eax, word [0x4ad3c4]
movss xmm0, dword [0x4ad14c]
add eax, 0x69a70534
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ad270]
mulsd xmm0, xmm1
movsd qword [0x4ad270], xmm0
movsx eax, word [0x4ad050]
sub eax, 0x1efc08d7
cmp eax, 0x9aa93063
jge 0x41d050
movss xmm0, dword [0x4ad474]
movss xmm1, dword [0x4a0c40]
subss xmm1, xmm0
movss xmm0, dword [0x4a27b0]
comiss xmm0, xmm1
jb 0x41cff8
movss xmm0, dword [0x4ad150]
movss xmm1, dword [0x4a2780]
cvtps2pd xmm2, xmm0
movss xmm0, dword [0x4ad328]
subss xmm1, xmm0
movsd xmm0, qword [0x4ad4f8]
cvtps2pd xmm1, xmm1
subsd xmm1, xmm0
subsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
movss dword [0x4ad150], xmm0
movss xmm0, dword [0x4ad328]
addss xmm0, dword [0x49eed8]
movss dword [0x4ad328], xmm0
jmp 0x41d050
mov eax, dword [0x4ad42c]
movss xmm0, dword [0x4ad43c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ad3d8]
addsd xmm0, xmm1
movsd qword [0x4ad3d8], xmm0
movss xmm0, dword [0x4ad43c]
subss xmm0, dword [0x49eed8]
movss dword [0x4ad43c], xmm0
inc dword [0x4ad42c]
nop word [eax + eax]
cmp byte [ebp + 0x10], 0
mov eax, 0xffffe696
mov word [0x4ad470], ax
je 0x41d24b
mov al, byte [ebp + esi - 8]
cmp al, 0x3d
jbe 0x41d24b
mov ecx, 0x36e4
mov word [0x4ad23c], cx
mov ecx, ebx
cmp al, 0x3e
jne 0x41d19c
movss xmm0, dword [0x4ad304]
movsx eax, word [0x4ad1d8]
movsd xmm1, qword [0x4ad488]
cvtps2pd xmm2, xmm0
movd xmm0, eax
lea eax, [ebp - 0x14]
cvtdq2pd xmm0, xmm0
push eax
addsd xmm1, xmm0
subsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
movss dword [0x4ad304], xmm0
dec word [0x4ad1d8]
call fcn.0043edd0
movzx eax, word [0x4ad0d0]
add eax, 0x5a9cebfc
mov word [0x4ad0d0], ax
movsd xmm3, qword [0x49eee0]
movsx eax, word [0x4ad01c]
movd xmm2, eax
mov eax, dword [0x4ad0c8]
movsd xmm1, qword [0x4ad478]
sub eax, 0x45a22d4f
dec dword [0x4ad0c8]
cvtdq2pd xmm2, xmm2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
comisd xmm1, xmm2
jbe 0x41d2a6
dec dword [0x4ad148]
inc dword [0x4ad154]
movsd xmm2, qword [0x4ad250]
mov eax, dword [0x4ad148]
mov ecx, dword [0x4ad154]
add eax, 0xde5b7679
movsd xmm0, qword [0x4ad250]
add ecx, eax
subsd xmm2, qword [0x49f560]
addsd xmm0, xmm3
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
movsd qword [0x4ad250], xmm0
comisd xmm1, xmm2
jbe 0x41d2a6
mov ax, word [0x4ad034]
movzx ecx, word [0x4ad054]
cwde
imul ecx, eax
mov word [0x4ad054], cx
inc word [0x4ad034]
jmp 0x41d2a6
movss xmm0, dword [0x4ad028]
lea eax, [ebp - 0x18]
mulss xmm0, dword [0x4a281c]
push eax
movss dword [0x4ad028], xmm0
call fcn.0043edd0
mov eax, dword [0x4ad3c0]
mov ecx, 0x58c265ca
sub ecx, eax
cmp ecx, 0x583efdd5
jge 0x41d0df
movsd xmm2, qword [0x4ad378]
movsd xmm1, qword [0x4ad278]
mov eax, dword [0x4ad0e8]
subsd xmm2, qword [0x4a01a0]
movsd xmm3, qword [0x49eee0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
ucomisd xmm2, xmm1
lahf
inc dword [0x4ad0e8]
movsd xmm0, qword [0x4ad378]
subsd xmm0, xmm3
movsd qword [0x4ad378], xmm0
test ah, 0x44
jp 0x41d0e7
movsd xmm0, qword [0x4ad468]
subsd xmm0, qword [0x4a1c78]
movsd qword [0x4ad468], xmm0
jmp 0x41d0e7
movsx eax, word [0x4ad23c]
mov ecx, ebx
sub eax, 0x7f1bc550
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x4ad0d4], xmm0
dec word [0x4ad23c]
movzx eax, byte [ebp + esi - 8]
movzx eax, byte [eax + edi]
push eax
call fcn.0043da50
movsx eax, word [0x4ad360]
movsd xmm0, qword [0x4ad468]
sub eax, 0x722a1c61
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
movsd qword [0x4ad468], xmm0
mov eax, 0x4ea3
inc esi
mov word [0x4ad0a8], ax
movsd xmm0, qword [0x4ad2e8]
subsd xmm0, qword [0x4a2138]
movsd qword [0x4ad2e8], xmm0
cmp esi, 4
jne 0x41d050
movzx eax, word [0x4ad0d0]
mov esi, dword [ebp + 0xc]
sub eax, 0x335b3411
mov word [0x4ad0d0], ax
xor edx, edx
movss xmm0, dword [0x4ad1bc]
subss xmm0, dword [0x4a174c]
cvttss2si eax, xmm0
mov word [0x4ad358], ax
movsx eax, word [0x4ad230]
mov ecx, 0xad44e6fb
sub ecx, eax
movsx eax, word [0x4ad050]
sub ecx, eax
cmp ecx, 0xe8f2362c
jg 0x41d356
movsx eax, word [0x4ad15c]
movss xmm1, dword [0x4ad2f4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
addss xmm1, dword [0x4a0c08]
movss dword [0x4ad43c], xmm1
dec word [0x4ad15c]
jmp 0x41d3a3
mov eax, dword [0x4ad434]
movss xmm1, dword [0x4ad1bc]
subss xmm1, dword [0x4a1580]
movss xmm0, dword [0x4ad0cc]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm0, xmm1
subss xmm2, xmm0
cvttss2si eax, xmm2
mov dword [0x4ad434], eax
movss xmm0, dword [0x4ad0cc]
subss xmm0, dword [0x49eed8]
movss dword [0x4ad0cc], xmm0
test esi, esi
jne 0x41cd10
mov dword [ebp - 0xc], edx
movsx eax, word [0x4ad070]
movsd xmm1, qword [0x4ad1e8]
movsd xmm3, qword [0x49eee0]
mov edi, dword [ebp - 0xc]
movd xmm0, eax
movsx eax, word [0x4ad1d8]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [0x4ad1d8], ax
movsd xmm0, qword [0x4ad1e8]
addsd xmm0, xmm3
movsd qword [0x4ad1e8], xmm0
test edi, edi
je 0x41dd37
dec dword [0x4ad0e8]
movsd xmm0, qword [0x4ad270]
mov eax, dword [0x4ad0e8]
movss xmm4, dword [0x49eed8]
subsd xmm0, qword [0x49fe58]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm1, xmm0
movss xmm0, dword [0x4ad0e0]
cvtps2pd xmm0, xmm0
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x4ad0e0], xmm0
movsd xmm0, qword [0x4ad270]
subsd xmm0, xmm3
movsd qword [0x4ad270], xmm0
mov eax, dword [0x4ad16c]
movss xmm0, dword [0x4ad408]
movss xmm1, dword [0x4ad0e4]
movd xmm2, eax
movsx eax, word [0x4ad15c]
cvtdq2ps xmm2, xmm2
subss xmm2, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm2
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4ad15c], ax
cmp edi, 3
jge 0x41d566
lea ecx, [ebp - 4]
mov esi, 3
sub esi, dword [ebp - 0xc]
add edi, ecx
mov ecx, esi
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
movzx eax, word [0x4ad1d4]
sub eax, 0x614fb983
mov word [0x4ad1d4], ax
movzx eax, word [0x4ad100]
movsx ecx, ax
movsx eax, word [0x4ad15c]
add eax, 0xccdc598d
add eax, ecx
add dword [0x4ad28c], eax
inc word [0x4ad100]
mov eax, dword [0x4ad248]
movd xmm2, eax
mov eax, dword [0x4ad354]
movss xmm1, dword [0x4ad140]
add eax, 0xfef2e93
cvtdq2ps xmm2, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
subss xmm2, xmm1
cvttss2si eax, xmm2
mov dword [0x4ad248], eax
movss xmm0, dword [0x4ad140]
subss xmm0, xmm4
movss dword [0x4ad140], xmm0
inc dword [0x4ad354]
sub esi, 1
jne 0x41d4d3
mov edi, dword [ebp - 0xc]
dec word [0x4ad21c]
movsx eax, word [0x4ad21c]
add eax, 0x70cba480
cmp eax, 0x5e8db154
jg 0x41d58c
mov dword [0x4ad4e0], 0x4d035415
jmp 0x41d5b9
movsd xmm0, qword [0x4ad1f8]
subsd xmm0, qword [0x49ef80]
cvttsd2si eax, xmm0
mov dword [0x4ad12c], eax
movsd xmm0, qword [0x4ad1f8]
subsd xmm0, xmm3
movsd qword [0x4ad1f8], xmm0
movss xmm0, dword [0x4ad310]
mov ecx, 0x3379f278
mov al, byte [ebp - 4]
subss xmm0, dword [0x4a2684]
shr al, 2
mov byte [ebp - 8], al
mov al, byte [ebp - 4]
and al, 3
movss dword [0x4ad310], xmm0
movsd xmm1, qword [0x4ad458]
addsd xmm1, qword [0x49f198]
shl al, 4
mov byte [ebp - 7], al
movsx eax, word [0x4ad3c4]
dec word [0x4ad3c4]
sub ecx, eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
jbe 0x41d63f
movsx eax, word [0x4ad470]
mov ecx, 0xff7bb89b
sub ecx, eax
movsx eax, word [0x4ad230]
sub ecx, eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movsd qword [0x4ad4e8], xmm0
movss xmm1, dword [0x4ad0e4]
xor esi, esi
mov al, byte [ebp - 3]
subss xmm1, dword [0x4a14dc]
shr al, 4
add byte [ebp - 7], al
mov eax, dword [0x4ad114]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [0x4ad114], eax
movss xmm0, dword [0x4ad0e4]
mov al, byte [ebp - 3]
addss xmm0, xmm4
and al, 0xf
shl al, 2
mov byte [ebp - 6], al
movss dword [0x4ad0e4], xmm0
movzx eax, word [0x4ad4e4]
movzx ecx, word [0x4ad1c0]
cwde
add ecx, eax
mov word [0x4ad1c0], cx
inc word [0x4ad4e4]
mov al, byte [ebp - 2]
shr al, 6
add byte [ebp - 6], al
movzx eax, word [0x4ad2c4]
mov ecx, dword [0x4ad444]
cwde
add ecx, eax
mov al, byte [ebp - 2]
mov word [0x4ad2c4], cx
and al, 0x3f
movss xmm1, dword [0x4ad018]
mov byte [ebp - 5], al
mov eax, dword [0x4ad4f0]
movd xmm0, eax
mov eax, dword [0x4ad0bc]
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movsd xmm1, qword [0x4a1ad8]
cvttss2si eax, xmm0
mov dword [0x4ad0bc], eax
dec dword [0x4ad4f0]
movsd xmm2, qword [0x4ad180]
movss xmm0, dword [0x4ad028]
cvtps2pd xmm0, xmm0
subsd xmm2, xmm0
movss xmm0, dword [0x4ad028]
addss xmm0, xmm4
comisd xmm1, xmm2
movss dword [0x4ad028], xmm0
movsd xmm0, qword [0x4ad180]
addsd xmm0, xmm3
movsd qword [0x4ad180], xmm0
jbe 0x41d775
movsd xmm0, qword [0x4ad290]
subsd xmm0, qword [0x4a1f70]
movsd qword [0x4ad290], xmm0
movss xmm1, dword [0x4ad164]
mov eax, dword [0x4ad318]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [0x4ad4a8]
mulss xmm0, xmm1
movss dword [0x4ad4a8], xmm0
dec dword [0x4ad318]
test edi, edi
js 0x41da4b
nop
cmp byte [ebp + 0x10], 0
mov eax, dword [0x4ad410]
movsd xmm0, qword [0x4ad488]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4ad410], eax
je 0x41d8b4
mov dl, byte [ebp + esi - 8]
cmp dl, 0x3d
jbe 0x41d8b4
mov ax, word [0x4ad360]
movsx ecx, ax
mov eax, dword [0x4ad28c]
sub ecx, eax
mov eax, dword [0x4ad118]
sub ecx, eax
movsd xmm0, qword [0x4ad4b8]
movd xmm1, ecx
mov ecx, ebx
cvtdq2pd xmm1, xmm1
addsd xmm0, xmm1
movsd qword [0x4ad4b8], xmm0
inc dword [0x4ad28c]
inc word [0x4ad360]
cmp dl, 0x3e
jne 0x41d85f
movss xmm1, dword [0x4ad18c]
lea eax, [ebp - 0x14]
movss xmm0, dword [0x4ad4a8]
addss xmm0, dword [0x4a1678]
push eax
subss xmm1, xmm0
movss dword [0x4ad18c], xmm1
call fcn.0043edd0
jmp 0x41d891
movzx eax, word [0x4ad494]
imul eax, eax, 0xb96e5b20
mov word [0x4ad494], ax
lea eax, [ebp - 0x18]
push eax
call fcn.0043edd0
mov eax, dword [0x4ad3f8]
sub eax, dword [0x4ad318]
mov dword [0x4ad3f8], eax
inc dword [0x4ad318]
movsx eax, word [0x4ad024]
movss xmm4, dword [0x49eed8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x4ad430], xmm0
jmp 0x41d97e
movsd xmm0, qword [0x4ad420]
subsd xmm0, xmm3
movsd qword [0x4ad420], xmm0
movsd xmm1, qword [0x4ad420]
movsx eax, word [0x4ad034]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
dec word [0x4ad034]
test ah, 0x44
jp 0x41d933
movss xmm0, dword [0x4ad3ac]
addss xmm0, xmm4
movss dword [0x4ad3ac], xmm0
movss xmm1, dword [0x4ad3ac]
movss xmm0, dword [0x4ad310]
mov eax, dword [0x4ad2dc]
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [0x4ad2dc], eax
jmp 0x41d93d
add dword [0x4ad340], 0x42f6c1e1
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ebp + esi - 8]
movzx eax, byte [eax + ecx]
mov ecx, ebx
push eax
call fcn.0043da50
movss xmm0, dword [0x4ad380]
movss xmm4, dword [0x49eed8]
cvttss2si eax, xmm0
mov dword [0x4ad16c], eax
movss xmm0, dword [0x4ad380]
addss xmm0, xmm4
movss dword [0x4ad380], xmm0
mov eax, dword [0x4ad2e4]
inc esi
movss xmm0, dword [0x4ad1c4]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
movss dword [0x4ad1c4], xmm0
inc word [0x4ad23c]
dec dword [0x4ad12c]
movsx eax, word [0x4ad23c]
movss xmm2, dword [0x4ad310]
movd xmm0, eax
mov eax, dword [0x4ad12c]
sub eax, dword [0x4ad12c]
dec dword [0x4ad12c]
cvtdq2ps xmm0, xmm0
movd xmm1, eax
addss xmm2, xmm0
movss xmm0, dword [0x4ad310]
cvtdq2ps xmm1, xmm1
subss xmm2, dword [0x4a0f58]
addss xmm0, xmm4
comiss xmm1, xmm2
movss dword [0x4ad310], xmm0
jb 0x41da09
mov dword [0x4ad2f0], 0x761c3c6
movss xmm1, dword [0x4ad164]
mov eax, dword [0x4ad318]
movsd xmm3, qword [0x49eee0]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [0x4ad4a8]
mulss xmm0, xmm1
movss dword [0x4ad4a8], xmm0
dec dword [0x4ad318]
cmp esi, edi
jle 0x41d7b0
movsd xmm0, qword [0x4ad4b8]
mulsd xmm0, qword [0x4a20e0]
movsd qword [0x4ad4b8], xmm0
cmp edi, 3
jge 0x41dca8
mov esi, 3
sub esi, edi
movss xmm2, dword [0x4ad454]
mov eax, dword [0x4ad49c]
dec dword [0x4ad49c]
sub eax, 0x1c4304fb
movss xmm0, dword [0x4ad454]
subss xmm0, xmm4
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [0x4ad454], xmm0
comiss xmm1, xmm2
jb 0x41db0b
mov ecx, dword [0x4ad4ac]
mov eax, dword [0x4ad314]
add eax, 0xec8aaac3
add ecx, eax
movsx eax, word [0x4ad090]
inc word [0x4ad090]
sub eax, 0x79da6a9e
cmp ecx, eax
jle 0x41dae1
mov eax, dword [0x4ad42c]
inc dword [0x4ad42c]
jmp 0x41db58
movss xmm0, dword [0x4ad4b0]
mov ax, word [0x4ad174]
mov ax, word [0x4ad1b8]
movss xmm0, dword [0x4ad4b0]
subss xmm0, xmm4
movss dword [0x4ad4b0], xmm0
jmp 0x41db58
movsd xmm1, qword [0x4ad488]
movsd xmm0, qword [0x4ad4e8]
movsx eax, word [0x4ad2d8]
subsd xmm1, qword [0x4a19d0]
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [0x4ad2d8], ax
movsd xmm0, qword [0x4ad488]
addsd xmm0, xmm3
movsd qword [0x4ad488], xmm0
cmp byte [ebp + 0x10], 0
movsd xmm0, qword [0x4a1ca0]
movsd qword [0x4ad320], xmm0
je 0x41dc2c
cmp dword [0x4ad2e0], 0xc3f2f7e7
jle 0x41db9a
mov eax, dword [0x4ad114]
sub eax, 0x20dcdafd
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [0x4ad1f8], xmm0
jmp 0x41dbd5
movsd xmm1, qword [0x4ad458]
movss xmm0, dword [0x4ad400]
subss xmm0, dword [0x4a176c]
cvtps2pd xmm0, xmm0
subsd xmm1, xmm0
movsd qword [0x4ad458], xmm1
movss xmm0, dword [0x4ad400]
addss xmm0, xmm4
movss dword [0x4ad400], xmm0
lea eax, [ebp - 0x1c]
mov ecx, ebx
push eax
call fcn.0043edd0
movsd xmm0, qword [0x4ad130]
movsd xmm3, qword [0x49eee0]
addsd xmm0, xmm3
movsd qword [0x4ad130], xmm0
dec word [0x4ad1e0]
movsd xmm1, qword [0x4ad130]
movsx eax, word [0x4ad1e0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [0x4ad25c], xmm0
jmp 0x41dc7f
movsd xmm0, qword [0x4ad2f8]
mov ecx, ebx
addsd xmm0, xmm3
push 0x3d
movsd qword [0x4ad2f8], xmm0
movsd xmm1, qword [0x4ad2f8]
movsx eax, word [0x4ad1b4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [0x4ad118], eax
call fcn.0043da50
movsd xmm3, qword [0x49eee0]
mov dword [0x4ad020], 0xd48fb91f
movss xmm0, dword [0x4ad474]
movss xmm4, dword [0x49eed8]
subss xmm0, dword [0x4a160c]
movss dword [0x4ad474], xmm0
sub esi, 1
jne 0x41da73
mov eax, dword [0x4ad118]
mov ecx, 0xbccce7a6
sub ecx, eax
mov eax, dword [0x4ad118]
movsd xmm1, qword [0x4ad3a0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movd xmm2, ecx
addsd xmm1, xmm0
cvtdq2pd xmm2, xmm2
subsd xmm1, qword [0x4a0a70]
ucomisd xmm2, xmm1
lahf
test ah, 0x44
jp 0x41dd37
movsd xmm0, qword [0x4ad250]
subsd xmm0, qword [0x49f248]
subsd xmm0, qword [0x4a0620]
comisd xmm0, xmmword [0x4a1c98]
jb 0x41dd37
dec dword [0x4ad404]
mov ecx, 0x367f1899
mov eax, dword [0x4ad404]
sub ecx, eax
movsd xmm0, qword [0x4ad270]
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
addsd xmm0, xmm1
movsd qword [0x4ad270], xmm0
movsd xmm1, qword [0x4ad0f0]
mov eax, dword [0x4ad2e4]
addsd xmm1, qword [0x49ef68]
push dword [ebp - 0x10]
movd xmm0, eax
movsx eax, word [0x4ad4b4]
cvtdq2pd xmm0, xmm0
push 0x41
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [0x4ad4b4], ax
dec dword [0x4ad2e4]
movsd xmm0, qword [0x4ad0f0]
addsd xmm0, xmm3
movsd qword [0x4ad0f0], xmm0
call fcn.0040f590
mov eax, dword [0x4ad0bc]
mov ecx, 0xa3fafac6
movsd xmm0, qword [0x4ad0c0]
sub ecx, eax
mov dword [ebp - 0x14], 0
add esp, 8
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
pop edi
pop esi
pop ebx
addsd xmm0, xmm1
movsd qword [0x4ad0c0], xmm0
movsd xmm0, qword [0x4ad138]
addsd xmm0, qword [0x49eee0]
movsd qword [0x4ad138], xmm0
movsd xmm1, qword [0x4ad138]
mov eax, dword [0x4ad220]
movd xmm0, eax
movsx eax, word [0x4ad494]
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, qword [0x4a0b68]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [0x4ad494], ax
dec dword [0x4ad220]
movss xmm1, dword [0x4ad028]
mov eax, dword [0x4ad448]
mov dword [ebp - 0x18], 0
movd xmm0, eax
movsx eax, word [0x4ad330]
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4ad330], ax
movss xmm0, dword [0x4ad028]
subss xmm0, dword [0x49eed8]
mov dword [ebp - 0x1c], 0
movss dword [0x4ad028], xmm0
movsd xmm0, qword [0x4ad4f8]
subsd xmm0, qword [0x49eee0]
movsd qword [0x4ad4f8], xmm0
dec dword [0x4ad154]
movsd xmm2, qword [0x4ad0d8]
movsd xmm1, qword [0x4ad4f8]
movsd xmm0, qword [0x4ad3a0]
mov eax, dword [0x4ad154]
subsd xmm1, xmm0
subsd xmm2, qword [0x4a0988]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
comisd xmm0, xmm2
jbe 0x41def3
movzx eax, word [0x4ad358]
sub eax, 0xa58358f
mov word [0x4ad358], ax
mov esp, ebp
pop ebp
ret
movss xmm0, dword [0x4ad430]
movsx eax, word [0x4ad0a8]
movss xmm1, dword [0x4a17fc]
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4ad0a8], ax
mov esp, ebp
pop ebp
ret