Function at 0x437300
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
add dword [0x4ad284], 0x6bc10a27
movss xmm1, dword [0x4ad220]
mov eax, dword [0x4ad498]
push ebx
push esi
push edi
movd xmm0, eax
xor edi, edi
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0xc], edi
subss xmm1, xmm0
movss dword [0x4ad220], xmm1
mov eax, dword [0x4ad298]
movss xmm0, dword [0x4ad12c]
movss xmm1, dword [0x4a2938]
subss xmm1, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
subss xmm2, xmm1
cvttss2si eax, xmm2
movsd xmm2, qword [0x49ea58]
mov dword [0x4ad298], eax
movsd xmm0, qword [0x4ad0e8]
addsd xmm0, xmm2
movsd qword [0x4ad0e8], xmm0
movss xmm0, dword [0x4ad020]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ad0e8]
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [0x4ad020], xmm0
movsd xmm1, qword [0x4ad510]
subsd xmm1, qword [0x4ad320]
movsd xmm0, qword [0x4a1970]
comisd xmm0, xmm1
jbe 0x437461
movsd xmm0, qword [0x4ad598]
subsd xmm0, xmm2
movsd qword [0x4ad598], xmm0
movss xmm0, dword [0x4ad61c]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ad598]
movsx eax, word [0x4ad2f4]
subsd xmm1, xmm0
inc word [0x4ad2f4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
comisd xmm1, xmmword [0x4a1cf8]
jbe 0x437479
movsd xmm0, qword [0x4ad238]
subsd xmm0, qword [0x49ed08]
movsd xmm1, qword [0x4ad608]
mov eax, dword [0x4ad364]
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4ad364], eax
movsd xmm0, qword [0x4ad238]
addsd xmm0, xmm2
movsd qword [0x4ad238], xmm0
jmp 0x437479
movsd xmm0, qword [0x4ad548]
subsd xmm0, qword [0x4a2370]
movsd qword [0x4ad548], xmm0
mov eax, dword [0x4ad434]
mov ecx, 0x7de2b310
movss xmm0, dword [0x4ad61c]
sub ecx, eax
push 0x41
push 0x22d7
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
movss dword [0x4ad61c], xmm0
dec dword [0x4ad434]
call fcn.0040feb0
movsd xmm0, qword [0x49fe20]
mov ebx, eax
push 5
push 0x3766
mov dword [ebp - 0x10], ebx
movsd qword [0x4ad538], xmm0
call fcn.0040feb0
mov ecx, dword [0x4ad3fc]
add esp, 0x10
add ecx, 0x2cd8b5f2
mov esi, eax
movd xmm2, ecx
mov cx, word [0x4ad054]
movsx edx, word [0x4ad294]
movsd xmm0, qword [0x4ad3a8]
dec word [0x4ad054]
dec word [0x4ad294]
movsx ecx, cx
sub edx, ecx
cvtdq2pd xmm2, xmm2
movd xmm1, edx
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
comisd xmm1, xmm2
jbe 0x43756e
movss xmm2, dword [0x4ad184]
movsx eax, word [0x4ad0d8]
movss xmm1, dword [0x4ad484]
movd xmm0, eax
mov eax, dword [0x4ad5f4]
cvtdq2ps xmm0, xmm0
subss xmm2, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm2
subss xmm1, xmm0
movss dword [0x4ad484], xmm1
dec word [0x4ad0d8]
jmp 0x43758f
mov ax, word [0x4ad190]
movsx ecx, ax
mov eax, dword [0x4ad308]
add eax, 0x7315ccbc
add eax, ecx
mov word [0x4ad190], ax
dec dword [0x4ad308]
movsx eax, byte [ebx + 0x3e]
push eax
push esi
lea eax, [ebp - 0x14]
push 4
push eax
call fcn.004065b0
movss xmm0, dword [0x4ad398]
add esp, 0x10
subss xmm0, dword [0x49ea54]
movss dword [0x4ad398], xmm0
movsd xmm1, qword [0x4ad0f0]
movss xmm0, dword [0x4ad398]
cvtps2pd xmm0, xmm0
subsd xmm1, xmm0
movsd xmm0, qword [0x4ad0f0]
addsd xmm0, qword [0x49ef88]
comisd xmm1, xmm0
jb 0x437600
movss xmm0, dword [0x4ad17c]
mulss xmm0, dword [0x4a28a0]
movss dword [0x4ad17c], xmm0
push 5
push 0x3766
call fcn.0040feb0
push esi
push 5
mov ebx, eax
mov dword [0x4ad398], 0xcdfb5ac7
call fcn.0040ab20
movsd xmm0, qword [0x4ad258]
subsd xmm0, qword [0x49ea58]
mov eax, dword [ebp - 0x10]
movsd qword [0x4ad258], xmm0
movsd xmm0, qword [0x4ad038]
addsd xmm0, qword [0x49ea58]
movsd qword [0x4ad038], xmm0
movsd xmm2, qword [0x4ad258]
movsd xmm0, qword [0x4ad598]
movsd xmm1, qword [0x4ad658]
addsd xmm2, xmm0
movsd xmm0, qword [0x4ad038]
addsd xmm0, xmm2
subsd xmm1, xmm0
movsd qword [0x4ad658], xmm1
movsx eax, byte [eax + 0x3f]
push eax
push ebx
lea eax, [ebp - 0x18]
push 4
push eax
call fcn.004065b0
movss xmm0, dword [0x4ad128]
add esp, 0x20
addss xmm0, dword [0x49ea54]
movss dword [0x4ad128], xmm0
movss xmm1, dword [0x4ad270]
addss xmm1, dword [0x4a16e8]
movsd xmm2, qword [0x4ad4e0]
movss xmm0, dword [0x4ad128]
addss xmm0, xmm1
cvtps2pd xmm1, xmm0
movss xmm0, dword [0x4ad270]
comisd xmm1, xmm2
addss xmm0, dword [0x49ea54]
movss dword [0x4ad270], xmm0
jb 0x43770c
dec word [0x4ad104]
mov ax, word [0x4ad104]
cwde
sub dword [0x4ad27c], eax
push 5
push 0x3766
call fcn.0040feb0
mov ecx, dword [0x4ad518]
mov edx, 0xfe47831d
sub edx, ecx
mov esi, eax
push ebx
push 5
mov word [0x4ad420], dx
call fcn.0040ab20
dec word [0x4ad154]
movsx eax, word [0x4ad154]
movsd xmm1, qword [0x4ad638]
push 0x3d
push esi
movd xmm0, eax
mov eax, dword [0x4ad134]
cvtdq2pd xmm0, xmm0
push 4
movd xmm2, eax
mov eax, dword [0x4ad620]
addsd xmm1, xmm0
cvtdq2pd xmm2, xmm2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm2, xmm1
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
mov dword [0x4ad620], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.004065b0
movsd xmm0, qword [0x4ad628]
add esp, 0x20
movsd xmm1, qword [0x49ea58]
addsd xmm0, xmm1
movsd qword [0x4ad628], xmm0
movsd xmm0, qword [0x4ad628]
addsd xmm0, qword [0x4a0390]
ucomisd xmm0, qword [0x49eec0]
lahf
test ah, 0x44
jp 0x4377e8
movsd xmm0, qword [0x4ad6a0]
subsd xmm0, qword [0x4ad658]
movsd qword [0x4ad6a0], xmm0
jmp 0x43780c
movsd xmm0, qword [0x4ad260]
movsd qword [0x4ad4d0], xmm0
movsd xmm0, qword [0x4ad260]
subsd xmm0, xmm1
movsd qword [0x4ad260], xmm0
push esi
push 5
call fcn.0040ab20
mov eax, dword [ebp + 0xc]
add esp, 8
mov ebx, dword [ebp + 0x14]
mov dword [0x4ad0a0], 0xce22f412
test eax, eax
je 0x437e9a
movsd xmm3, qword [0x49ea58]
mov esi, 0xffffe3ec
nop dword [eax]
movsd xmm1, qword [0x4ad258]
dec eax
movsd xmm0, qword [0x4ad588]
addsd xmm1, qword [0x4a0110]
mov dword [ebp + 0xc], eax
subsd xmm1, xmm0
movss xmm0, dword [0x4ad020]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x4ad020], xmm0
inc dword [0x4ad414]
movss xmm1, dword [0x4ad02c]
movsx eax, word [0x4ad028]
subss xmm1, dword [0x4a167c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
cvtps2pd xmm2, xmm1
movsd xmm1, qword [0x4ad0e0]
mov eax, dword [0x4ad414]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd xmm0, qword [0x4ad0e0]
subsd xmm0, xmm3
movsd qword [0x4ad0e0], xmm0
dec word [0x4ad028]
comisd xmm2, xmm1
jbe 0x437901
mov ax, word [0x4ad294]
movsx ecx, ax
mov eax, dword [0x4ad064]
add eax, 0x2d6c1211
add eax, ecx
mov word [0x4ad294], ax
inc dword [0x4ad064]
movss xmm0, dword [0x4ad22c]
movsd xmm1, qword [0x4ad468]
mov edx, dword [ebp + 8]
addsd xmm1, qword [0x49f180]
cvtps2pd xmm2, xmm0
mov al, byte [edx]
mov byte [ebp + edi - 4], al
movsd xmm0, qword [0x4ad468]
comisd xmm2, xmm1
subsd xmm0, xmm3
movsd qword [0x4ad468], xmm0
jb 0x43798f
mov eax, dword [0x4ad134]
movsd xmm0, qword [0x4ad0f0]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
movss xmm0, dword [0x4ad1e4]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x4ad1e4], xmm0
movsd xmm0, qword [0x4ad0f0]
addsd xmm0, xmm3
movsd qword [0x4ad0f0], xmm0
inc dword [0x4ad134]
jmp 0x4379b7
dec word [0x4ad430]
mov ecx, 0x3da829d8
dec dword [0x4ad5bc]
movsx eax, word [0x4ad430]
sub ecx, eax
mov eax, dword [0x4ad5bc]
add eax, ecx
add dword [0x4ad66c], eax
movss xmm0, dword [0x4ad290]
inc edi
cvtps2pd xmm1, xmm0
inc edx
mov dword [ebp + 8], edx
movsd xmm0, qword [0x4ad170]
movsx eax, word [0x4ad300]
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd xmm0, qword [0x4ad260]
addsd xmm0, xmm1
movsd qword [0x4ad260], xmm0
movsd xmm0, qword [0x4ad170]
addsd xmm0, xmm3
movsd qword [0x4ad170], xmm0
mov word [0x4ad018], si
cmp edi, 3
jne 0x437e79
mov ax, word [0x4ad2f8]
mov ecx, dword [section..data]
inc word [0x4ad2f8]
dec dword [section..data]
cwde
add ecx, eax
cmp ecx, 0x7b20ef58
jg 0x437a4c
mov dword [0x4ad5fc], 0xcee2eb04
movsd xmm0, qword [0x4ad068]
mov al, byte [ebp - 4]
movss xmm4, dword [0x49ea54]
shr al, 2
mov byte [ebp - 8], al
cvttsd2si eax, xmm0
mov word [0x4ad148], ax
mov al, byte [ebp - 4]
and al, 3
shl al, 4
mov byte [ebp - 7], al
add dword [0x4ad01c], 0x2c48980a
movss xmm0, dword [0x4ad398]
mov al, byte [ebp - 3]
subss xmm0, xmm4
shr al, 4
add byte [ebp - 7], al
movss dword [0x4ad398], xmm0
movss xmm0, dword [0x4ad1b8]
addss xmm0, dword [0x4ad398]
mov cl, byte [ebp - 3]
mov al, byte [ebp - 2]
and cl, 0xf
shl cl, 2
mov byte [ebp - 6], cl
shr al, 6
movss dword [0x4ad1b8], xmm0
add cl, al
mov dword [0x4ad584], 0x2d474fbb
mov eax, dword [0x4ad194]
mov byte [ebp - 6], cl
dec dword [0x4ad194]
cmp eax, 0x84302cf6
je 0x437af6
add dword [0x4ad450], 0x7eec46b5
movss xmm0, dword [0x4ad51c]
mov al, byte [ebp - 2]
subss xmm0, xmm4
and al, 0x3f
xor esi, esi
mov byte [ebp - 5], al
movss dword [0x4ad51c], xmm0
mov eax, dword [0x4ad5a4]
movss xmm0, dword [0x4ad51c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [0x4ad5a4], eax
movss xmm0, dword [0x4ad26c]
addss xmm0, dword [0x4ad1d4]
subss xmm0, dword [0x4a156c]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ad188]
addsd xmm0, xmm1
movsd qword [0x4ad188], xmm0
nop dword [eax]
nop dword [eax + eax]
movsd xmm2, qword [0x4ad218]
movsd xmm0, qword [0x4ad4b0]
addsd xmm0, qword [0x49f3f0]
movsd xmm1, qword [0x4ad678]
addsd xmm2, qword [0x49f6c8]
addsd xmm1, xmm0
movsd xmm0, qword [0x4ad678]
subsd xmm0, xmm3
comisd xmm2, xmm1
movsd qword [0x4ad678], xmm0
movsd xmm0, qword [0x4ad4b0]
subsd xmm0, xmm3
movsd qword [0x4ad4b0], xmm0
jbe 0x437bdd
dec word [0x4ad410]
mov ax, word [0x4ad410]
mov word [0x4ad448], ax
cmp byte [ebp + 0x10], 0
je 0x437ce3
mov cl, byte [ebp + esi - 8]
cmp cl, 0x3d
jbe 0x437ce3
movsd xmm0, qword [0x4ad320]
cmp cl, 0x3e
movsd xmm1, qword [0x49edf0]
mov ecx, ebx
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [0x4ad008], eax
movsd xmm0, qword [0x4ad320]
addsd xmm0, xmm3
movsd qword [0x4ad320], xmm0
jne 0x437c7d
add dword [0x4ad0c4], 0xd4d98bac
lea eax, [ebp - 0x14]
push eax
call fcn.00446510
movsd xmm1, qword [0x4ad690]
movsd xmm0, qword [0x4ad010]
subsd xmm0, qword [0x49f7f8]
subsd xmm1, xmm0
movsd qword [0x4ad690], xmm1
movsd xmm0, qword [0x4ad010]
subsd xmm0, qword [0x49ea58]
movsd qword [0x4ad010], xmm0
jmp 0x437cad
imul eax, dword [0x4ad434], 0xd9d59ba9
mov dword [0x4ad434], eax
lea eax, [ebp - 0x18]
push eax
call fcn.00446510
movss xmm0, dword [0x4ad1bc]
mulss xmm0, dword [0x4a2774]
movss dword [0x4ad1bc], xmm0
movsx eax, word [0x4ad500]
mov ecx, 0x56f5dd18
movss xmm0, dword [0x4ad484]
sub ecx, eax
movss xmm4, dword [0x49ea54]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
movss dword [0x4ad484], xmm0
jmp 0x437de1
movss xmm0, dword [0x4ad56c]
addss xmm0, xmm4
movss dword [0x4ad56c], xmm0
movss xmm1, dword [0x4ad56c]
subss xmm1, dword [0x4a0fd8]
movss xmm0, dword [0x4ad354]
movsx eax, word [0x4ad478]
addss xmm0, xmm1
movsd xmm1, qword [0x4ad110]
dec word [0x4ad478]
cvtps2pd xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
comisd xmm1, xmm2
jb 0x437d6d
movss xmm0, dword [0x4ad158]
subss xmm0, dword [0x4a2898]
subss xmm0, dword [0x4a0c84]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ad250]
addsd xmm0, xmm1
movsd qword [0x4ad250], xmm0
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ebp + esi - 8]
movzx eax, byte [eax + ecx]
mov ecx, ebx
push eax
call fcn.0042fd00
movss xmm0, dword [0x4ad180]
movss xmm1, dword [0x4a12fc]
movss xmm4, dword [0x49ea54]
subss xmm1, xmm0
movss xmm0, dword [0x4ad180]
subss xmm0, xmm4
movss dword [0x4ad180], xmm0
movss xmm0, dword [0x4a29ec]
comiss xmm0, xmm1
jb 0x437de1
movsx eax, word [0x4ad418]
add eax, 0x40efd7c0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [0x4ad258], xmm0
inc word [0x4ad418]
movss xmm0, dword [0x4ad270]
inc esi
movsd xmm3, qword [0x49ea58]
subss xmm0, dword [0x4a2888]
movss dword [0x4ad270], xmm0
movsd xmm0, qword [0x4ad250]
movsd xmm1, qword [0x4ad1c8]
subsd xmm0, qword [0x49f150]
addsd xmm1, xmm0
movss xmm0, dword [0x4ad2a0]
cvtps2pd xmm0, xmm0
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x4ad2a0], xmm0
cmp esi, 4
jne 0x437b70
movsd xmm0, qword [0x4ad4a8]
xor edi, edi
subsd xmm0, qword [0x49f898]
mov esi, 0xffffe3ec
movsd qword [0x4ad4a8], xmm0
movss xmm0, dword [0x4ad43c]
mulss xmm0, dword [0x4ad1e4]
movss dword [0x4ad1e4], xmm0
movzx eax, word [0x4ad148]
imul eax, eax, 0x80bce487
mov word [0x4ad148], ax
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x437840
mov dword [ebp - 0xc], edi
inc word [0x4ad350]
movss xmm0, dword [0x4ad16c]
movss xmm4, dword [0x49ea54]
subss xmm0, xmm4
movss dword [0x4ad16c], xmm0
movsx eax, word [0x4ad350]
movss xmm0, dword [0x4ad390]
add eax, 0x30816bf8
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
movss xmm0, dword [0x4ad16c]
subss xmm0, dword [0x4a16a8]
ucomiss xmm1, xmm0
movss xmm0, dword [0x4ad390]
subss xmm0, xmm4
lahf
movss dword [0x4ad390], xmm0
test ah, 0x44
jnp 0x437f33
mov eax, dword [0x4ad504]
movsd xmm0, qword [0x4ad088]
subsd xmm0, qword [0x49f9b8]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [0x4ad504], eax
test edi, edi
je 0x438759
movsd xmm0, qword [0x4ad6a0]
addsd xmm0, qword [0x49fef8]
movsd qword [0x4ad6a0], xmm0
mov eax, dword [0x4ad28c]
imul eax, dword [0x4ad33c]
mov dword [0x4ad33c], eax
cmp edi, 3
jge 0x438079
lea ecx, [ebp - 4]
movsd xmm5, qword [0x49f068]
add edi, ecx
movsd xmm3, qword [0x49ea58]
mov esi, 3
xor eax, eax
sub esi, dword [ebp - 0xc]
mov ecx, esi
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
mov edx, 0xffffb773
and ecx, 3
rep stosb byte es:[edi], al
movsx eax, word [0x4ad418]
sub eax, 0x983f6d0
cmp eax, 0x1eda47c7
jge 0x438027
movsd xmm0, qword [0x4ad010]
movaps xmm2, xmm5
subsd xmm2, xmm0
movss xmm0, dword [0x4ad454]
movsd xmm1, qword [0x4ad578]
cvtps2pd xmm0, xmm0
addsd xmm1, xmm0
movsd xmm0, qword [0x4ad578]
subsd xmm0, xmm3
comisd xmm2, xmm1
movsd qword [0x4ad578], xmm0
movss xmm0, dword [0x4ad454]
addss xmm0, xmm4
movss dword [0x4ad454], xmm0
jbe 0x438031
mov ax, word [0x4ad0b8]
movzx ecx, word [0x4ad41c]
cwde
sub ecx, eax
sub ecx, 0x3ef26dde
mov word [0x4ad41c], cx
jmp 0x438031
mov dword [0x4ad580], 0x4ebce4cc
mov eax, dword [0x4ad07c]
movss xmm0, dword [0x4ad200]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [0x4ad07c], eax
movss xmm0, dword [0x4ad200]
addss xmm0, xmm4
movss dword [0x4ad200], xmm0
mov word [0x4ad1d0], dx
sub esi, 1
jne 0x437fa1
mov edi, dword [ebp - 0xc]
mov eax, dword [0x4ad5f4]
mov cl, byte [ebp - 4]
sub eax, 0x1fc5d759
mov dword [0x4ad008], eax
mov al, cl
shr al, 2
and cl, 3
mov byte [ebp - 8], al
mov eax, 0x7399
mov word [0x4ad0d8], ax
movsd xmm1, qword [0x4ad5c0]
mov eax, dword [0x4ad5b4]
shl cl, 4
mov byte [ebp - 7], cl
movd xmm0, eax
mov eax, dword [0x4ad33c]
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, qword [0x4a1cb8]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4ad33c], eax
movsd xmm0, qword [0x4ad648]
addsd xmm0, qword [0x49f8d0]
mov al, byte [ebp - 3]
shr al, 4
add byte [ebp - 7], al
mov al, byte [ebp - 3]
movsd qword [0x4ad648], xmm0
and al, 0xf
movss xmm0, dword [0x4ad270]
subss xmm0, xmm4
shl al, 2
mov byte [ebp - 6], al
movss dword [0x4ad270], xmm0
movss xmm1, dword [0x4ad270]
movss xmm0, dword [0x4a2700]
comiss xmm0, xmm1
jb 0x438160
movss xmm0, dword [0x4ad600]
subss xmm0, dword [0x4a1500]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ad0e8]
addsd xmm0, xmm1
movsd qword [0x4ad0e8], xmm0
jmp 0x438183
movss xmm0, dword [0x4ad360]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ad118]
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x4ad360], xmm0
mov al, byte [ebp - 2]
xor esi, esi
shr al, 6
add byte [ebp - 6], al
mov eax, dword [0x4ad224]
movsd xmm0, qword [0x4ad4d0]
movsd xmm2, qword [0x49ea58]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [0x4ad224], eax
movsd xmm0, qword [0x4ad4d0]
mov al, byte [ebp - 2]
subsd xmm0, xmm2
and al, 0x3f
mov byte [ebp - 5], al
movsd qword [0x4ad4d0], xmm0
movzx eax, word [0x4ad55c]
sub eax, 0x2654629
mov word [0x4ad394], ax
dec word [0x4ad55c]
imul eax, dword [0x4ad668], 0x8e350eff
mov dword [0x4ad668], eax
mov eax, dword [0x4ad5d4]
movss xmm0, dword [0x4ad68c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [0x4ad5d4], eax
test edi, edi
js 0x4384f6
nop word [eax + eax]
cmp byte [ebp + 0x10], 0
movsd xmm0, qword [0x4ad318]
movsd qword [0x4ad380], xmm0
je 0x4383cc
mov cl, byte [ebp + esi - 8]
cmp cl, 0x3d
jbe 0x4383cc
movsx eax, word [0x4ad1d0]
cmp cl, 0x3e
movsd xmm1, qword [0x4ad4b0]
mov ecx, ebx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movss xmm0, dword [0x4ad698]
cvtps2pd xmm0, xmm0
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x4ad698], xmm0
jne 0x438366
movzx eax, word [0x4ad204]
sub eax, 0x5509c4ee
mov word [0x4ad204], ax
lea eax, [ebp - 0x14]
push eax
call fcn.00446510
movss xmm1, dword [0x4ad558]
movsx eax, word [0x4ad4dc]
subss xmm1, dword [0x4a1314]
sub eax, 0xf3ff0c6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm1, xmm0
movss xmm0, dword [0x4ad558]
addss xmm0, dword [0x49ea54]
lahf
movss dword [0x4ad558], xmm0
test ah, 0x44
jnp 0x4383a8
inc dword [0x4ad2c0]
mov ax, word [0x4ad618]
movsx ecx, ax
movsx eax, word [0x4ad4c8]
movss xmm1, dword [0x4ad26c]
add eax, 0xbdd04c3f
add eax, ecx
movd xmm2, eax
mov eax, dword [0x4ad2c0]
dec word [0x4ad618]
dec word [0x4ad4c8]
cvtdq2ps xmm2, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
subss xmm1, dword [0x4a188c]
comiss xmm2, xmm1
jb 0x4383a8
movzx eax, word [0x4ad108]
add eax, 0x7f6b2bf1
mov word [0x4ad108], ax
jmp 0x4383a8
movss xmm0, dword [0x4ad68c]
lea eax, [ebp - 0x18]
subss xmm0, dword [0x4a0df4]
push eax
movss dword [0x4ad68c], xmm0
call fcn.00446510
mov eax, dword [0x4ad5bc]
movss xmm0, dword [0x4ad180]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [0x4ad5bc], eax
inc dword [0x4ad2b8]
mov eax, dword [0x4ad2b8]
add eax, 0x390673c4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x4ad51c], xmm0
jmp 0x43844c
movsd xmm0, qword [0x4ad3a0]
ucomisd xmm0, qword [0x4a0518]
lahf
test ah, 0x44
jnp 0x438428
movsd xmm1, qword [0x4ad258]
movsd xmm0, qword [0x4ad258]
subsd xmm1, qword [0x4a0160]
subsd xmm0, xmm2
comisd xmm1, xmmword [0x4a23a0]
movsd qword [0x4ad258], xmm0
jbe 0x438428
movss xmm0, dword [0x4ad338]
subss xmm0, dword [0x4a1420]
movss dword [0x4ad558], xmm0
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ebp + esi - 8]
movzx eax, byte [eax + ecx]
mov ecx, ebx
push eax
call fcn.0042fd00
movsd xmm0, qword [0x49f640]
movsd qword [0x4ad3e0], xmm0
mov eax, dword [0x4ad620]
mov ecx, 0xbbfa77c9
sub ecx, eax
inc esi
add dword [0x4ad5e4], ecx
dec dword [0x4ad298]
mov ax, word [0x4ad3f0]
movsx ecx, ax
mov eax, dword [0x4ad298]
inc word [0x4ad3f0]
add eax, 0x6736164d
add eax, ecx
cmp eax, 0x426ff8e9
jle 0x4384bd
mov ax, word [0x4ad630]
movsx ecx, ax
movsx eax, word [0x4ad0dc]
inc word [0x4ad630]
add eax, 0xf954cf8
add eax, ecx
cmp eax, 0xf9064742
jl 0x4384bd
movsd xmm0, qword [0x4a22c0]
movsd qword [0x4ad4f8], xmm0
mov eax, dword [0x4ad5d4]
movss xmm0, dword [0x4ad68c]
movsd xmm2, qword [0x49ea58]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [0x4ad5d4], eax
cmp esi, edi
jle 0x438230
movss xmm4, dword [0x49ea54]
movss xmm0, dword [0x4ad130]
subss xmm0, dword [0x4a29f0]
movsd xmm1, qword [0x4ad670]
subsd xmm1, qword [0x49ec58]
cvtps2pd xmm2, xmm0
movsd xmm0, qword [0x4ad670]
comisd xmm1, xmm2
subsd xmm0, qword [0x49ea58]
movsd qword [0x4ad670], xmm0
jbe 0x438562
movss xmm1, dword [0x4ad1ac]
mov eax, dword [0x4ad5d4]
addss xmm1, dword [0x4a1114]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [0x4ad5d4], eax
jmp 0x43857a
movsd xmm0, qword [0x4ad218]
addsd xmm0, qword [0x49f638]
movsd qword [0x4ad218], xmm0
cmp edi, 3
jge 0x43874f
mov esi, 3
sub esi, edi
nop word [eax + eax]
dec dword [0x4ad268]
movsx ecx, word [0x4ad4dc]
movss xmm1, dword [0x4ad340]
add ecx, 0xabcd4290
mov eax, dword [0x4ad268]
add eax, ecx
cmp byte [ebp + 0x10], 0
mov ecx, ebx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [0x4ad340], xmm1
movss xmm0, dword [0x4ad484]
movsd xmm1, qword [0x4ad3c0]
mov eax, dword [0x4ad460]
cvtps2pd xmm0, xmm0
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd xmm0, qword [0x4ad188]
mulsd xmm0, xmm1
movsd qword [0x4ad188], xmm0
je 0x4386a6
movss xmm1, dword [0x4ad22c]
lea eax, [ebp - 0x1c]
movss xmm0, dword [0x4ad128]
subss xmm0, dword [0x4a11f8]
push eax
subss xmm1, xmm0
movss dword [0x4ad22c], xmm1
movss xmm0, dword [0x4ad128]
subss xmm0, xmm4
movss dword [0x4ad128], xmm0
call fcn.00446510
movss xmm1, dword [0x4ad10c]
mov eax, dword [0x4ad1e0]
addss xmm1, dword [0x4a0bac]
movss xmm4, dword [0x49ea54]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [0x4ad600]
mulss xmm0, xmm1
movss dword [0x4ad600], xmm0
inc dword [0x4ad1e0]
movss xmm0, dword [0x4ad10c]
subss xmm0, xmm4
movss dword [0x4ad10c], xmm0
jmp 0x4386df
movss xmm0, dword [0x4ad480]
mulss xmm0, dword [0x4a0bd0]
push 0x3d
movss dword [0x4ad480], xmm0
call fcn.0042fd00
movzx eax, word [0x4ad0a4]
movss xmm4, dword [0x49ea54]
sub eax, 0x2f4808f0
mov word [0x4ad0a4], ax
movsd xmm0, qword [0x4ad5c0]
movsd xmm1, qword [0x4a18e8]
subsd xmm1, xmm0
comisd xmm1, xmmword [0x49eda8]
jb 0x43872e
movsx eax, word [0x4ad4dc]
movsd xmm0, qword [0x4ad230]
sub eax, 0x3ce72423
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm0, xmm1
movsd qword [0x4ad230], xmm0
dec word [0x4ad4dc]
jmp 0x438746
mov ax, word [0x4ad3b8]
movzx ecx, word [0x4ad5a8]
cwde
imul ecx, eax
mov word [0x4ad5a8], cx
sub esi, 1
jne 0x438590
add dword [0x4ad084], 0xf1be1c82
mov ecx, dword [0x4ad2a4]
mov eax, dword [0x4ad570]
push dword [ebp - 0x10]
add eax, ecx
mov ecx, dword [0x4ad5d0]
imul ecx, eax
push 0x41
mov dword [0x4ad5d0], ecx
call fcn.0040ab20
mov eax, dword [0x4ad29c]
add esp, 8
movzx ecx, word [0x4ad00c]
add eax, 0x8344c0df
movsd xmm3, qword [0x49ea58]
imul ecx, eax
pop edi
mov dword [ebp - 0x14], 0
pop esi
pop ebx
mov word [0x4ad00c], cx
movsx eax, word [0x4ad38c]
inc word [0x4ad38c]
sub eax, 0x799afc8c
cmp eax, 0xf9e89918
jle 0x438803
movsd xmm0, qword [0x4ad230]
subsd xmm0, xmm3
movsd qword [0x4ad230], xmm0
movsd xmm1, qword [0x4ad3c0]
movsd xmm0, qword [0x4ad230]
addsd xmm0, qword [0x4a0048]
subsd xmm1, xmm0
movsd qword [0x4ad3c0], xmm1
jmp 0x43883c
movss xmm0, dword [0x4ad098]
subss xmm0, dword [0x49ea54]
movss dword [0x4ad098], xmm0
mov eax, dword [0x4ad284]
movss xmm0, dword [0x4ad098]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [0x4ad284], eax
mov eax, dword [0x4ad5dc]
movss xmm1, dword [0x4ad68c]
add eax, 0x56ec2002
addss xmm1, dword [0x4a1148]
movss xmm0, dword [0x4ad68c]
addss xmm0, dword [0x49ea54]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mov dword [ebp - 0x18], 0
subss xmm1, dword [0x4a1588]
movss dword [0x4ad68c], xmm0
comiss xmm2, xmm1
jb 0x4388c0
movss xmm0, dword [0x4ad644]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ad1c8]
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x4ad644], xmm0
movsd xmm0, qword [0x4ad1c8]
addsd xmm0, xmm3
movsd qword [0x4ad1c8], xmm0
movsd xmm1, qword [0x4ad2d0]
movsx eax, word [0x4ad430]
subsd xmm1, qword [0x49f750]
mov dword [ebp - 0x1c], 0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [0x4ad430], ax
mov esp, ebp
pop ebp
ret