Function at 0x422760
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
fld qword [0x44d470]
mov eax, dword [0x44d180]
mov dword [ebp - 0xc], eax
fild dword [ebp - 0xc]
push ebx
push esi
push edi
fsubp st(1)
mov edi, 1
xor ebx, ebx
fadd dword [0x44d040]
fstp dword [0x44d040]
add dword [0x44d180], edi
fld dword [0x44d258]
fadd dword [0x44d068]
fistp qword [ebp - 0x20]
mov cx, word [ebp - 0x20]
mov word [0x44d03c], cx
fld dword [0x44d258]
fld1
fadd st(1), st(0)
fxch st(1)
fstp dword [0x44d258]
fld dword [0x44d1cc]
fadd st(1)
fstp dword [0x44d1cc]
fld dword [0x44d1cc]
fsub qword [0x449d28]
fmul qword [0x44d2d8]
fstp qword [0x44d2d8]
fld qword [0x44d208]
fsub qword [0x449d20]
fsub qword [0x449d18]
fistp qword [ebp - 0x20]
mov dx, word [ebp - 0x20]
mov word [0x44d288], dx
fsubr qword [0x44d208]
fstp qword [0x44d208]
movzx eax, word [0x44d450]
add eax, 0x31c89e70
mov word [0x44d450], ax
mov ecx, dword [0x44d1b8]
add ecx, 0xe1c52a0
cmp ecx, 0x933f34f9
je 0x422851
fld dword [0x44d4b4]
fsub qword [0x449d10]
fadd dword [0x44d26c]
fstp dword [0x44d26c]
push 0x41
push 0x3bfa
call fcn.00412070
mov edx, dword [0x44d414]
add edx, 0x540730ad
mov dword [ebp - 0x1c], edx
fild dword [ebp - 0x1c]
push 4
push 0x3b07
mov dword [ebp - 0xc], eax
fadd qword [0x44d350]
fstp qword [0x44d350]
call fcn.00412070
add word [0x44d248], di
fld dword [0x44d040]
fadd qword [0x449d08]
mov esi, eax
mov ax, word [0x44d248]
movsx ecx, ax
mov dword [ebp - 0x1c], ecx
add esp, 0x10
mov eax, esi
fild dword [ebp - 0x1c]
fsubp st(1)
fistp qword [ebp - 0x20]
mov edx, dword [ebp - 0x20]
mov dword [0x44d3c8], edx
lea edx, [ebp - 0x10]
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, edi
test cl, cl
jne 0x4228c6
mov eax, dword [0x44d494]
add eax, 0x4b1ca74b
cmp eax, 0x60fdd0de
jl 0x422905
mov cx, word [0x44d2cc]
movsx edx, cx
mov eax, 0xb1bc185b
sub eax, edx
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fmul qword [0x44d108]
fstp qword [0x44d108]
push 4
push 0x3e7
call fcn.00412070
mov cx, word [0x44d418]
movsx edx, cx
add edx, 0x52302f41
add esp, 8
mov edi, eax
cmp edx, 0xb61e12eb
jne 0x4229c9
fld dword [0x44d2e8]
fld1
fadd st(1), st(0)
fxch st(1)
fstp dword [0x44d2e8]
mov eax, dword [0x44d414]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fadd qword [0x44d158]
fld dword [0x44d2e8]
mov ecx, dword [0x44d1d8]
mov dword [ebp - 0x1c], ecx
fisub dword [ebp - 0x1c]
fsub dword [0x44d214]
fcompp
fnstsw ax
test ah, 5
jp 0x4229b0
fld qword [0x44d190]
fsub st(1)
fstp qword [0x44d190]
fld qword [0x44d190]
fsub dword [0x44d1cc]
fsub qword [0x449d00]
fadd dword [0x44d398]
fstp dword [0x44d398]
fadd dword [0x44d1cc]
fstp dword [0x44d1cc]
jmp 0x422a12
mov dx, word [0x44d440]
fstp st(0)
movsx eax, dx
add eax, 0xc838fbb6
add dword [0x44d3b8], eax
jmp 0x422a12
fld dword [0x44d4b0]
fadd qword [0x446f70]
fstp dword [0x44d4b0]
movzx eax, word [0x44d038]
mov edx, dword [0x44d1bc]
movsx ecx, ax
mov dword [ebp - 0x1c], ecx
fild dword [ebp - 0x1c]
mov dword [ebp - 0x1c], edx
fild dword [ebp - 0x1c]
fadd dword [0x44d4b0]
fsubp st(1)
fistp qword [ebp - 0x20]
movzx eax, word [ebp - 0x20]
mov word [0x44d038], ax
inc dword [0x44d1bc]
push esi
push 4
call fcn.00413df0
fld dword [0x44d444]
fcomp qword [0x449cf8]
add esp, 8
fnstsw ax
test ah, 0x41
jne 0x422a6f
mov ecx, dword [0x44d060]
add ecx, dword [0x44d124]
or eax, 0xffffffff
mov dword [ebp - 0x1c], ecx
fild dword [ebp - 0x1c]
fsub dword [0x44d294]
fstp dword [0x44d160]
fld dword [0x44d294]
fsub qword [0x446f70]
fstp dword [0x44d294]
add dword [0x44d060], eax
add dword [0x44d124], eax
lea edx, [ebp - 0x14]
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x422a76
movzx edx, word [0x44d2d0]
mov ecx, dword [0x44d034]
movsx eax, dx
mov dword [ebp - 0x1c], eax
push 4
push 0x205f
fild dword [ebp - 0x1c]
mov dword [ebp - 0x1c], ecx
fild dword [ebp - 0x1c]
fld dword [0x44d2e8]
fadd qword [0x449cf0]
fsubp st(1)
fsubp st(1)
fistp qword [ebp - 0x20]
movzx edx, word [ebp - 0x20]
mov word [0x44d2d0], dx
fld dword [0x44d2e8]
fadd qword [0x446f70]
fstp dword [0x44d2e8]
call fcn.00412070
fld dword [0x44d2f8]
mov esi, eax
fadd qword [0x449ce8]
push edi
push 4
fsubr qword [0x449ce0]
fistp qword [ebp - 0x20]
mov ax, word [ebp - 0x20]
mov word [0x44d2b0], ax
fld dword [0x44d2f8]
fsub qword [0x446f70]
fstp dword [0x44d2f8]
call fcn.00413df0
dec dword [0x44d490]
mov ecx, dword [0x44d490]
mov edx, dword [section..data]
imul ecx, edx
lea edx, [ebp - 0x18]
add esp, 0x10
mov dword [section..data], ecx
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x422b38
fld qword [0x44d078]
push esi
fsub qword [0x449cd8]
push 4
fstp qword [0x44d078]
call fcn.00413df0
fld qword [0x44d100]
mov edi, 1
fld1
add esp, 8
fadd st(1), st(0)
fxch st(1)
fstp qword [0x44d100]
fld qword [0x44d100]
mov eax, dword [0x44d41c]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fsubp st(1)
fmul qword [0x44d078]
fstp qword [0x44d078]
add dword [0x44d41c], edi
cmp dword [ebp + 0xc], ebx
je 0x42316b
fld qword [0x44d0d0]
sub dword [ebp + 0xc], edi
fadd st(1)
fstp qword [0x44d0d0]
mov ecx, dword [0x44d460]
mov dword [ebp - 0x1c], ecx
fild dword [ebp - 0x1c]
mov ecx, dword [ebp + 8]
fadd qword [0x44d0d0]
fsub qword [0x44d430]
fistp qword [ebp - 0x28]
mov dx, word [ebp - 0x28]
mov word [0x44d418], dx
mov edx, 0xffffffff
fld qword [0x44d430]
fadd st(1)
fstp qword [0x44d430]
add dword [0x44d460], edx
mov al, byte [ecx]
mov byte [ebp + ebx - 4], al
movzx eax, word [0x44d278]
add eax, 0x3037832c
mov word [0x44d278], ax
movzx eax, word [0x44d1b0]
movzx esi, word [0x44d03c]
cwde
sub esi, eax
sub esi, 0x282c4be8
mov word [0x44d03c], si
add ebx, edi
fld dword [0x44d3f4]
add ecx, edi
fmul qword [0x449cd0]
mov dword [ebp + 8], ecx
fstp dword [0x44d3f4]
cmp ebx, 3
jne 0x423117
fld qword [0x44d050]
fsub st(1)
fstp qword [0x44d050]
fld dword [0x44d35c]
fld qword [0x44d050]
mov al, byte [ebp - 4]
fsubr qword [0x449cc8]
mov cl, al
and al, bl
shr cl, 2
fsub qword [0x449cc0]
mov byte [ebp - 8], cl
shl al, 4
mov byte [ebp - 7], al
fsubp st(1)
fstp dword [0x44d35c]
mov dword [0x44d4ac], 0x1e75e2cc
movzx eax, word [0x44d464]
movsx ecx, ax
mov dword [ebp - 0x1c], ecx
fild dword [ebp - 0x1c]
fadd dword [0x44d088]
movzx eax, word [0x44d42c]
movsx ecx, ax
mov dword [ebp - 0x1c], ecx
mov cl, byte [ebp - 3]
shr cl, 4
fild dword [ebp - 0x1c]
add byte [ebp - 7], cl
fmulp st(1)
fistp qword [ebp - 0x30]
movzx eax, word [ebp - 0x30]
mov word [0x44d42c], ax
fld dword [0x44d160]
fadd qword [0x44d2c0]
fcomp qword [0x449cb8]
fnstsw ax
fld qword [0x44d2c0]
fsub st(1)
fstp qword [0x44d2c0]
test ah, 0x44
jnp 0x422d0a
mov eax, 0xd32
mov word [0x44d3bc], ax
movzx eax, word [0x44d1b0]
movzx ecx, byte [ebp - 3]
and cl, 0xf
add cl, cl
add cl, cl
mov byte [ebp - 6], cl
mov ecx, dword [0x44d3b0]
cwde
sub eax, ecx
add eax, 0x76e023aa
mov word [0x44d1b0], ax
mov al, byte [ebp - 2]
fld dword [0x44d298]
mov cx, word [0x44d290]
shr al, 6
add byte [ebp - 6], al
movsx eax, cx
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fsub qword [0x44d240]
fsubp st(1)
fstp dword [0x44d298]
add word [0x44d290], di
fld qword [0x44d3d0]
movzx ecx, byte [ebp - 2]
fsub st(1)
and cl, 0x3f
mov byte [ebp - 5], cl
fstp qword [0x44d3d0]
add word [0x44d2b8], dx
fld qword [0x44d3d0]
fld dword [0x44d2e4]
movzx eax, word [0x44d2b8]
movsx ecx, ax
mov eax, dword [0x44d28c]
add dword [0x44d28c], edx
mov dword [ebp - 0x1c], ecx
fild dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
fsubp st(1)
fisub dword [ebp - 0x1c]
fcompp
fnstsw ax
fld dword [0x44d2e4]
fsub st(1)
fstp dword [0x44d2e4]
test ah, 1
jne 0x422de0
movzx ecx, word [0x44d070]
add ecx, 0x4a91d004
mov word [0x44d070], cx
mov ax, word [0x44d0fc]
add word [0x44d0fc], di
movsx ecx, ax
xor esi, esi
cmp ecx, 0xb6824fc8
jg 0x422e56
mov ax, word [0x44d30c]
mov cx, word [0x44d2b0]
add word [0x44d30c], dx
cwde
movsx ecx, cx
add eax, 0x15fc7c18
cmp eax, ecx
jle 0x422e6a
fld dword [0x44d294]
fsub dword [0x44d2a4]
mov edx, dword [0x44d41c]
mov dword [ebp - 0x1c], edx
fsub qword [0x449cb0]
fild dword [ebp - 0x1c]
fmulp st(1)
fistp qword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov dword [0x44d41c], eax
fld dword [0x44d294]
fsub st(1)
fstp dword [0x44d294]
jmp 0x422e6a
movzx ecx, word [0x44d010]
imul ecx, ecx, 0x9ff54e63
mov word [0x44d010], cx
cmp byte [ebp + 0x10], 0
fld qword [0x44d260]
mov dx, word [0x44d03c]
fsubr qword [0x449ca8]
movsx eax, dx
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fmulp st(1)
fistp qword [ebp - 0x40]
mov cx, word [ebp - 0x40]
mov word [0x44d03c], cx
fld qword [0x44d260]
fsub st(1)
fstp qword [0x44d260]
je 0x423021
mov al, byte [ebp + esi - 8]
cmp al, 0x3d
jbe 0x423021
add dword [0x44d3c8], edi
mov edx, dword [0x44d3c8]
mov dword [ebp - 0x1c], edx
fild dword [ebp - 0x1c]
fsub qword [0x44d348]
fsub qword [0x449ca0]
fstp qword [0x44d3c0]
fsubr qword [0x44d348]
fstp qword [0x44d348]
cmp al, 0x3e
jne 0x422f64
mov eax, dword [0x44d460]
sub eax, 0xfd1b71a
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
lea ecx, [ebp - 0x10]
push ecx
mov ecx, dword [ebp + 0x14]
fstp dword [0x44d134]
call fcn.004403f0
fld dword [0x44d394]
mov ecx, 0x9dd34648
fld1
fadd st(1), st(0)
fxch st(1)
fstp dword [0x44d394]
movzx edx, word [0x44d1b4]
movsx eax, dx
sub ecx, eax
mov dword [ebp - 0x1c], ecx
fild dword [ebp - 0x1c]
fsub dword [0x44d394]
movzx edx, word [0x44d0b4]
movsx eax, dx
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
faddp st(1)
fistp qword [ebp - 0x48]
mov cx, word [ebp - 0x48]
mov word [0x44d0b4], cx
jmp 0x42300d
add word [0x44d288], di
mov dx, word [0x44d168]
movzx ecx, word [0x44d288]
movsx eax, dx
sub eax, ecx
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0x14]
sub eax, 0x1c14c68c
mov word [0x44d168], ax
push edx
call fcn.004403f0
add word [0x44d2d4], di
mov ax, word [0x44d030]
movzx ecx, word [0x44d2d4]
cwde
movsx edx, cx
add edx, eax
mov dword [ebp - 0x1c], edx
fild dword [ebp - 0x1c]
fld qword [0x44d498]
fsub qword [0x449c98]
fadd qword [0x449c90]
fcompp
fnstsw ax
fld qword [0x44d498]
fld1
fadd st(1), st(0)
fxch st(1)
fstp qword [0x44d498]
test ah, 0x41
jp 0x42300d
dec dword [0x44d140]
fld dword [0x44d1cc]
fadd qword [0x44d3e8]
mov eax, dword [0x44d140]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
faddp st(1)
fmul qword [0x44d348]
fstp qword [0x44d348]
fld qword [0x44d2f0]
fsub qword [0x449c88]
fstp qword [0x44d2f0]
jmp 0x42307e
fld qword [0x44d300]
mov edx, dword [ebp - 0xc]
fadd qword [0x449c80]
fmul dword [0x44d258]
fstp dword [0x44d258]
fsubr qword [0x44d300]
movzx ecx, byte [ebp + esi - 8]
fstp qword [0x44d300]
movzx eax, byte [ecx + edx]
mov ecx, dword [ebp + 0x14]
push eax
call fcn.00402270
mov cx, word [0x44d364]
fld1
movsx edx, cx
cmp edx, 0x3ac7ce79
jle 0x42307e
mov eax, dword [0x44d060]
imul eax, eax, 0x11d4ad70
mov dword [0x44d060], eax
mov dword [0x44d1d8], 0x1990e71d
mov cx, word [0x44d2b8]
movsx edx, cx
mov eax, 0x1058003d
sub eax, edx
mov dword [ebp - 0x1c], eax
add esi, edi
fild dword [ebp - 0x1c]
fadd dword [0x44d43c]
fstp dword [0x44d43c]
cmp esi, 4
jne 0x422e6a
mov cx, word [0x44d404]
mov eax, dword [0x44d1bc]
movsx edx, cx
mov dword [ebp - 0x1c], edx
mov ecx, 0xcfde98ce
sub ecx, eax
fild dword [ebp - 0x1c]
mov dword [ebp - 0x1c], ecx
xor ebx, ebx
fild dword [ebp - 0x1c]
fadd qword [0x44d2a8]
fsubp st(1)
fistp qword [ebp - 0x50]
mov dx, word [ebp - 0x50]
mov word [0x44d404], dx
fld qword [0x44d2a8]
fsub st(1)
fstp qword [0x44d2a8]
dec dword [0x44d1bc]
mov eax, dword [0x44d180]
imul eax, eax, 0x389ecbad
mov dword [0x44d180], eax
or edx, 0xffffffff
fld dword [0x44d11c]
fadd qword [0x449c78]
fcomp qword [0x449c70]
fnstsw ax
fld dword [0x44d11c]
fadd st(1)
fstp dword [0x44d11c]
test ah, 0x44
jnp 0x42315f
mov eax, dword [0x44d090]
movzx ecx, word [0x44d168]
add eax, 0x10e0c9c0
imul ecx, eax
mov word [0x44d168], cx
add dword [0x44d090], edi
cmp dword [ebp + 0xc], 0
jne 0x422ba4
jmp 0x42316e
or edx, 0xffffffff
add word [0x44d404], dx
mov ax, word [0x44d404]
movsx ecx, ax
sub ecx, 0x682b4b4f
mov dword [ebp + 0xc], ecx
fild dword [ebp + 0xc]
fadd qword [0x44d0a8]
fstp qword [0x44d0a8]
test ebx, ebx
je 0x423718
movzx eax, word [0x44d3a0]
add eax, 0x3a4d23b
cmp ebx, 3
mov word [0x44d3a0], ax
fld qword [0x44d100]
fmul qword [0x449c68]
fstp qword [0x44d100]
jge 0x42323c
mov esi, 3
fstp st(0)
sub esi, ebx
push esi
lea eax, [ebp + ebx - 4]
push 0
push eax
call fcn.0041da70
fld qword [0x449c60]
add esp, 0xc
fld qword [0x44d300]
fmul st(1)
fstp qword [0x44d300]
movzx ecx, word [0x44d224]
imul ecx, ecx, 0xe895377
mov word [0x44d224], cx
add word [0x44d06c], di
mov dx, word [0x44d098]
movzx ecx, word [0x44d06c]
movsx eax, dx
movsx edx, cx
sub edx, eax
sub esi, edi
mov dword [ebp + 0xc], edx
fild dword [ebp + 0xc]
fstp qword [0x44d058]
jne 0x4231e6
fstp st(0)
or edx, 0xffffffff
fld1
movzx eax, word [0x44d2e0]
movzx ecx, byte [ebp - 4]
add eax, 0x6f5563eb
mov word [0x44d2e0], ax
shr cl, 2
fld dword [0x44d29c]
mov al, byte [ebp - 4]
fsub qword [0x449c58]
mov byte [ebp - 8], cl
and al, 3
shl al, 4
fstp dword [0x44d29c]
mov byte [ebp - 7], al
fld dword [0x44d218]
movzx ecx, byte [ebp - 3]
fsub qword [0x449c50]
shr cl, 4
add byte [ebp - 7], cl
fstp dword [0x44d218]
movzx eax, word [0x44d1a4]
movzx ecx, byte [ebp - 3]
imul eax, eax, 0x85b8602c
mov word [0x44d1a4], ax
movzx eax, word [0x44d464]
and cl, 0xf
add cl, cl
add cl, cl
mov byte [ebp - 6], cl
movzx ecx, byte [ebp - 2]
add eax, 0x20dfefae
mov word [0x44d464], ax
shr cl, 6
fld qword [0x44d0d0]
add byte [ebp - 6], cl
fcomp qword [0x449c48]
fnstsw ax
test ah, 1
jne 0x4232ef
fld qword [0x449c40]
fstp qword [0x44d028]
jmp 0x423310
mov eax, dword [0x44d22c]
movzx ecx, word [0x44d008]
add eax, 0xfc3a512e
imul ecx, eax
mov word [0x44d008], cx
add dword [0x44d22c], edi
fld dword [0x44d294]
mov al, byte [ebp - 2]
fsub qword [0x44d280]
and al, 0x3f
mov byte [ebp - 5], al
xor esi, esi
fstp dword [0x44d294]
fld dword [0x44d32c]
fsub qword [0x449c38]
fadd qword [0x449c30]
fcomp qword [0x449c28]
fnstsw ax
test ah, 0x41
jp 0x423370
mov cx, word [0x44d1a8]
movsx eax, cx
cmp eax, 0xf2e5ae4a
je 0x423370
movzx ecx, word [0x44d118]
imul ecx, ecx, 0xa03e82cf
mov word [0x44d118], cx
mov eax, dword [0x44d19c]
add eax, 0x86a4e09
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
fsub dword [0x44d1cc]
fcomp qword [0x449c20]
fnstsw ax
fld dword [0x44d1cc]
fsub st(1)
fstp dword [0x44d1cc]
add dword [0x44d19c], edi
test ah, 5
jp 0x4233b9
fld qword [0x44d368]
fsub qword [0x449c18]
fstp qword [0x44d368]
cmp esi, ebx
jg 0x423552
mov cx, word [0x44d06c]
movsx eax, cx
add eax, 0x8bef24c1
add dword [0x44d414], eax
cmp byte [ebp + 0x10], 0
je 0x4234b6
mov al, byte [ebp + esi - 8]
cmp al, 0x3d
jbe 0x4234b6
movzx ecx, word [0x44d1b0]
fstp st(0)
sub ecx, 0x6fea694d
mov word [0x44d390], cx
add word [0x44d1b0], dx
cmp al, 0x3e
jne 0x42346e
mov ax, word [0x44d364]
mov ecx, dword [0x44d438]
add word [0x44d364], dx
cwde
add eax, 0x4611f819
sub ecx, 0x4507b51a
cmp eax, ecx
jne 0x42343c
fld dword [0x44d32c]
fstp dword [0x44d064]
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0x10]
push edx
call fcn.004403f0
mov eax, dword [0x44d3b0]
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
fadd qword [0x44d018]
fstp dword [0x44d08c]
add dword [0x44d0c0], 0xdb340102
jmp 0x423511
fld dword [0x44d398]
lea ecx, [ebp - 0x14]
fmul qword [0x449c10]
push ecx
mov ecx, dword [ebp + 0x14]
fstp dword [0x44d398]
call fcn.004403f0
mov dx, word [0x44d17c]
movsx eax, dx
mov ecx, 0x9ed5736
sub ecx, eax
mov dword [str.__sA], ecx
dec word [0x44d17c]
add dword [0x44d0c0], 0xdb340102
jmp 0x423511
fld qword [0x44d0f0]
mov eax, dword [ebp - 0xc]
fadd st(1)
fstp qword [0x44d0f0]
fld dword [0x44d26c]
fsubr qword [0x449c08]
fld qword [0x44d2c0]
fld qword [0x44d0f0]
faddp st(2)
fsubrp st(1)
fstp qword [0x44d2c0]
fadd dword [0x44d26c]
movzx edx, byte [ebp + esi - 8]
fstp dword [0x44d26c]
movzx ecx, byte [edx + eax]
push ecx
mov ecx, dword [ebp + 0x14]
call fcn.00402270
mov dword [0x44d0a0], 0x5d6b4289
fld qword [0x44d050]
add esi, edi
fistp qword [ebp - 0x50]
mov dx, word [ebp - 0x50]
mov word [0x44d0fc], dx
fld qword [0x44d050]
fld1
fsub st(1), st(0)
fxch st(1)
fstp qword [0x44d050]
mov eax, dword [0x44d40c]
mov word [0x44d2b8], ax
add dword [0x44d40c], edi
or edx, 0xffffffff
jmp 0x423370
cmp ebx, 3
fstp st(0)
fld qword [0x44d0a8]
fadd qword [0x449c00]
fstp qword [0x44d0a8]
jge 0x4236e5
mov esi, 3
sub esi, ebx
jmp 0x423583
or edx, 0xffffffff
mov ecx, dword [0x44d360]
mov eax, 0x8459bb2b
sub eax, ecx
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
fmul dword [0x44d258]
fstp dword [0x44d258]
add dword [0x44d360], edx
mov ecx, dword [0x44d080]
sub ecx, 0x38e13d65
mov word [0x44d338], cx
add dword [0x44d080], edx
cmp byte [ebp + 0x10], 0
je 0x423617
mov dx, word [0x44d21c]
movsx eax, dx
sub eax, 0x66aa1a77
mov dword [ebp + 0xc], eax
lea ecx, [ebp - 0x18]
push ecx
fild dword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
fadd dword [0x44d210]
fstp dword [0x44d210]
call fcn.004403f0
fld qword [0x44d2c0]
fsubr qword [0x449bf8]
fsub qword [0x449bf0]
fadd qword [0x44d3e0]
fstp qword [0x44d3e0]
jmp 0x4236b7
fld dword [0x44d394]
mov ecx, dword [ebp + 0x14]
fadd qword [0x449be8]
push 0x3d
fistp qword [ebp - 0x50]
mov edx, dword [ebp - 0x50]
mov dword [0x44d164], edx
call fcn.00402270
fld dword [0x44d11c]
fadd qword [0x44d330]
fcomp qword [0x449be0]
fnstsw ax
fld qword [0x44d330]
fadd qword [0x446f70]
fstp qword [0x44d330]
test ah, 0x41
jne 0x4236b7
dec word [0x44d03c]
mov ax, word [0x44d1a8]
mov cx, word [0x44d03c]
cwde
movsx edx, cx
sub edx, eax
sub edx, 0x647ca85f
mov dword [ebp + 0xc], edx
fild dword [ebp + 0xc]
fld dword [0x44d0e4]
fsub qword [0x449bd8]
fadd dword [0x44d064]
fcompp
fnstsw ax
test ah, 1
jne 0x4236b7
fld qword [0x44d0e8]
fsub qword [0x449bd0]
fstp qword [0x44d0e8]
mov eax, dword [0x44d044]
add eax, 0x1cfb960d
sub esi, edi
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
fld qword [0x44d3e0]
fld qword [0x44d4a0]
fsubp st(2)
fsubrp st(1)
fstp qword [0x44d3e0]
jne 0x423580
mov cx, word [0x44d480]
mov dx, word [0x44d030]
movsx eax, cx
movsx ecx, dx
mov edx, dword [0x44d494]
lea eax, [ecx + eax - 0x4548d034]
add edx, eax
mov word [0x44d480], dx
add word [0x44d030], di
jmp 0x42371a
fstp st(0)
mov ax, word [0x44d03c]
mov edx, dword [ebp - 0xc]
movsx ecx, ax
add ecx, 0x51afd22f
mov dword [ebp + 0xc], ecx
push edx
push 0x41
fild dword [ebp + 0xc]
fstp qword [0x44d388]
add word [0x44d03c], di
call fcn.00413df0
fld dword [0x44d444]
fld1
add esp, 8
fadd st(1), st(0)
pop edi
fxch st(1)
pop esi
pop ebx
fstp dword [0x44d444]
fld dword [0x44d1cc]
fld dword [0x44d43c]
fadd qword [0x449bc8]
fadd dword [0x44d444]
fcompp
fnstsw ax
fsubr dword [0x44d1cc]
fstp dword [0x44d1cc]
test ah, 1
jne 0x4237a8
fld dword [0x44d210]
mov eax, dword [0x44d1d8]
add eax, 0xe927597
mov dword [ebp + 0xc], eax
fisub dword [ebp + 0xc]
fstp dword [0x44d210]
push 4
lea ecx, [ebp - 0x10]
push 0
push ecx
call fcn.0041da70
mov edx, dword [0x44d034]
imul edx, edx, 0x4fe9d790
push 4
lea eax, [ebp - 0x14]
push 0
mov dword [0x44d034], edx
push eax
call fcn.0041da70
add dword [0x44d4a8], 0xa5dcdee
push 4
lea ecx, [ebp - 0x18]
push 0
push ecx
call fcn.0041da70
fld dword [0x44d398]
add esp, 0x24
fld dword [0x44d184]
mov dx, word [0x44d150]
fadd qword [0x449bc0]
movsx eax, dx
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
faddp st(1)
fsubp st(1)
fstp dword [0x44d398]
fld dword [0x44d184]
fsub qword [0x446f70]
fstp dword [0x44d184]
mov esp, ebp
pop ebp
ret