Function at 0x446050
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
fldz
push esi
push ebx
sub esp, 0xec
mov ebp, dword [esp + 0x104]
fstp qword [esp + 0xd8]
movzx ecx, byte [ebp]
cmp cl, 0x2d
ja case.0x44607a.1
movzx eax, cl
jmp dword [eax*4 + 0x48038c]
mov dword [esp + 0x30], 0
movzx ecx, byte [ebp + 1]
add ebp, 1
test cl, cl
jne 0x446118
mov ecx, dword [esp + 0x108]
test ecx, ecx
je 0x4460b3
mov eax, dword [esp + 0x108]
mov ebx, dword [esp + 0x104]
mov dword [eax], ebx
fldz
add esp, 0xec
pop ebx
pop esi
pop edi
pop ebp
ret
fldz
mov dword [esp + 0x30], 0
mov ebp, dword [esp + 0x108]
test ebp, ebp
je 0x4460e5
mov eax, dword [esp + 0x108]
mov edi, dword [esp + 0x104]
mov dword [eax], edi
mov edi, dword [esp + 0x30]
test edi, edi
je 0x4460b5
add esp, 0xec
fchs
pop ebx
pop esi
pop edi
pop ebp
ret
add ebp, 1
movzx ecx, byte [ebp]
cmp cl, 0x2d
jbe 0x446077
mov dword [esp + 0x30], 0
cmp cl, 0x30
mov dword [esp + 0x20], 0
je 0x4461a0
movsx ecx, cl
lea eax, [ecx - 0x30]
cmp eax, 9
ja 0x446c30
mov edi, ebp
mov dword [esp + 0x10], 0
xor ebx, ebx
xor edx, edx
mov dword [esp + 0x18], ebp
jmp 0x44616d
lea eax, [ebx + ebx*4]
lea ebx, [ecx + eax*2 - 0x30]
movsx ecx, byte [edi + 1]
add edx, 1
lea ebp, [edi + 1]
lea esi, [ecx - 0x30]
mov eax, ecx
cmp esi, 9
ja 0x4461c1
mov edi, ebp
cmp edx, 8
jle 0x446150
cmp edx, 0xf
jg 0x446157
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2 - 0x30]
mov dword [esp + 0x10], eax
jmp 0x446157
mov dword [esp + 0x30], 1
jmp 0x446089
add ebp, 1
movzx ecx, byte [ebp]
cmp cl, 0x30
je 0x4461a0
test cl, cl
je 0x446540
mov dword [esp + 0x20], 1
jmp 0x446125
mov esi, ebp
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x34], edx
mov edx, esi
sub edx, ebp
cmp esi, ebp
mov dword [esp + 0x2c], edx
jbe 0x4474d0
cmp byte [esi - 1], 0x30
jne 0x4474d0
xor edx, edx
mov dword [esp + 0x18], ebx
mov esi, edi
mov ebx, edx
mov edx, dword [esp + 0x10]
jmp 0x446208
sub esi, 1
cmp byte [esi], 0x30
jne 0x44620f
add ebx, 1
cmp esi, ebp
ja 0x446200
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x10], edx
cmp ecx, 0x2e
je 0x4464b0
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x74], edi
mov edi, dword [esp + 0x34]
mov dword [esp + 0x18], edi
xor edi, edi
mov ecx, eax
and ecx, 0xffffffdf
cmp ecx, 0x45
jne 0x44634d
mov eax, dword [esp + 0x18]
or eax, edi
or eax, dword [esp + 0x20]
je 0x446098
mov esi, dword [esp + 0x38]
movsx eax, byte [esi + 1]
cmp al, 0x2b
je 0x4474c3
cmp al, 0x2d
je 0x446d90
lea ecx, [esi + 1]
mov dword [esp + 0x48], 0
lea esi, [eax - 0x30]
cmp esi, 9
ja 0x446342
cmp eax, 0x30
jne 0x4462af
mov edx, dword [esp + 0x10]
lea esi, [esi]
add ecx, 1
movsx eax, byte [ecx]
cmp eax, 0x30
je 0x4462a0
mov dword [esp + 0x10], edx
lea esi, [eax - 0x31]
cmp esi, 8
ja 0x4475af
lea esi, [eax - 0x30]
lea eax, [ecx + 1]
mov dword [esp + 0x4c], eax
movsx eax, byte [ecx + 1]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x446304
lea edx, [ecx + 2]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], edi
lea esi, [esi]
lea ebx, [esi + esi*4]
mov edi, edx
add edx, 1
lea esi, [eax + ebx*2 - 0x30]
movsx eax, byte [edx - 1]
lea ebx, [eax - 0x30]
cmp ebx, 9
jbe 0x4462e0
mov dword [esp + 0x4c], edi
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
sub edx, ecx
cmp edx, 8
jg 0x447cef
cmp esi, 0x4e1f
jg 0x447cef
mov edx, dword [esp + 0x48]
test edx, edx
je 0x447a6c
mov edx, dword [esp + 0x38]
neg esi
mov dword [esp + 0x104], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x38], edx
jmp 0x44634f
mov esi, dword [esp + 0x38]
mov dword [esp + 0x104], esi
xor esi, esi
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x4463f0
mov ebx, dword [esp + 0x20]
or ebx, edi
jne 0x446643
mov edx, dword [esp + 0x40]
test edx, edx
jne 0x446098
cmp eax, 0x4e
je 0x446390
jle 0x447a84
cmp eax, 0x69
je 0x447a8d
cmp eax, 0x6e
jne 0x446098
mov ecx, 0x48038a
mov edx, 0x61
mov ebx, dword [esp + 0x38]
jmp 0x4463a2
mov ebx, ebp
movsx eax, byte [ebx + 1]
lea ebp, [ebx + 1]
lea edi, [eax - 0x41]
lea esi, [eax + 0x20]
cmp edi, 0x1a
cmovb eax, esi
cmp eax, edx
jne 0x446098
add ecx, 1
movsx edx, byte [ecx - 1]
test edx, edx
jne 0x4463a0
mov eax, ebx
mov dword [esp + 0xdc], 0x7ff80000
add eax, 2
fld qword [esp + 0xd8]
mov dword [esp + 0x104], eax
jmp 0x4460ca
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x18]
sub esi, dword [esp + 0x3c]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], 0
test eax, eax
fild qword [esp + 0x20]
cmove eax, edi
cmp edi, 0x10
mov dword [esp + 0x34], eax
mov eax, 0x10
mov dword [esp + 0x80], esi
cmovle eax, edi
cmp edi, 9
fst qword [esp + 0xd8]
jg 0x446655
fstp st(0)
cmp dword [esp + 0x80], 0
je 0x446496
mov edi, dword [esp + 0x80]
jle 0x447a1d
cmp edi, 0x16
jg 0x447b29
mov eax, dword [esp + 0x38]
fld qword [esp + 0xd8]
fmul qword [edi*8 + 0x4804e0]
mov dword [esp + 0x104], eax
jmp 0x4460ca
mov dword [esp + 0xdc], 0x7ff00000
mov dword [esp + 0xd8], 0
mov eax, dword [esp + 0x38]
fld qword [esp + 0xd8]
mov dword [esp + 0x104], eax
jmp 0x4460ca
lea esi, [edi + 2]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x3c], 0
mov edi, esi
sub edi, ebp
movsx eax, byte [eax + 1]
mov dword [esp + 0x74], edi
sub edi, dword [esp + 0x2c]
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x34]
mov dword [esp + 0x48], edi
xor edi, edi
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x446d24
add edi, 1
test ecx, ecx
mov dword [esp + 0x18], ecx
je 0x446d18
add dword [esp + 0x3c], edi
cmp edi, 1
mov eax, dword [esp + 0x34]
je 0x4479b6
lea edi, [edi + eax - 1]
mov edx, dword [esp + 0x10]
jmp 0x446523
lea ebx, [ebx + ebx*4]
add eax, 1
add ebx, ebx
cmp edi, eax
je 0x4479b0
cmp eax, 8
jle 0x446513
add eax, 1
cmp eax, 0x10
jg 0x44651b
lea edx, [edx + edx*4]
add edx, edx
jmp 0x44651b
mov dword [esp + 0x104], ebp
fldz
jmp 0x4460ca
je 0x4466c1
neg eax
mov edx, eax
and edx, 0xf
je 0x446574
fld qword [esp + 0xd8]
fdiv qword [edx*8 + 0x4804e0]
fstp qword [esp + 0xd8]
sar eax, 4
test eax, eax
je 0x4466c1
cmp eax, 0x1f
jg 0x446643
mov edi, eax
and edi, 0x10
mov dword [esp + 0x20], edi
je 0x447fd8
test eax, eax
mov dword [esp + 0x20], 0x6a
jle 0x4465d9
fld qword [esp + 0xd8]
mov edx, 0x480460
xor ecx, ecx
test al, 1
je 0x4465bc
fmul qword [edx]
mov ecx, 1
add edx, 8
sar eax, 1
jne 0x4465b1
test cl, cl
jne 0x448053
fstp st(0)
mov eax, dword [esp + 0x20]
test eax, eax
je 0x447fe0
mov esi, dword [esp + 0xdc]
mov edx, 0x6b
mov eax, esi
shr eax, 0x14
and eax, 0x7ff
sub edx, eax
test edx, edx
jle 0x44662a
cmp edx, 0x1f
jle 0x44802a
cmp edx, 0x36
jg 0x446643
lea ecx, [edx - 0x20]
or eax, 0xffffffff
mov dword [esp + 0xd8], 0
shl eax, cl
and esi, eax
cmp edx, 0x34
mov eax, 0x3700000
cmovg esi, eax
mov dword [esp + 0xdc], esi
fldz
fld qword [esp + 0xd8]
fucompi st(1)
fstp st(0)
jp 0x4466c9
jne 0x4466c9
mov eax, dword [esp + 0x38]
fldz
mov dword [esp + 0x104], eax
jmp 0x4460ca
fmul qword [eax*8 + 0x480498]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x14], 0
cmp dword [esp + 0x18], 0xf
mov dword [esp + 0x10], edi
fild qword [esp + 0x10]
faddp st(1)
fstp qword [esp + 0xd8]
jle 0x446439
mov edi, dword [esp + 0x18]
sub edi, eax
mov eax, dword [esp + 0x80]
add eax, edi
cmp eax, 0
jle 0x446550
mov edx, eax
and edx, 0xf
je 0x4466b8
fld qword [esp + 0xd8]
fmul qword [edx*8 + 0x4804e0]
fstp qword [esp + 0xd8]
and eax, 0xfffffff0
jne 0x446db0
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x18]
mov edi, eax
sub edi, dword [esp + 0x70]
cmp eax, 0x28
mov dword [esp + 0x48], edi
jle 0x4474f2
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x34], 0x12
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x74]
lea edx, [eax + 0x12]
mov eax, 0x12
lea ecx, [edi - 1]
cmovge edx, eax
jmp 0x446704
sub eax, 1
sub edx, 1
cmp edx, esi
jge 0x446710
cmp edx, edi
cmovge edx, ecx
cmp byte [ebp + edx], 0x30
je 0x446701
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x18], eax
sub edx, eax
add edx, dword [esp + 0x80]
cmp eax, edi
cmovle edi, eax
cmp eax, 8
mov dword [esp + 0x54], edx
jg 0x446789
test edi, edi
jle 0x447fa1
lea esi, [edi + ebp]
mov edx, ebp
xor ebx, ebx
lea esi, [esi]
movsx ecx, byte [edx]
lea ebx, [ebx + ebx*4]
add edx, 1
cmp esi, edx
lea ebx, [ecx + ebx*2 - 0x30]
jne 0x446750
mov ecx, edi
cmp eax, ecx
jle 0x446785
mov esi, dword [esp + 0x74]
lea edx, [ebp + esi]
lea esi, [edx + eax]
sub esi, ecx
movsx ecx, byte [edx]
lea ebx, [ebx + ebx*4]
add edx, 1
cmp esi, edx
lea ebx, [ecx + ebx*2 - 0x30]
jne 0x446774
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov edx, 0x38e38e39
lea esi, [eax + 8]
mov eax, esi
sar esi, 0x1f
imul edx
sar edx, 1
sub edx, esi
mov ecx, edx
xor edx, edx
cmp ecx, 1
jle 0x4467b9
mov eax, 1
nop
add eax, eax
add edx, 1
cmp ecx, eax
jg 0x4467b0
mov eax, dword [esp + 0x100]
call sym._Balloc
cmp edi, 9
mov dword [esp + 0x4c], eax
mov dword [eax + 0x14], ebx
mov dword [eax + 0x10], 1
jle 0x4474e0
lea esi, [ebp + edi]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x100]
lea ebx, [ebp + 9]
nop
add ebx, 1
movsx ecx, byte [ebx - 1]
mov edx, eax
mov eax, edi
sub ecx, 0x30
mov dword [esp], ecx
mov ecx, 0xa
call dbg.multadd
cmp ebx, esi
jne 0x4467f0
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
add ebx, edi
add ebx, ebp
mov eax, dword [esp + 0x18]
mov esi, eax
sub esi, edi
add esi, ebx
cmp eax, edi
jle 0x446863
mov eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x100]
nop
lea esi, [esi]
add ebx, 1
movsx ecx, byte [ebx - 1]
mov edx, eax
mov eax, edi
sub ecx, 0x30
mov dword [esp], ecx
mov ecx, 0xa
call dbg.multadd
cmp ebx, esi
jne 0x446840
mov dword [esp + 0x4c], eax
mov ebx, dword [esp + 0x54]
xor eax, eax
mov dword [esp + 0x84], ebp
mov edx, ebx
neg edx
test ebx, ebx
cmovns edx, eax
cmovns eax, ebx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x3c], edx
add eax, 0xc
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x100]
add eax, 4
mov dword [esp + 0x58], eax
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x100]
mov edx, dword [edi + 4]
call sym._Balloc
mov edx, dword [edi + 0x10]
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x10], eax
add eax, 0xc
mov dword [esp], eax
lea edx, [edx*4 + 8]
mov dword [esp + 4], edi
mov dword [esp + 8], edx
call sym._memcpy
mov ebx, dword [esp + 0x58]
lea eax, [esp + 0xcc]
lea ecx, [esp + 0xc8]
lea edx, [esp + 0xd8]
mov dword [esp], eax
mov eax, ebx
call sym._d2b.isra.10
mov edx, 1
mov ebp, eax
mov eax, ebx
call sym._i2b.isra.11
mov edx, dword [esp + 0xc8]
mov edi, eax
test edx, edx
js 0x446ed0
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x50]
lea esi, [edx + eax]
sub edx, dword [esp + 0x20]
mov eax, dword [esp + 0xcc]
mov ecx, 0x36
sub ecx, eax
lea edx, [eax + edx - 1]
mov eax, ecx
cmp edx, 0xfffffc02
jge 0x446e61
mov ecx, 0xfffffc02
sub ecx, edx
sub eax, ecx
cmp ecx, 0x1f
jg 0x447251
mov edx, 1
mov dword [esp + 0x60], 0
shl edx, cl
mov dword [esp + 0x68], edx
lea ecx, [esi + eax]
add ebx, eax
add ebx, dword [esp + 0x20]
mov eax, ecx
cmp esi, ecx
mov dword [esp + 0x2c], ecx
cmovle eax, esi
cmp eax, ebx
cmovg eax, ebx
test eax, eax
jle 0x446992
sub ecx, eax
sub ebx, eax
sub esi, eax
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x446e80
mov eax, dword [esp + 0x2c]
test eax, eax
jle 0x4469b8
mov ecx, eax
mov eax, dword [esp + 0x100]
mov edx, ebp
call dbg.lshift
mov ebp, eax
mov eax, dword [esp + 0x54]
test eax, eax
jle 0x4469d8
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x100]
call dbg.pow5mult
mov dword [esp + 0x10], eax
test ebx, ebx
jle 0x4469f2
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x100]
mov ecx, ebx
call dbg.lshift
mov dword [esp + 0x10], eax
test esi, esi
jle 0x446a08
mov eax, dword [esp + 0x100]
mov edx, edi
mov ecx, esi
call dbg.lshift
mov edi, eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x100]
mov edx, ebp
call dbg.diff
mov ebx, eax
mov eax, dword [eax + 0xc]
mov edx, dword [edi + 0x10]
mov ecx, dword [ebx + 0x10]
mov dword [ebx + 0xc], 0
mov dword [esp + 0x2c], eax
mov eax, ecx
sub eax, edx
mov dword [esp + 0x40], eax
je 0x446ee0
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x48], esi
jle 0x4471f0
mov eax, dword [esp + 0x40]
test eax, eax
jle 0x446f1f
lea edx, [esp + 0xd0]
mov eax, ebx
call sym._b2d.isra.4
fstp qword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x6c], edx
lea edx, [esp + 0xd4]
mov dword [esp + 0x68], eax
mov eax, edi
call sym._b2d.isra.4
fstp qword [esp + 0x60]
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x10]
sub eax, dword [edi + 0x10]
mov dword [esp + 0x7c], edx
shl eax, 5
add eax, dword [esp + 0xd0]
sub eax, dword [esp + 0xd4]
test eax, eax
jle 0x447400
mov edx, dword [esp + 0x44]
shl eax, 0x14
add eax, edx
mov dword [esp + 0x6c], eax
fld qword [esp + 0x68]
fstp qword [esp + 0x40]
fld qword [esp + 0x40]
mov eax, dword [esp + 0xdc]
fdiv qword [esp + 0x60]
mov dword [esp + 0x60], eax
fld dword [0x4805ac]
fucompi st(1)
jb 0x4473c0
mov edx, dword [esp + 0x2c]
test edx, edx
jne 0x4475a0
mov edx, dword [esp + 0xd8]
test edx, edx
jne 0x447a46
test eax, 0xfffff
je 0x447c97
fstp st(0)
fld1
fchs
fstp qword [esp + 0x40]
fld1
mov ecx, dword [esp + 0x60]
fld qword [esp + 0xd8]
fstp qword [esp + 0x68]
and ecx, 0x7ff00000
cmp ecx, 0x7fe00000
je 0x447420
mov eax, dword [esp + 0x20]
lea esi, [ecx - 0x3400000]
test eax, eax
je 0x446b5e
cmp ecx, 0x6a00000
jbe 0x4478c0
mov dword [esp + 0x8c], esi
mov dword [esp + 0x88], 0
fld qword [esp + 0x88]
fmul qword [esp + 0x40]
fadd qword [esp + 0x68]
fstp qword [esp + 0xd8]
mov edx, dword [esp + 0xdc]
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x48], esi
je 0x447510
fstp st(0)
jmp 0x446ba5
fstp st(0)
jmp 0x446ba5
fstp st(0)
test ebp, ebp
je 0x446bc6
mov eax, dword [ebp + 4]
cmp eax, 7
jg 0x447280
mov esi, dword [esp + 0x100]
lea eax, [esi + eax*4]
mov edx, dword [eax]
mov dword [ebp], edx
mov dword [eax], ebp
mov eax, dword [esp + 0x10]
test eax, eax
je 0x446bee
mov eax, dword [eax + 4]
cmp eax, 7
jg 0x447290
mov esi, dword [esp + 0x100]
lea eax, [esi + eax*4]
mov esi, dword [esp + 0x10]
mov edx, dword [eax]
mov dword [esi], edx
mov dword [eax], esi
mov eax, dword [edi + 4]
cmp eax, 7
jg 0x447230
mov esi, dword [esp + 0x100]
lea eax, [esi + eax*4]
mov edx, dword [eax]
mov dword [edi], edx
mov dword [eax], edi
mov eax, dword [ebx + 4]
cmp eax, 7
jg 0x447244
mov edi, dword [esp + 0x100]
lea eax, [edi + eax*4]
mov edx, dword [eax]
mov dword [ebx], edx
mov dword [eax], ebx
jmp 0x44689d
cmp ecx, 0x2e
mov eax, ecx
je 0x446c84
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], 0
xor ebx, ebx
mov dword [esp + 0x40], 0
mov dword [esp + 0x74], 0
xor edi, edi
mov dword [esp + 0x2c], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x18], 0
jmp 0x446246
lea eax, [ebp + 1]
xor edi, edi
mov dword [esp + 0x38], eax
movsx eax, byte [ebp + 1]
cmp eax, 0x30
jne 0x446cb3
lea edx, [ebp + 1]
lea esi, [esi]
mov edi, edx
add edx, 1
movsx eax, byte [edx]
sub edi, ebp
cmp eax, 0x30
je 0x446ca0
mov dword [esp + 0x38], edx
lea edx, [eax - 0x31]
cmp edx, 8
ja 0x446d40
mov esi, dword [esp + 0x38]
sub eax, 0x30
mov dword [esp + 0x48], 0
mov dword [esp + 0x18], eax
lea eax, [edi + 1]
mov dword [esp + 0x40], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x34], 1
sub ebp, esi
mov dword [esp + 0x3c], eax
lea ebx, [ebp + 1]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x74], ebx
xor ebx, ebx
lea eax, [ebx + ebx*4]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x70], 0
xor edi, edi
lea ebx, [ebx + eax*2]
movsx eax, byte [esi + 1]
add esi, 1
jmp 0x4464dd
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x34]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x48]
mov dword [esp + 0x34], esi
jmp 0x446246
mov dword [esp + 0x34], 0
mov dword [esp + 0x40], 1
xor ebx, ebx
mov dword [esp + 0x74], 1
mov dword [esp + 0x2c], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x18], 0
jmp 0x446246
mov dword [esp + 0x48], 1
mov eax, dword [esp + 0x38]
lea ecx, [eax + 2]
movsx eax, byte [eax + 2]
jmp 0x446287
cmp eax, 0x134
jg 0x446480
sar eax, 4
cmp eax, 1
jle 0x447f96
fld qword [esp + 0xd8]
xor ecx, ecx
xor edx, edx
test al, 1
je 0x446de2
fmul qword [edx*8 + 0x4804a0]
mov ecx, 1
sar eax, 1
add edx, 1
cmp eax, 1
jne 0x446dd2
test cl, cl
jne 0x44805f
fstp st(0)
fld qword [edx*8 + 0x4804a0]
sub dword [esp + 0xdc], 0x3500000
fmul qword [esp + 0xd8]
fst qword [esp + 0x10]
mov eax, dword [esp + 0x14]
fstp qword [esp + 0xd8]
mov edx, eax
and edx, 0x7ff00000
cmp edx, 0x7ca00000
ja 0x446480
cmp edx, 0x7c900000
jbe 0x447ed8
mov dword [esp + 0xdc], 0x7fefffff
mov dword [esp + 0xd8], 0xffffffff
mov dword [esp + 0x20], 0
jmp 0x4466c9
mov dword [esp + 0x60], 0
mov dword [esp + 0x68], 1
jmp 0x44696b
mov ecx, eax
mov eax, dword [esp + 0x100]
mov edx, edi
call dbg.pow5mult
mov edx, eax
mov edi, eax
mov eax, dword [esp + 0x100]
mov ecx, ebp
call dbg.mult
test ebp, ebp
je 0x447380
mov edx, dword [ebp + 4]
cmp edx, 7
jg 0x4473a5
mov ecx, dword [esp + 0x100]
lea edx, [ecx + edx*4]
mov ecx, dword [edx]
mov dword [ebp], ecx
mov dword [edx], ebp
mov ebp, eax
jmp 0x44699e
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x3c]
sub ebx, edx
jmp 0x446922
lea esi, [ebx + 0x14]
shl edx, 2
mov dword [esp + 0x78], ecx
lea eax, [esi + edx]
lea edx, [edi + edx + 0x14]
jmp 0x446efb
cmp esi, eax
jae 0x4472a1
sub edx, 4
sub eax, 4
mov ecx, dword [edx]
cmp dword [eax], ecx
je 0x446ef3
mov ecx, dword [esp + 0x78]
jae 0x446a58
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x48], esi
jle 0x4471fc
mov esi, dword [esp + 0x2c]
test esi, esi
jne 0x447faa
mov eax, dword [esp + 0xd8]
test eax, eax
jne 0x446fce
mov eax, dword [esp + 0xdc]
test eax, 0xfffff
jne 0x446fce
and eax, 0x7ff00000
cmp eax, 0x6b00000
jbe 0x446fce
mov esi, dword [ebx + 0x14]
test esi, esi
jne 0x446f64
cmp ecx, 1
jle 0x446fce
mov eax, dword [esp + 0x100]
mov edx, ebx
mov ecx, 1
call dbg.lshift
mov edx, dword [edi + 0x10]
mov esi, dword [eax + 0x10]
mov ebx, eax
sub esi, edx
cmp esi, 0
je 0x447330
jle 0x446fce
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0xdc]
test esi, esi
jne 0x4470e0
and eax, 0x7ff00000
mov esi, dword [esp + 0x18]
mov dword [esp + 0xd8], 0xffffffff
sub eax, 0x100000
or eax, 0xfffff
cmp dword [esp + 0x48], esi
mov dword [esp + 0xdc], eax
jg 0x446ba5
mov dword [esp + 0x3c], ebp
mov ebp, dword [esp + 0x84]
xor esi, esi
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x44700b
mov eax, dword [eax + 4]
cmp eax, 7
jg 0x4479fb
mov edx, dword [esp + 0x100]
mov ecx, dword [esp + 0x3c]
lea eax, [edx + eax*4]
mov edx, dword [eax]
mov dword [ecx], edx
mov dword [eax], ecx
mov eax, dword [esp + 0x10]
test eax, eax
je 0x447033
mov eax, dword [eax + 4]
cmp eax, 7
jg 0x447a0c
mov edx, dword [esp + 0x100]
mov ecx, dword [esp + 0x10]
lea eax, [edx + eax*4]
mov edx, dword [eax]
mov dword [ecx], edx
mov dword [eax], ecx
mov eax, dword [edi + 4]
cmp eax, 7
jg 0x4478a1
mov edx, dword [esp + 0x100]
lea eax, [edx + eax*4]
mov edx, dword [eax]
mov dword [edi], edx
mov dword [eax], edi
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 4]
cmp eax, 7
jg 0x447890
mov edi, dword [esp + 0x100]
lea eax, [edi + eax*4]
mov edi, dword [esp + 0x4c]
mov edx, dword [eax]
mov dword [edi], edx
mov dword [eax], edi
mov eax, dword [ebx + 4]
cmp eax, 7
jg 0x4479ee
mov edi, dword [esp + 0x100]
lea eax, [edi + eax*4]
mov edx, dword [eax]
mov dword [ebx], edx
mov dword [eax], ebx
mov eax, dword [esp + 0x40]
fld qword [esp + 0xd8]
test eax, eax
jne 0x4475c5
mov eax, dword [esp + 0x38]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4460ca
mov dword [esp + 0x9c], 0x39500000
mov dword [esp + 0x98], 0
fmul qword [esp + 0x98]
jmp 0x4460ca
mov edx, eax
and edx, 0x7ff00000
cmp edx, 0x6b00000
jg 0x446f9f
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x48], esi
mov dword [esp + 0x3c], ebp
mov ebp, dword [esp + 0x84]
jg 0x446fd9
cmp edx, 0x3700000
jg 0x446fd9
fldz
fstp qword [esp + 0xd8]
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x44714e
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 4]
cmp eax, 7
jg 0x447d7c
mov esi, dword [esp + 0x100]
lea eax, [esi + eax*4]
mov esi, dword [esp + 0x3c]
mov edx, dword [eax]
mov dword [esi], edx
mov dword [eax], esi
mov eax, dword [esp + 0x10]
test eax, eax
je 0x447176
mov eax, dword [eax + 4]
cmp eax, 7
jg 0x447d4c
mov esi, dword [esp + 0x100]
lea eax, [esi + eax*4]
mov esi, dword [esp + 0x10]
mov edx, dword [eax]
mov dword [esi], edx
mov dword [eax], esi
mov eax, dword [edi + 4]
cmp eax, 7
jg 0x447d8d
mov esi, dword [esp + 0x100]
lea eax, [esi + eax*4]
mov edx, dword [eax]
mov dword [edi], edx
mov dword [eax], edi
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 4]
cmp eax, 7
jg 0x447c59
mov edi, dword [esp + 0x100]
lea eax, [edi + eax*4]
mov edi, dword [esp + 0x4c]
mov edx, dword [eax]
mov dword [edi], edx
mov dword [eax], edi
mov eax, dword [ebx + 4]
cmp eax, 7
jg 0x447d5d
mov edi, dword [esp + 0x100]
fld qword [esp + 0xd8]
lea eax, [edi + eax*4]
mov edx, dword [eax]
mov dword [ebx], edx
mov dword [eax], ebx
mov eax, dword [esp + 0x38]
mov dword [esp + 0x104], eax
jmp 0x4460ca
mov eax, dword [esp + 0x40]
test eax, eax
jns 0x446a58
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x446f2b
jmp 0x44720c
fstp st(0)
mov dword [esp + 0x3c], ebp
mov esi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x84]
mov dword [esp + 0x40], 0
jmp 0x446fe3
mov dword [esp], edi
call dbg.jv_mem_free
mov eax, dword [ebx + 4]
cmp eax, 7
jle 0x446c16
mov dword [esp], ebx
call dbg.jv_mem_free
jmp 0x44689d
cmp ecx, 0x33
jg 0x447390
mov ecx, 0xfffffbe2
mov dword [esp + 0x68], 1
sub ecx, edx
mov edx, 1
shl edx, cl
mov dword [esp + 0x60], edx
jmp 0x44696b
mov dword [esp], ebp
call dbg.jv_mem_free
jmp 0x446bc6
mov eax, dword [esp + 0x10]
mov dword [esp], eax
call dbg.jv_mem_free
jmp 0x446bee
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x48], esi
mov ecx, dword [esp + 0x78]
jg 0x446f1f
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0x2c]
mov edx, eax
and edx, 0xfffff
test ecx, ecx
jne 0x447df7
test edx, edx
jne 0x447c6a
mov edx, dword [esp + 0xd8]
test edx, edx
jne 0x447c6a
mov edx, dword [esp + 0x20]
test edx, edx
jne 0x4470e0
and eax, 0x7ff00000
mov dword [esp + 0x3c], ebp
mov dword [esp + 0xd8], 0xffffffff
sub eax, 0x100000
mov ebp, dword [esp + 0x84]
xor esi, esi
or eax, 0xfffff
mov dword [esp + 0x40], 0
mov dword [esp + 0xdc], eax
jmp 0x446fe3
lea ecx, [eax + 0x14]
shl edx, 2
mov dword [esp + 0x2c], ebx
lea eax, [ecx + edx]
lea edx, [edi + edx + 0x14]
jmp 0x44734b
cmp ecx, eax
jae 0x4473e3
sub edx, 4
sub eax, 4
mov ebx, dword [edx]
cmp dword [eax], ebx
je 0x447343
mov ebx, dword [esp + 0x2c]
jae 0x446f8c
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], 0
mov ebp, dword [esp + 0x84]
jmp 0x446fe3
mov ebp, eax
jmp 0x44699e
mov dword [esp + 0x60], 0x7ff00000
mov dword [esp + 0x68], 1
jmp 0x44696b
mov dword [esp], ebp
mov dword [esp + 0x40], eax
call dbg.jv_mem_free
mov eax, dword [esp + 0x40]
mov ebp, eax
jmp 0x44699e
fmul dword [0x4805a4]
mov eax, dword [esp + 0x2c]
test eax, eax
fst qword [esp + 0x40]
jne 0x446b23
fld st(0)
fchs
fstp qword [esp + 0x40]
jmp 0x446b23
mov dword [esp + 0x3c], ebp
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x84]
mov dword [esp + 0x40], 0
jmp 0x446fe3
mov edx, dword [esp + 0x64]
shl eax, 0x14
sub edx, eax
mov dword [esp + 0x7c], edx
fld qword [esp + 0x78]
fstp qword [esp + 0x60]
jmp 0x446ad0
mov eax, dword [esp + 0x68]
mov dword [esp + 0x90], 0
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x9c], edx
sub eax, 0x3500000
mov dword [esp + 0xdc], eax
and eax, 0x7ff00000
sub eax, 0x3400000
mov dword [esp + 0x94], eax
fld qword [esp + 0x90]
fmul qword [esp + 0x40]
fadd qword [esp + 0xd8]
fst qword [esp + 0x40]
mov eax, dword [esp + 0x44]
fstp qword [esp + 0xd8]
mov edx, eax
and edx, 0x7ff00000
cmp edx, 0x7c9fffff
jbe 0x4478ae
fstp st(0)
mov eax, dword [esp + 0x6c]
cmp eax, 0x7fefffff
je 0x447cb4
mov dword [esp + 0xdc], 0x7fefffff
mov dword [esp + 0xd8], 0xffffffff
jmp 0x446ba5
mov dword [esp + 0x48], 0
jmp 0x446d98
mov dword [esp + 0x70], 0
jmp 0x44621b
mov eax, dword [esp + 0x40]
mov edi, 9
lea ebx, [ebp + eax + 9]
jmp 0x44681f
mov eax, dword [esp + 0x80]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x54], eax
jmp 0x446789
mov eax, edx
and eax, 0x7ff00000
cmp eax, ecx
jne 0x446b9f
mov esi, dword [esp + 0x20]
test esi, esi
jne 0x446ba3
fnstcw word [esp + 0xb6]
movzx eax, word [esp + 0xb6]
mov ecx, dword [esp + 0x2c]
test ecx, ecx
mov ah, 0xc
mov word [esp + 0xb4], ax
fldcw word [esp + 0xb4]
fist dword [esp + 0x40]
fldcw word [esp + 0xb6]
fild dword [esp + 0x40]
fsubp st(1)
jne 0x447dbd
mov eax, dword [esp + 0xd8]
test eax, eax
jne 0x447dbd
and edx, 0xfffff
jne 0x447dbd
fld qword [0x4805c8]
fucompi st(1)
fstp st(0)
jbe 0x446ba5
jmp 0x446fce
fstp st(0)
fld1
fstp qword [esp + 0x40]
fld1
jmp 0x446b23
mov esi, dword [esp + 0x38]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x104], esi
xor esi, esi
jmp 0x44634f
mov eax, dword [esp + 0x70]
fldz
fxch st(1)
add eax, dword [esp + 0x80]
add eax, dword [esp + 0x48]
fucompi st(1)
fstp st(0)
mov dword [esp + 0x18], eax
lea edi, [eax - 1]
jp 0x447b71
jne 0x447b71
mov eax, dword [esp + 0x58]
mov edx, 1
xor esi, esi
call sym._i2b.isra.11
mov ebx, eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xd0], 1
mov dword [esp + 0xdc], 0x3700000
mov edx, edi
mov dword [esp + 0x2c], eax
mov eax, 0xfffffbcd
sub eax, edx
mov edx, 1
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x58]
call sym._i2b.isra.11
cmp edi, 0
mov dword [esp + 0x10], eax
jg 0x447c37
jne 0x447f78
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0xd4]
mov eax, dword [edi + 0x10]
mov eax, dword [edi + eax*4 + 0x10]
call sym._hi0bits.isra.0
sub eax, 4
test ecx, ecx
mov dword [esp + 0x18], 0
jg 0x447682
mov edi, ecx
add eax, ecx
xor ecx, ecx
neg edi
mov dword [esp + 0x18], edi
and eax, 0x1f
add ecx, eax
mov edi, eax
je 0x44769b
mov eax, dword [esp + 0x100]
mov edx, ebx
call dbg.lshift
mov ebx, eax
mov ecx, dword [esp + 0x18]
add ecx, edi
je 0x4476b7
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x100]
call dbg.lshift
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x10]
mov eax, ebx
call sym._quorem.isra.8
test eax, eax
jne 0x4476eb
mov eax, dword [esp + 0x100]
mov edx, ebx
mov dword [esp], 0
mov ecx, 0xa
call dbg.multadd
mov edx, dword [esp + 0x10]
mov ebx, eax
call sym._quorem.isra.8
movsx edx, byte [ebp]
sub edx, 0x30
sub edx, eax
jne 0x4477ee
mov edi, dword [esp + 0x34]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x40]
add edi, 1
jmp 0x447722
movsx edx, byte [ebp + ecx - 1]
mov esi, ecx
sub edx, 0x30
sub edx, eax
jne 0x447c50
mov eax, dword [ebx + 0x14]
test eax, eax
jne 0x447733
cmp dword [ebx + 0x10], 1
je 0x447da9
mov eax, dword [esp + 0x100]
mov ecx, 0xa
mov edx, ebx
mov dword [esp], 0
call dbg.multadd
mov edx, dword [esp + 0x10]
mov ebx, eax
call sym._quorem.isra.8
lea ecx, [esi + 1]
cmp edi, ecx
jne 0x447710
mov dword [esp + 0x40], esi
mov ecx, dword [esp + 0x40]
cmp dword [esp + 0x48], ecx
mov esi, dword [esp + 0x18]
jle 0x4477e1
mov ecx, dword [esp + 0x74]
movsx edx, byte [ebp + ecx]
sub edx, 0x30
sub edx, eax
jne 0x4477ee
mov eax, ecx
mov esi, dword [esp + 0x48]
sub eax, edi
add ebp, eax
jmp 0x4477a3
movsx edx, byte [ebp + edi + 1]
add edi, 1
sub edx, 0x30
sub edx, eax
jne 0x447c50
mov eax, dword [ebx + 0x14]
test eax, eax
jne 0x4477b4
cmp dword [ebx + 0x10], 1
je 0x447fc6
mov eax, dword [esp + 0x100]
mov edx, ebx
mov ecx, 0xa
mov dword [esp], 0
call dbg.multadd
mov edx, dword [esp + 0x10]
mov ebx, eax
call sym._quorem.isra.8
cmp esi, edi
jg 0x447790
mov esi, dword [esp + 0x18]
test eax, eax
mov edx, 0xffffffff
jle 0x447fed
test ebx, ebx
je 0x44780e
mov eax, dword [ebx + 4]
cmp eax, 7
jg 0x447de2
mov edi, dword [esp + 0x100]
lea eax, [edi + eax*4]
mov ecx, dword [eax]
mov dword [ebx], ecx
mov dword [eax], ebx
mov eax, dword [esp + 0x10]
test eax, eax
je 0x447836
mov eax, dword [eax + 4]
cmp eax, 7
jg 0x447e88
mov ebx, dword [esp + 0x100]
lea eax, [ebx + eax*4]
mov ebx, dword [esp + 0x10]
mov ecx, dword [eax]
mov dword [ebx], ecx
mov dword [eax], ebx
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x447bf2
test edx, edx
jle 0x446643
mov eax, dword [esp + 0xdc]
and eax, 0x7ff00000
cmp eax, 0x7ff00000
je 0x446480
test eax, eax
fld qword [esp + 0xd8]
jne 0x4470a2
fldz
fxch st(1)
fucomi st(1)
fstp st(1)
jp 0x4470a2
jne 0x4470a2
fstp st(0)
jmp 0x446643
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call dbg.jv_mem_free
jmp 0x447073
mov dword [esp], edi
call dbg.jv_mem_free
jmp 0x44704f
lea edx, [eax + 0x3500000]
mov dword [esp + 0xdc], edx
jmp 0x446b8d
fld qword [0x4805b0]
fucompi st(1)
jb 0x44792b
fnstcw word [esp + 0xb6]
movzx eax, word [esp + 0xb6]
mov ah, 0xc
mov word [esp + 0xb4], ax
fldcw word [esp + 0xb4]
fistp qword [esp + 0xa8]
fldcw word [esp + 0xb6]
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x447e81
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0
fild qword [esp + 0x40]
mov eax, dword [esp + 0x2c]
fst qword [esp + 0x40]
test eax, eax
jne 0x44792b
fld st(0)
fchs
fstp qword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa0], 0
mov dword [esp + 0x60], eax
mov eax, 0x6b00000
sub eax, ecx
add eax, edx
mov dword [esp + 0x64], eax
fld qword [esp + 0x60]
fld qword [esp + 0xa0]
fmulp st(1)
fadd qword [esp + 0x68]
fst qword [esp + 0xd8]
fldz
fxch st(1)
fucompi st(1)
fstp st(0)
jp 0x446b86
jne 0x446b86
fstp st(0)
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x48], esi
mov eax, 1
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], 0
mov ebp, dword [esp + 0x84]
cmovg esi, eax
jmp 0x446fe3
mov dword [esp + 0x10], edx
mov eax, edi
lea edi, [eax + 1]
cmp eax, 8
mov dword [esp + 0x34], edi
jle 0x447c8e
cmp dword [esp + 0x34], 0x10
jg 0x447d9a
mov eax, dword [esp + 0x10]
mov dword [esp + 0x70], 0
xor edi, edi
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2]
mov dword [esp + 0x10], eax
jmp 0x446d18
mov dword [esp], ebx
call dbg.jv_mem_free
jmp 0x44708f
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call dbg.jv_mem_free
jmp 0x44700b
mov eax, dword [esp + 0x10]
mov dword [esp], eax
call dbg.jv_mem_free
jmp 0x447033
cmp edi, 0xffffffea
jl 0x446684
mov eax, dword [esp + 0x38]
fld qword [esp + 0xd8]
neg edi
fdiv qword [edi*8 + 0x4804e0]
mov dword [esp + 0x104], eax
jmp 0x4460ca
fstp st(0)
cmp edx, 1
jne 0x447ce0
mov eax, dword [esp + 0x60]
test eax, eax
je 0x44806b
fld1
fchs
fstp qword [esp + 0x40]
fld1
jmp 0x446b23
mov edx, dword [esp + 0x38]
mov dword [esp + 0x104], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x38], edx
jmp 0x44634f
cmp eax, 0x49
jne 0x446098
mov ebx, 0x480381
mov ecx, 0x6e
mov esi, dword [esp + 0x38]
jmp 0x447aa2
mov esi, eax
movsx edx, byte [esi + 1]
lea eax, [esi + 1]
lea ebp, [edx - 0x41]
lea edi, [edx + 0x20]
cmp ebp, 0x1a
cmovb edx, edi
cmp ecx, edx
jne 0x446098
add ebx, 1
movsx ecx, byte [ebx - 1]
test ecx, ecx
jne 0x447aa0
mov dword [esp + 0x38], esi
mov ebx, 0x480384
mov ecx, 0x69
jmp 0x447ae2
mov eax, ebp
movsx edx, byte [eax + 1]
lea ebp, [eax + 1]
lea edi, [edx - 0x41]
lea esi, [edx + 0x20]
cmp edi, 0x1a
cmovb edx, esi
cmp edx, ecx
jne 0x447ef1
add ebx, 1
movsx ecx, byte [ebx - 1]
test ecx, ecx
jne 0x447ae0
add eax, 2
mov dword [esp + 0x104], eax
mov dword [esp + 0xdc], 0x7ff00000
fld qword [esp + 0xd8]
jmp 0x4460ca
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x80]
mov edx, 0x25
sub edx, esi
cmp edx, edi
jl 0x446684
mov eax, 0xf
fld qword [esp + 0xd8]
sub eax, esi
fmul qword [eax*8 + 0x4804e0]
sub edi, eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x104], eax
fmul qword [edi*8 + 0x4804e0]
jmp 0x4460ca
lea eax, [esp + 0xd0]
lea ecx, [esp + 0xd4]
lea edx, [esp + 0xd8]
mov dword [esp], eax
mov eax, dword [esp + 0x58]
call sym._d2b.isra.10
mov ecx, dword [esp + 0xd4]
sub ecx, dword [esp + 0x20]
mov edx, 0x35
sub edx, dword [esp + 0xd0]
mov dword [esp + 0xd4], ecx
add ecx, 0x432
cmp ecx, edx
cmovle edx, ecx
lea ebx, [edx + 1]
mov edx, eax
mov eax, dword [esp + 0x100]
mov ecx, ebx
mov dword [esp + 0x10], ebx
call dbg.lshift
mov edx, dword [esp + 0x10]
or dword [eax + 0x14], 1
mov ebx, eax
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0xd4]
add edx, edi
jmp 0x447626
test edx, edx
js 0x447ea1
je 0x447f3f
test esi, esi
je 0x44784a
mov edx, dword [esp + 0x20]
lea eax, [esp + 0xd8]
call sym._sulp.isra.9
fadd qword [esp + 0xd8]
fstp qword [esp + 0xd8]
mov eax, dword [esp + 0xdc]
and eax, 0x7ff00000
jmp 0x447856
mov edx, eax
mov eax, dword [esp + 0x100]
mov ecx, edi
call dbg.pow5mult
mov dword [esp + 0x10], eax
jmp 0x447650
mov esi, dword [esp + 0x18]
jmp 0x4477ee
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call dbg.jv_mem_free
jmp 0x4471b6
mov dword [esp + 0x3c], ebp
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x60]
test esi, esi
je 0x447cf9
test esi, eax
jne 0x447d0a
mov esi, dword [esp + 0x2c]
jmp 0x446fe3
mov dword [esp + 0x38], ebp
jmp 0x446d00
fld1
fucompi st(1)
ja 0x447f28
fmul dword [0x4805a4]
fld st(0)
fchs
fstp qword [esp + 0x40]
jmp 0x446b23
mov eax, dword [esp + 0x68]
cmp eax, 0xffffffff
jne 0x4474a8
mov dword [esp + 0x3c], ebp
mov dword [esp + 0xdc], 0x7ff00000
mov dword [esp + 0xd8], 0
jmp 0x447122
fld1
fchs
fstp qword [esp + 0x40]
fld1
jmp 0x446b23
mov esi, 0x4e1f
jmp 0x44631f
mov eax, dword [esp + 0x68]
test dword [esp + 0xd8], eax
je 0x447c85
fld qword [esp + 0xd8]
mov edx, dword [esp + 0x20]
lea eax, [esp + 0xd8]
fstp qword [esp + 0x18]
call sym._sulp.isra.9
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x447f04
fadd qword [esp + 0x18]
fstp qword [esp + 0xd8]
mov eax, 1
sub eax, dword [esp + 0x2c]
mov esi, eax
jmp 0x446fe3
mov eax, dword [esp + 0x10]
mov dword [esp], eax
call dbg.jv_mem_free
jmp 0x447176
mov dword [esp], ebx
call dbg.jv_mem_free
mov eax, dword [esp + 0x38]
fld qword [esp + 0xd8]
mov dword [esp + 0x104], eax
jmp 0x4460ca
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call dbg.jv_mem_free
jmp 0x44714e
mov dword [esp], edi
call dbg.jv_mem_free
jmp 0x447192
mov dword [esp + 0x70], 0
xor edi, edi
jmp 0x446d18
mov edi, esi
xor edx, edx
cmp dword [esp + 0x48], edi
mov esi, dword [esp + 0x18]
setg dl
jmp 0x4477f2
fld qword [0x4805b8]
fucompi st(1)
ja 0x44720a
fld qword [0x4805c0]
fxch st(1)
fucompi st(1)
fstp st(0)
jbe 0x446ba5
jmp 0x44720c
mov dword [esp], ebx
mov dword [esp + 0x18], edx
call dbg.jv_mem_free
mov edx, dword [esp + 0x18]
jmp 0x44780e
cmp edx, 0xfffff
mov dword [esp + 0x3c], ebp
mov ebp, dword [esp + 0x84]
jne 0x447c75
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0xd8]
test ecx, ecx
mov dword [esp + 0x18], esi
mov esi, 0xffffffff
je 0x447e42
mov edx, eax
and edx, 0x7ff00000
cmp edx, 0x6a00000
ja 0x447e42
shr edx, 0x14
mov ecx, 0x6b
sub ecx, edx
shl esi, cl
cmp dword [esp + 0x18], esi
jne 0x447c75
cmp dword [esp + 0x18], 0xffffffff
jne 0x447e5e
cmp eax, 0x7fefffff
je 0x447cc5
and eax, 0x7ff00000
mov dword [esp + 0xd8], 0
xor esi, esi
add eax, 0x100000
mov dword [esp + 0xdc], eax
jmp 0x446fe3
fld1
jmp 0x447917
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], edx
mov dword [esp], eax
call dbg.jv_mem_free
mov edx, dword [esp + 0x18]
jmp 0x447836
test esi, esi
jne 0x44784a
mov edx, dword [esp + 0x20]
lea eax, [esp + 0xd8]
call sym._sulp.isra.9
fsubr qword [esp + 0xd8]
fstp qword [esp + 0xd8]
mov eax, dword [esp + 0xdc]
and eax, 0x7ff00000
jmp 0x447856
add eax, 0x3500000
mov dword [esp + 0x20], 0
mov dword [esp + 0xdc], eax
jmp 0x4466c9
mov eax, dword [esp + 0x38]
add eax, 2
mov dword [esp + 0x104], eax
jmp 0x447b12
fsubr qword [esp + 0x18]
fst qword [esp + 0xd8]
fldz
fxch st(1)
fucompi st(1)
fstp st(0)
jp 0x447d3c
je 0x447119
jmp 0x447d3c
fstp st(0)
fld dword [0x4805a0]
fstp qword [esp + 0x40]
fld dword [0x4805a4]
jmp 0x446b23
mov eax, dword [esp + 0xdc]
mov edx, eax
shr edx, 0x14
and edx, 0x7ff
sub edx, dword [esp + 0x20]
test edx, edx
jle 0x448008
test byte [esp + 0xd8], 1
je 0x447851
test esi, esi
jne 0x447c08
jmp 0x447ea9
mov ecx, 1
sub ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x100]
mov edx, ebx
call dbg.pow5mult
mov ebx, eax
jmp 0x447650
fld qword [0x480598]
jmp 0x446dfd
xor ebx, ebx
xor ecx, ecx
jmp 0x446763
mov dword [esp + 0x3c], ebp
mov esi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x84]
mov dword [esp + 0x40], 1
jmp 0x446fe3
xor edx, edx
cmp dword [esp + 0x48], edi
mov esi, dword [esp + 0x18]
setg dl
jmp 0x4477f2
test eax, eax
jg 0x4465a3
mov dword [esp + 0x20], 0
jmp 0x44662a
cmp dword [ebx + 0x14], 0
jne 0x4477f2
xor edx, edx
cmp dword [ebx + 0x10], 1
setle dl
sub edx, 1
jmp 0x4477f2
mov ebx, 1
mov ecx, ebx
sub ecx, edx
cmp ecx, 0x1f
jg 0x44803d
shl ebx, cl
test dword [esp + 0xd8], ebx
jne 0x447f6b
jmp 0x447851
or eax, 0xffffffff
mov ecx, edx
shl eax, cl
and dword [esp + 0xd8], eax
jmp 0x44662a
mov ecx, 0xffffffe1
sub ecx, edx
shl ebx, cl
test ebx, eax
jne 0x447f6b
jmp 0x447851
fstp qword [esp + 0xd8]
jmp 0x4465cd
fstp qword [esp + 0xd8]
jmp 0x446df6
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x48], esi
mov dword [esp + 0x3c], ebp
mov ebp, dword [esp + 0x84]
jg 0x446fd9
jmp 0x447119