Function at 0x422118
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x15c
mov eax, dword [0x479084]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
fld qword [0x473958]
mov esi, dword [ebp + 0x1c]
mov dword [ebp - 0x118], esi
mov esi, dword [ebp + 0x20]
mov dword [ebp - 0x114], esi
mov esi, dword [ebp + 0x24]
mov dword [ebp - 0x108], esi
xor esi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xc], esi
fstp qword [ebp - 0xb8]
fld qword [0x473950]
mov eax, dword [ebp + 0x18]
fstp qword [ebp - 0xb8]
mov dword [ebp - 0xfc], ecx
fld qword [0x473948]
mov dword [ebp - 0xbc], ecx
fstp qword [ebp - 0xb8]
fld qword [0x473940]
mov edi, dword [ebp + 0x14]
fstp qword [ebp - 0xb8]
mov dword [ebp - 0x110], edx
fld qword [0x473938]
mov dword [ebp - 0x11c], edi
fstp qword [ebp - 0xb8]
mov dword [ebp - 0xac], edx
fld qword [0x473930]
fstp qword [ebp - 0xe0]
fld qword [ebp - 0xb8]
fadd qword [0x473928]
fstp qword [ebp - 0xb8]
mov dword [ebp - 0xa4], 0x4f
mov dword [ebp - 0xd4], 0x47
mov dword [ebp - 0xb0], 0x15
mov ecx, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xd4]
cmp ebx, ecx
jle 0x422256
mov ecx, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xb0]
cmp ecx, ebx
je 0x422256
mov ecx, dword [ebp - 0xd4]
mov ebx, dword [ebp - 0xb0]
imul ecx, ecx, 0x29
lea ecx, [ecx + ebx - 0x12]
add ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xb0], ecx
mov ebx, dword [ebp - 0xbc]
mov ecx, dword [ebx]
lea ecx, [ebp + ecx*4 - 0x48]
inc dword [ecx]
add ebx, 4
dec dword [ebp - 0xac]
jne 0x42225c
cmp dword [ebp - 0x48], edx
jne 0x422289
mov dword [edi], esi
mov dword [eax], esi
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041134f
leave
ret
mov dword [ebp - 0x8c], 0x3f
fld qword [0x473a68]
add dword [ebp - 0x8c], 0xfffffffa
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x8c]
imul ecx, edx
mov edx, dword [ebp - 0x8c]
imul edx, edx, 0xffffffac
sub edx, ecx
mov ecx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x8c]
imul ecx, edi
mov edi, dword [ebp - 0x8c]
imul ecx, edi
imul ecx, ecx, 0x3d
add edx, ecx
mov ecx, dword [ebp - 0x8c]
sub edx, ecx
sub edx, 0xb9
mov dword [ebp - 0x8c], edx
add dword [ebp - 0x8c], 0x55
mov ecx, dword [ebp - 0x8c]
push 0x52
pop edx
sub edx, ecx
add edx, dword [ebp - 0x8c]
push 0xf
add edx, dword [ebp - 0x8c]
mov dword [ebp - 0x8c], edx
mov ecx, dword [ebp - 0x8c]
imul ecx, ecx, 0x28
mov dword [ebp - 0x8c], ecx
add dword [ebp - 0x8c], 0x49
mov edi, dword [eax]
xor ecx, ecx
fst qword [ebp - 0xe0]
mov dword [ebp - 0xc0], edi
fld qword [0x473a48]
inc ecx
fst qword [ebp - 0xb8]
pop edx
fld qword [0x473a40]
fst qword [ebp - 0xd0]
fld qword [ebp - 0xe0]
fsub qword [ebp - 0xb8]
fstp qword [ebp - 0xb8]
cmp dword [ebp + ecx*4 - 0x48], esi
jne 0x42236e
inc ecx
cmp ecx, edx
jbe 0x422363
fxch st(2)
mov dword [ebp - 0xc4], ecx
fst qword [ebp - 0xe0]
fxch st(1)
fstp qword [ebp - 0xb8]
fxch st(1)
fstp qword [ebp - 0xd0]
fld qword [ebp - 0xe0]
fsub qword [ebp - 0xb8]
fstp qword [ebp - 0xb8]
cmp edi, ecx
jae 0x4223a8
mov dword [ebp - 0xc0], ecx
fld qword [0x473a58]
mov dword [ebp - 0xac], edx
fld qword [0x473a00]
fld qword [0x473960]
fld qword [0x473980]
cmp dword [ebp + edx*4 - 0x48], esi
jne 0x42251f
fxch st(3)
dec edx
fst qword [ebp - 0xa8]
mov dword [ebp - 0xac], edx
fld qword [ebp - 0xa8]
fsub qword [ebp - 0xa8]
fld qword [ebp - 0xa8]
fmul st(4)
fsubp st(1)
fadd st(2)
fadd qword [ebp - 0xa8]
fstp qword [ebp - 0xa8]
fld qword [ebp - 0xa8]
fmul qword [0x4739f8]
fld qword [ebp - 0xa8]
fadd qword [0x4739f0]
faddp st(1)
fstp qword [ebp - 0xa8]
fld qword [ebp - 0xa8]
fadd st(4)
fadd qword [ebp - 0xa8]
fld qword [ebp - 0xa8]
fmul qword [0x4739e8]
faddp st(1)
fsub qword [0x4739e0]
fstp qword [ebp - 0xa8]
fld qword [ebp - 0xa8]
fmul qword [ebp - 0xa8]
fld qword [ebp - 0xa8]
fadd qword [0x4739d8]
faddp st(1)
fld qword [ebp - 0xa8]
fmul qword [0x4739d0]
fmul qword [ebp - 0xa8]
fsubp st(1)
fadd st(5)
fsub qword [ebp - 0xa8]
fsub qword [0x4739c8]
fadd qword [ebp - 0xa8]
fsub qword [ebp - 0xa8]
fsub qword [ebp - 0xa8]
fstp qword [ebp - 0xa8]
fld qword [ebp - 0xa8]
fdiv qword [0x473a60]
fadd qword [ebp - 0xa8]
fadd qword [ebp - 0xa8]
fsub qword [ebp - 0xa8]
fstp qword [ebp - 0xa8]
fld qword [ebp - 0xa8]
fsub qword [ebp - 0xa8]
fsub qword [ebp - 0xa8]
fstp qword [ebp - 0xa8]
fld qword [ebp - 0xa8]
fadd qword [ebp - 0xa8]
fstp qword [ebp - 0xa8]
fld qword [ebp - 0xa8]
fmul qword [ebp - 0xa8]
fadd qword [ebp - 0xa8]
fstp qword [ebp - 0xa8]
fld qword [ebp - 0xa8]
fsub qword [0x473a50]
fstp qword [ebp - 0xa8]
fxch st(3)
jne 0x4223c6
mov dword [ebp - 0xd4], edx
cmp dword [ebp - 0xc0], edx
jbe 0x422533
mov dword [ebp - 0xc0], edx
mov edx, dword [ebp - 0xc0]
mov dword [eax], edx
mov dword [ebp - 0x8c], 0x43
mov eax, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x8c]
imul eax, edx
mov edx, dword [ebp - 0x8c]
sub eax, edx
add eax, dword [ebp - 0x8c]
push 0xfffffffffffffffd
add eax, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x8c]
lea eax, [eax + edx + 0x46]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
pop edx
sub edx, eax
add edx, dword [ebp - 0x8c]
push 0x24
add edx, dword [ebp - 0x8c]
pop edi
mov dword [ebp - 0x8c], edx
mov eax, dword [ebp - 0x8c]
cdq
idiv edi
push 0xffffffffffffffe9
pop ebx
push 0x53
mov edi, eax
mov eax, dword [ebp - 0x8c]
cdq
idiv ebx
mov edx, dword [ebp - 0x8c]
imul edx, edx, 0x29
sub eax, edi
sub eax, edx
mov edx, dword [ebp - 0x8c]
sub eax, edx
mov edx, dword [ebp - 0x8c]
sub eax, edx
mov edx, dword [ebp - 0x8c]
sub eax, edx
add eax, dword [ebp - 0x8c]
pop edi
add eax, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x8c]
lea eax, [eax + edx + 0x61]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x8c]
sub eax, edx
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x8c]
imul eax, edx
imul eax, eax, 0x16da
cdq
idiv edi
xor edi, edi
inc edi
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
add eax, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x8c]
lea eax, [eax + edx + 0x2a]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
add eax, dword [ebp - 0x8c]
shl edi, cl
mov dword [ebp - 0x8c], eax
jmp 0x422667
sub edi, dword [ebp + ecx*4 - 0x48]
js 0x422950
inc ecx
add edi, edi
cmp ecx, dword [ebp - 0xac]
jb 0x42265a
mov dword [ebp - 0x8c], 0x43
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
imul eax, ecx
mov ecx, dword [ebp - 0x8c]
sub eax, ecx
add eax, dword [ebp - 0x8c]
push 0xfffffffffffffffd
add eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
lea eax, [eax + ecx + 0x46]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
pop ecx
sub ecx, eax
add ecx, dword [ebp - 0x8c]
push 0x24
add ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x8c], ecx
mov eax, dword [ebp - 0x8c]
cdq
pop ecx
idiv ecx
push 0xffffffffffffffe9
pop ebx
push 0x53
mov ecx, eax
mov eax, dword [ebp - 0x8c]
cdq
idiv ebx
sub eax, ecx
mov ecx, dword [ebp - 0x8c]
imul ecx, ecx, 0x29
sub eax, ecx
mov ecx, dword [ebp - 0x8c]
sub eax, ecx
mov ecx, dword [ebp - 0x8c]
sub eax, ecx
mov ecx, dword [ebp - 0x8c]
sub eax, ecx
add eax, dword [ebp - 0x8c]
add eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
lea eax, [eax + ecx + 0x61]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
sub eax, ecx
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
imul eax, ecx
imul eax, eax, 0x16da
cdq
pop ecx
idiv ecx
mov edx, dword [ebp - 0xac]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
add eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
lea eax, [eax + ecx + 0x2a]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
add eax, dword [ebp - 0x8c]
mov dword [ebp - 0x8c], eax
mov eax, edx
shl eax, 2
mov dword [ebp - 0x9c], eax
lea eax, [ebp + eax - 0x48]
mov ecx, dword [eax]
sub edi, ecx
mov dword [ebp - 0xa4], edi
js 0x422950
mov dword [ebp - 0x84], esi
fxch st(3)
add ecx, edi
mov dword [eax], ecx
fst qword [ebp - 0x98]
fld qword [ebp - 0x98]
xor eax, eax
dec edx
fsub qword [ebp - 0x98]
fld qword [ebp - 0x98]
fmul st(4)
fsubp st(1)
fadd st(2)
fadd qword [ebp - 0x98]
fstp qword [ebp - 0x98]
fld qword [ebp - 0x98]
fmul qword [0x4739f8]
fld qword [ebp - 0x98]
fadd qword [0x4739f0]
faddp st(1)
fstp qword [ebp - 0x98]
fld qword [ebp - 0x98]
fadd st(4)
fadd qword [ebp - 0x98]
fld qword [ebp - 0x98]
fmul qword [0x4739e8]
faddp st(1)
fsub qword [0x4739e0]
fstp qword [ebp - 0x98]
fld qword [ebp - 0x98]
fmul qword [ebp - 0x98]
fld qword [ebp - 0x98]
fadd qword [0x4739d8]
faddp st(1)
fld qword [ebp - 0x98]
fmul qword [0x4739d0]
fmul qword [ebp - 0x98]
fsubp st(1)
fadd st(5)
fsub qword [ebp - 0x98]
fsub qword [0x4739c8]
fadd qword [ebp - 0x98]
fsub qword [ebp - 0x98]
fsub qword [ebp - 0x98]
fstp qword [ebp - 0x98]
fld qword [ebp - 0x98]
fdiv qword [0x473a60]
fadd qword [ebp - 0x98]
fadd qword [ebp - 0x98]
fsub qword [ebp - 0x98]
fstp qword [ebp - 0x98]
fld qword [ebp - 0x98]
fsub qword [ebp - 0x98]
fsub qword [ebp - 0x98]
fstp qword [ebp - 0x98]
fld qword [ebp - 0x98]
fadd qword [ebp - 0x98]
fstp qword [ebp - 0x98]
fld qword [ebp - 0x98]
fmul qword [ebp - 0x98]
fadd qword [ebp - 0x98]
fstp qword [ebp - 0x98]
fld qword [ebp - 0x98]
fsub qword [0x473a50]
fstp qword [ebp - 0x98]
je 0x42290e
xor ecx, ecx
add eax, dword [ebp + ecx - 0x44]
add ecx, 4
dec edx
mov dword [ebp + ecx - 0x84], eax
jne 0x4228fd
mov ecx, dword [ebp - 0xfc]
fxch st(4)
fst qword [ebp - 0xe0]
xor edx, edx
fld qword [0x473a48]
mov dword [ebp - 0xac], edx
fstp qword [ebp - 0xb8]
fld qword [0x473a40]
fstp qword [ebp - 0xd0]
fld qword [ebp - 0xe0]
fsub qword [ebp - 0xb8]
fstp qword [ebp - 0xb8]
jmp 0x422968
fstp st(1)
fstp st(3)
fstp st(2)
fstp st(0)
fstp st(0)
push 0xfffffffffffffffd
pop eax
jmp 0x42227a
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ecx]
add ecx, 4
mov dword [ebp - 0xbc], ecx
cmp eax, esi
je 0x42298c
mov ebx, dword [ebp - 0x108]
lea eax, [ebp + eax*4 - 0x88]
mov ecx, dword [eax]
mov dword [ebx + ecx*4], edx
inc ecx
mov dword [eax], ecx
mov dword [ebp - 0x8c], 0x43
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
imul eax, ecx
mov ecx, dword [ebp - 0x8c]
sub eax, ecx
add eax, dword [ebp - 0x8c]
push 0xfffffffffffffffd
add eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
lea eax, [eax + ecx + 0x46]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
pop ecx
sub ecx, eax
add ecx, dword [ebp - 0x8c]
push 0x24
add ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x8c], ecx
mov eax, dword [ebp - 0x8c]
cdq
pop ecx
idiv ecx
push 0xffffffffffffffe9
pop ebx
push 0x53
mov ecx, eax
mov eax, dword [ebp - 0x8c]
cdq
idiv ebx
sub eax, ecx
mov ecx, dword [ebp - 0x8c]
imul ecx, ecx, 0x29
sub eax, ecx
mov ecx, dword [ebp - 0x8c]
sub eax, ecx
mov ecx, dword [ebp - 0x8c]
sub eax, ecx
mov ecx, dword [ebp - 0x8c]
sub eax, ecx
add eax, dword [ebp - 0x8c]
add eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
lea eax, [eax + ecx + 0x61]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
sub eax, ecx
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
imul eax, ecx
imul eax, eax, 0x16da
cdq
pop ecx
idiv ecx
mov edx, dword [ebp - 0xac]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
add eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
lea eax, [eax + ecx + 0x2a]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
add eax, dword [ebp - 0x8c]
inc edx
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0xac], edx
cmp edx, dword [ebp - 0x110]
jb 0x422962
mov eax, dword [ebp - 0x9c]
fld qword [0x4739a0]
mov eax, dword [ebp + eax - 0x88]
fstp qword [ebp - 0xe8]
fld qword [0x473998]
mov dword [ebp - 0x110], eax
fstp qword [ebp - 0xd0]
fld qword [0x473990]
fstp qword [ebp - 0x98]
fld qword [0x473988]
fstp qword [ebp - 0x100]
fld qword [ebp - 0x98]
fcomp qword [ebp - 0xe8]
fnstsw ax
test ah, 5
jp 0x422bc8
fld qword [ebp - 0xd0]
fadd st(4)
fstp qword [ebp - 0xd0]
fld qword [ebp - 0x98]
fld qword [ebp - 0x98]
fucompp
fnstsw ax
test ah, 0x44
jp 0x422bc8
fld qword [ebp - 0x100]
fld qword [ebp - 0x100]
fucompp
fnstsw ax
test ah, 0x44
jp 0x422ba3
fld qword [ebp - 0x98]
fld qword [ebp - 0x100]
fmul qword [0x473978]
fsubp st(1)
fstp qword [ebp - 0xe8]
fld qword [ebp - 0xd0]
fadd qword [0x473970]
fadd qword [ebp - 0x98]
fadd qword [ebp - 0xe8]
fld qword [ebp - 0xe8]
fmul qword [0x473968]
fsubp st(1)
fld qword [ebp - 0x98]
fmul st(3)
fsubp st(1)
fstp qword [ebp - 0x98]
fld qword [ebp - 0xd0]
fcomp qword [ebp - 0xe8]
fnstsw ax
test ah, 0x41
jp 0x422bc8
fld qword [ebp - 0x100]
fsub qword [ebp - 0x98]
fstp qword [ebp - 0xe8]
mov eax, dword [ebp - 0x108]
mov ebx, dword [ebp - 0xc0]
or dword [ebp - 0xb0], 0xffffffff
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xc4]
neg ebx
mov dword [ebp - 0xac], esi
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x158], esi
mov dword [ebp - 0xf4], esi
mov dword [ebp - 0x9c], esi
cmp eax, dword [ebp - 0xd4]
jg 0x4235e1
mov edx, dword [ebp - 0xe4]
lea eax, [ebp + eax*4 - 0x48]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x104]
mov eax, dword [eax]
cmp eax, esi
je 0x423526
lea ecx, [eax + 1]
mov dword [ebp - 0x10c], ecx
dec eax
dec dword [ebp - 0x10c]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xc0]
lea edi, [ebx + eax]
cmp dword [ebp - 0xc4], edi
jle 0x4232c2
sub ebx, eax
mov dword [ebp - 0xec], ebx
jmp 0x422c70
mov eax, dword [ebp - 0xc0]
fxch st(4)
mov ebx, dword [ebp - 0xd4]
inc dword [ebp - 0xb0]
add dword [ebp - 0xec], eax
sub ebx, edi
mov dword [ebp - 0x94], edi
cmp ebx, eax
jbe 0x422c90
mov ebx, eax
mov ecx, dword [ebp - 0xc4]
fxch st(4)
sub ecx, edi
xor edi, edi
inc edi
shl edi, cl
cmp edi, dword [ebp - 0x10c]
jbe 0x422f2f
fst qword [ebp - 0xa0]
or eax, 0xffffffff
fld qword [ebp - 0xa0]
sub eax, dword [ebp - 0xfc]
fsub qword [ebp - 0xa0]
fld qword [ebp - 0xa0]
add edi, eax
fmul st(4)
mov eax, dword [ebp - 0x104]
fsubp st(1)
fadd st(2)
fadd qword [ebp - 0xa0]
fstp qword [ebp - 0xa0]
fld qword [ebp - 0xa0]
fmul qword [0x4739f8]
fld qword [ebp - 0xa0]
fadd qword [0x4739f0]
faddp st(1)
fstp qword [ebp - 0xa0]
fld qword [ebp - 0xa0]
fadd st(4)
fadd qword [ebp - 0xa0]
fld qword [ebp - 0xa0]
fmul qword [0x4739e8]
faddp st(1)
fsub qword [0x4739e0]
fstp qword [ebp - 0xa0]
fld qword [ebp - 0xa0]
fmul qword [ebp - 0xa0]
fld qword [ebp - 0xa0]
fadd qword [0x4739d8]
faddp st(1)
fld qword [ebp - 0xa0]
fmul qword [0x4739d0]
fmul qword [ebp - 0xa0]
fsubp st(1)
fadd st(5)
fsub qword [ebp - 0xa0]
fsub qword [0x4739c8]
fadd qword [ebp - 0xa0]
fsub qword [ebp - 0xa0]
fsub qword [ebp - 0xa0]
fstp qword [ebp - 0xa0]
fld qword [ebp - 0xa0]
fdiv qword [0x473a60]
fadd qword [ebp - 0xa0]
fadd qword [ebp - 0xa0]
fsub qword [ebp - 0xa0]
fstp qword [ebp - 0xa0]
fld qword [ebp - 0xa0]
fsub qword [ebp - 0xa0]
fsub qword [ebp - 0xa0]
fstp qword [ebp - 0xa0]
fld qword [ebp - 0xa0]
fadd qword [ebp - 0xa0]
fstp qword [ebp - 0xa0]
fld qword [ebp - 0xa0]
fmul qword [ebp - 0xa0]
fadd qword [ebp - 0xa0]
fstp qword [ebp - 0xa0]
fld qword [ebp - 0xa0]
fsub qword [0x473a50]
fstp qword [ebp - 0xa0]
cmp ecx, ebx
jae 0x422f2f
inc ecx
cmp ecx, ebx
jae 0x422f2f
jmp 0x422e13
mov eax, dword [ebp - 0x9c]
add eax, 4
add edi, edi
mov dword [ebp - 0x9c], eax
cmp edi, dword [eax]
jbe 0x422f2f
fld qword [0x4739a0]
fstp qword [ebp - 0x90]
fld qword [0x473998]
fstp qword [ebp - 0xd0]
fld qword [0x473990]
fstp qword [ebp - 0xf8]
fld qword [0x473988]
fstp qword [ebp - 0xe0]
fld qword [ebp - 0xf8]
fcomp qword [ebp - 0x90]
fnstsw ax
test ah, 5
jp 0x422f1e
fld qword [ebp - 0xd0]
fadd st(4)
fstp qword [ebp - 0xd0]
fld qword [ebp - 0xf8]
fld qword [ebp - 0xf8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x422f1e
fld qword [ebp - 0xe0]
fld qword [ebp - 0xe0]
fucompp
fnstsw ax
test ah, 0x44
jp 0x422ef9
fld qword [ebp - 0xf8]
fld qword [ebp - 0xe0]
fmul qword [0x473978]
fsubp st(1)
fstp qword [ebp - 0x90]
fld qword [ebp - 0xd0]
fadd qword [0x473970]
fadd qword [ebp - 0xf8]
fadd qword [ebp - 0x90]
fld qword [ebp - 0x90]
fmul qword [0x473968]
fsubp st(1)
fld qword [ebp - 0xf8]
fmul st(3)
fsubp st(1)
fstp qword [ebp - 0xf8]
fld qword [ebp - 0xd0]
fcomp qword [ebp - 0x90]
fnstsw ax
test ah, 0x41
jp 0x422f1e
fld qword [ebp - 0xe0]
fsub qword [ebp - 0xf8]
fstp qword [ebp - 0x90]
mov eax, dword [ebp - 0x9c]
sub edi, dword [eax]
inc ecx
cmp ecx, ebx
jb 0x422e0d
mov eax, dword [ebp - 0x114]
mov eax, dword [eax]
xor ebx, ebx
inc ebx
shl ebx, cl
lea edi, [eax + ebx]
mov dword [ebp - 0x9c], ebx
cmp edi, 0x5a0
ja 0x423607
mov edi, dword [ebp - 0x118]
fld qword [0x4739a0]
lea eax, [edi + eax*8]
mov edi, dword [ebp - 0xb0]
lea edi, [ebp + edi*4 - 0x158]
mov dword [edi], eax
fstp qword [ebp - 0xd0]
fld qword [0x473998]
mov dword [ebp - 0xf4], eax
fstp qword [ebp - 0xe0]
fld qword [0x473990]
fstp qword [ebp - 0x90]
fld qword [0x473988]
fstp qword [ebp - 0xb8]
fld qword [ebp - 0x90]
fcomp qword [ebp - 0xd0]
fnstsw ax
test ah, 5
jp 0x423067
fld qword [ebp - 0xe0]
fadd st(4)
fstp qword [ebp - 0xe0]
fld qword [ebp - 0x90]
fld qword [ebp - 0x90]
fucompp
fnstsw ax
test ah, 0x44
jp 0x423067
fld qword [ebp - 0xb8]
fld qword [ebp - 0xb8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x423042
fld qword [ebp - 0x90]
fld qword [ebp - 0xb8]
fmul qword [0x473978]
fsubp st(1)
fstp qword [ebp - 0xd0]
fld qword [ebp - 0xe0]
fadd qword [0x473970]
fadd qword [ebp - 0x90]
fadd qword [ebp - 0xd0]
fld qword [ebp - 0xd0]
fmul qword [0x473968]
fsubp st(1)
fld qword [ebp - 0x90]
fmul st(3)
fsubp st(1)
fstp qword [ebp - 0x90]
fld qword [ebp - 0xe0]
fcomp qword [ebp - 0xd0]
fnstsw ax
test ah, 0x41
jp 0x423067
fld qword [ebp - 0xb8]
fsub qword [ebp - 0x90]
fstp qword [ebp - 0xd0]
mov eax, dword [ebp - 0x114]
add dword [eax], ebx
mov ebx, dword [ebp - 0xb0]
cmp ebx, esi
je 0x423297
mov eax, dword [ebp - 0xac]
mov dword [ebp + ebx*4 - 0x88], eax
fst qword [ebp - 0x90]
fld qword [ebp - 0x90]
mov dl, byte [ebp - 0xc0]
fsub qword [ebp - 0x90]
mov byte [ebp - 0xe8], cl
fld qword [ebp - 0x90]
mov ecx, dword [ebp - 0xec]
fmul st(4)
shr eax, cl
mov byte [ebp - 0xe7], dl
mov edx, dword [ebp - 0xf4]
fsubp st(1)
fadd st(2)
fadd qword [ebp - 0x90]
fstp qword [ebp - 0x90]
fld qword [ebp - 0x90]
fmul qword [0x4739f8]
fld qword [ebp - 0x90]
fadd qword [0x4739f0]
faddp st(1)
fstp qword [ebp - 0x90]
fld qword [ebp - 0x90]
fadd st(4)
fadd qword [ebp - 0x90]
fld qword [ebp - 0x90]
fmul qword [0x4739e8]
faddp st(1)
fsub qword [0x4739e0]
fstp qword [ebp - 0x90]
fld qword [ebp - 0x90]
fmul qword [ebp - 0x90]
fld qword [ebp - 0x90]
fadd qword [0x4739d8]
faddp st(1)
fld qword [ebp - 0x90]
fmul qword [0x4739d0]
fmul qword [ebp - 0x90]
fsubp st(1)
fadd st(5)
fsub qword [ebp - 0x90]
fsub qword [0x4739c8]
fadd qword [ebp - 0x90]
fsub qword [ebp - 0x90]
fsub qword [ebp - 0x90]
fstp qword [ebp - 0x90]
fld qword [ebp - 0x90]
fdiv qword [0x473a60]
fadd qword [ebp - 0x90]
fadd qword [ebp - 0x90]
fsub qword [ebp - 0x90]
fstp qword [ebp - 0x90]
fld qword [ebp - 0x90]
fsub qword [ebp - 0x90]
fsub qword [ebp - 0x90]
fstp qword [ebp - 0x90]
fld qword [ebp - 0x90]
fadd qword [ebp - 0x90]
fstp qword [ebp - 0x90]
fld qword [ebp - 0x90]
fmul qword [ebp - 0x90]
fadd qword [ebp - 0x90]
fstp qword [ebp - 0x90]
fld qword [ebp - 0x90]
mov ecx, dword [edi - 4]
fsub qword [0x473a50]
mov edi, dword [ebp - 0xe8]
sub edx, ecx
mov dword [ecx + eax*8], edi
sar edx, 3
fstp qword [ebp - 0x90]
sub edx, eax
mov dword [ecx + eax*8 + 4], edx
mov dword [ebp - 0x8c], 0x3f
add dword [ebp - 0x8c], 0xfffffffa
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
imul eax, ecx
mov ecx, dword [ebp - 0x8c]
imul ecx, ecx, 0xffffffac
sub ecx, eax
mov eax, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x8c]
imul eax, edi
mov edi, dword [ebp - 0x8c]
imul eax, edi
imul eax, eax, 0x3d
add ecx, eax
mov eax, dword [ebp - 0x8c]
sub ecx, eax
sub ecx, 0xb9
mov dword [ebp - 0x8c], ecx
add dword [ebp - 0x8c], 0x55
mov eax, dword [ebp - 0x8c]
push 0x52
pop ecx
sub ecx, eax
add ecx, dword [ebp - 0x8c]
add ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x8c], ecx
mov eax, dword [ebp - 0x8c]
imul eax, eax, 0x28
mov dword [ebp - 0x8c], eax
add dword [ebp - 0x8c], 0x49
jmp 0x4232a5
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0xf4]
mov dword [eax], ecx
mov ebx, dword [ebp - 0x94]
mov eax, dword [ebp - 0xc0]
lea edi, [ebx + eax]
cmp dword [ebp - 0xc4], edi
jg 0x422c68
jmp 0x4232c4
fxch st(4)
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0x94], 0x4f
mov al, cl
sub al, bl
mov dword [ebp - 0xec], 0x47
mov dword [ebp - 0x8c], 0x15
mov byte [ebp - 0xe7], al
mov eax, dword [ebp - 0x8c]
mov edi, dword [ebp - 0xec]
cmp edi, eax
jle 0x423331
mov eax, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x8c]
cmp eax, edi
je 0x423331
mov eax, dword [ebp - 0xec]
mov edi, dword [ebp - 0x8c]
imul eax, eax, 0x29
lea eax, [eax + edi - 0x12]
add eax, dword [ebp - 0xec]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x108]
mov edi, dword [ebp - 0x110]
lea eax, [eax + edi*4]
cmp dword [ebp - 0xbc], eax
jb 0x423351
mov byte [ebp - 0xe8], 0xc0
jmp 0x423391
mov eax, dword [ebp - 0xbc]
mov edx, dword [eax]
cmp edx, dword [ebp + 8]
jae 0x423373
cmp edx, 0x100
setb al
dec al
and al, 0x60
mov byte [ebp - 0xe8], al
jmp 0x42338a
sub edx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov al, byte [eax + edx*4]
add al, 0x50
mov byte [ebp - 0xe8], al
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edx*4]
add dword [ebp - 0xbc], 4
mov edi, dword [ebp - 0xac]
xor eax, eax
inc eax
sub ecx, ebx
shl eax, cl
mov ecx, ebx
mov dword [ebp - 0x94], eax
mov eax, edi
shr eax, cl
cmp eax, dword [ebp - 0x9c]
jae 0x4233e1
mov ecx, dword [ebp - 0xf4]
lea ecx, [ecx + eax*8]
mov edi, dword [ebp - 0xe8]
mov dword [ecx], edi
mov edi, dword [ebp - 0x94]
add eax, edi
shl edi, 3
mov dword [ecx + 4], edx
add ecx, edi
cmp eax, dword [ebp - 0x9c]
jb 0x4233bb
mov edi, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xc4]
xor eax, eax
dec ecx
inc eax
shl eax, cl
jmp 0x4233f3
xor edi, eax
shr eax, 1
test edi, eax
jne 0x4233ef
xor edi, eax
mov dword [ebp - 0xac], edi
jmp 0x423467
fld qword [0x473958]
dec dword [ebp - 0xb0]
fstp qword [ebp - 0xb8]
sub ebx, dword [ebp - 0xc0]
fld qword [0x473950]
fstp qword [ebp - 0xb8]
fld qword [0x473948]
fstp qword [ebp - 0xb8]
fld qword [0x473940]
fstp qword [ebp - 0xb8]
fld qword [0x473938]
fstp qword [ebp - 0xb8]
fld qword [0x473930]
fstp qword [ebp - 0xe0]
fld qword [ebp - 0xb8]
fadd qword [0x473928]
fstp qword [ebp - 0xb8]
xor eax, eax
inc eax
mov ecx, ebx
shl eax, cl
mov ecx, dword [ebp - 0xb0]
dec eax
and eax, edi
cmp eax, dword [ebp + ecx*4 - 0x88]
jne 0x423401
mov dword [ebp - 0x8c], 0x3f
fxch st(4)
add dword [ebp - 0x8c], 0xfffffffa
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
imul eax, ecx
mov ecx, dword [ebp - 0x8c]
imul ecx, ecx, 0xffffffac
sub ecx, eax
mov eax, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x8c]
imul eax, edi
mov edi, dword [ebp - 0x8c]
imul eax, edi
imul eax, eax, 0x3d
add ecx, eax
mov eax, dword [ebp - 0x8c]
sub ecx, eax
sub ecx, 0xb9
mov dword [ebp - 0x8c], ecx
add dword [ebp - 0x8c], 0x55
mov eax, dword [ebp - 0x8c]
push 0x52
pop ecx
sub ecx, eax
add ecx, dword [ebp - 0x8c]
add ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x8c], ecx
mov eax, dword [ebp - 0x8c]
imul eax, eax, 0x28
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0xfc]
add dword [ebp - 0x8c], 0x49
cmp eax, esi
jne 0x422c3c
mov dword [ebp - 0x8c], 0x3f
add dword [ebp - 0x8c], 0xfffffffa
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
imul eax, ecx
mov ecx, dword [ebp - 0x8c]
imul ecx, ecx, 0xffffffac
sub ecx, eax
mov eax, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x8c]
imul eax, edi
mov edi, dword [ebp - 0x8c]
imul eax, edi
imul eax, eax, 0x3d
add ecx, eax
mov eax, dword [ebp - 0x8c]
sub ecx, eax
sub ecx, 0xb9
mov dword [ebp - 0x8c], ecx
add dword [ebp - 0x8c], 0x55
mov eax, dword [ebp - 0x8c]
push 0x52
add dword [ebp - 0x104], 4
pop ecx
sub ecx, eax
add ecx, dword [ebp - 0x8c]
add ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x8c], ecx
mov eax, dword [ebp - 0x8c]
imul eax, eax, 0x28
mov dword [ebp - 0x8c], eax
add dword [ebp - 0x8c], 0x49
inc dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc4]
cmp eax, dword [ebp - 0xd4]
jle 0x422c23
mov edi, dword [ebp - 0xa4]
fstp st(1)
fstp st(0)
fstp st(1)
fstp st(1)
fstp st(0)
cmp edi, esi
je 0x422278
cmp dword [ebp - 0xd4], 1
je 0x422278
push 0xfffffffffffffffb
jmp 0x42295c
fstp st(1)
fstp st(3)
fstp st(1)
fstp st(1)
jmp 0x422958