426031:	8b ec                	mov    %esp,%ebp
426033:	6a 00                	push   $0x0
426035:	6a 00                	push   $0x0
426037:	ff 75 14             	push   0x14(%ebp)
42603a:	ff 75 10             	push   0x10(%ebp)
42603d:	ff 75 0c             	push   0xc(%ebp)
426040:	ff 75 08             	push   0x8(%ebp)
426043:	e8 86 fe ff ff       	call   0x425ece
426048:	83 c4 18             	add    $0x18,%esp
42604b:	5d                   	pop    %ebp
42604c:	c3                   	ret
42604d:	8b ff                	mov    %edi,%edi
42604f:	55                   	push   %ebp
426050:	8b ec                	mov    %esp,%ebp
426052:	51                   	push   %ecx
426053:	ff 75 08             	push   0x8(%ebp)
426056:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
42605d:	8b 45 fc             	mov    -0x4(%ebp),%eax
426060:	e8 12 64 00 00       	call   0x42c477
426065:	59                   	pop    %ecx
426066:	c9                   	leave
426067:	c3                   	ret
426068:	8b ff                	mov    %edi,%edi
42606a:	55                   	push   %ebp
42606b:	8b ec                	mov    %esp,%ebp
42606d:	51                   	push   %ecx
42606e:	51                   	push   %ecx
42606f:	56                   	push   %esi
426070:	8b 75 10             	mov    0x10(%ebp),%esi
426073:	85 f6                	test   %esi,%esi
426075:	75 17                	jne    0x42608e
426077:	e8 c4 05 00 00       	call   0x426640
42607c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
426082:	e8 e8 a9 ff ff       	call   0x420a6f
426087:	d9 ee                	fldz
426089:	e9 d1 00 00 00       	jmp    0x42615f
42608e:	53                   	push   %ebx
42608f:	57                   	push   %edi
426090:	bb ff ff 00 00       	mov    $0xffff,%ebx
426095:	53                   	push   %ebx
426096:	68 3f 13 00 00       	push   $0x133f
42609b:	e8 30 9c 00 00       	call   0x42fcd0
4260a0:	dd 45 08             	fldl   0x8(%ebp)
4260a3:	8b f8                	mov    %eax,%edi
4260a5:	59                   	pop    %ecx
4260a6:	59                   	pop    %ecx
4260a7:	0f b7 4d 0e          	movzwl 0xe(%ebp),%ecx
4260ab:	b8 f0 7f 00 00       	mov    $0x7ff0,%eax
4260b0:	23 c8                	and    %eax,%ecx
4260b2:	66 3b c8             	cmp    %ax,%cx
4260b5:	75 48                	jne    0x4260ff
4260b7:	83 0e ff             	orl    $0xffffffff,(%esi)
4260ba:	51                   	push   %ecx
4260bb:	51                   	push   %ecx
4260bc:	dd 1c 24             	fstpl  (%esp)
4260bf:	e8 18 9b 00 00       	call   0x42fbdc
4260c4:	59                   	pop    %ecx
4260c5:	59                   	pop    %ecx
4260c6:	83 e8 01             	sub    $0x1,%eax
4260c9:	74 26                	je     0x4260f1
4260cb:	83 e8 01             	sub    $0x1,%eax
4260ce:	74 21                	je     0x4260f1
4260d0:	83 e8 01             	sub    $0x1,%eax
4260d3:	74 1c                	je     0x4260f1
4260d5:	dd 45 08             	fldl   0x8(%ebp)
4260d8:	dd 05 c0 13 44 00    	fldl   0x4413c0
4260de:	57                   	push   %edi
4260df:	83 ec 10             	sub    $0x10,%esp
4260e2:	d8 c1                	fadd   %st(1),%st
4260e4:	dd 5c 24 08          	fstpl  0x8(%esp)
4260e8:	dd 1c 24             	fstpl  (%esp)
4260eb:	6a 17                	push   $0x17
4260ed:	6a 08                	push   $0x8
4260ef:	eb 44                	jmp    0x426135
4260f1:	53                   	push   %ebx
4260f2:	57                   	push   %edi
4260f3:	e8 d8 9b 00 00       	call   0x42fcd0
4260f8:	dd 45 08             	fldl   0x8(%ebp)
4260fb:	59                   	pop    %ecx
4260fc:	59                   	pop    %ecx
4260fd:	eb 5e                	jmp    0x42615d
4260ff:	d9 ee                	fldz
426101:	dd e9                	fucomp %st(1)
426103:	df e0                	fnstsw %ax
426105:	f6 c4 44             	test   $0x44,%ah
426108:	7a 38                	jp     0x426142
42610a:	51                   	push   %ecx
42610b:	51                   	push   %ecx
42610c:	dd 1c 24             	fstpl  (%esp)
42610f:	e8 52 92 00 00       	call   0x42f366
426114:	59                   	pop    %ecx
426115:	59                   	pop    %ecx
426116:	85 c0                	test   %eax,%eax
426118:	74 25                	je     0x42613f
42611a:	83 26 00             	andl   $0x0,(%esi)
42611d:	dd 05 c8 13 44 00    	fldl   0x4413c8
426123:	57                   	push   %edi
426124:	83 ec 10             	sub    $0x10,%esp
426127:	dd 5c 24 08          	fstpl  0x8(%esp)
42612b:	dd 45 08             	fldl   0x8(%ebp)
42612e:	dd 1c 24             	fstpl  (%esp)
426131:	6a 17                	push   $0x17
426133:	6a 00                	push   $0x0
426135:	e8 70 92 00 00       	call   0x42f3aa
42613a:	83 c4 1c             	add    $0x1c,%esp
42613d:	eb 1e                	jmp    0x42615d
42613f:	dd 45 08             	fldl   0x8(%ebp)
426142:	56                   	push   %esi
426143:	51                   	push   %ecx
426144:	51                   	push   %ecx
426145:	dd 1c 24             	fstpl  (%esp)
426148:	e8 90 99 00 00       	call   0x42fadd
42614d:	53                   	push   %ebx
42614e:	57                   	push   %edi
42614f:	dd 5d f8             	fstpl  -0x8(%ebp)
426152:	e8 79 9b 00 00       	call   0x42fcd0
426157:	dd 45 f8             	fldl   -0x8(%ebp)
42615a:	83 c4 14             	add    $0x14,%esp
42615d:	5f                   	pop    %edi
42615e:	5b                   	pop    %ebx
42615f:	5e                   	pop    %esi
426160:	c9                   	leave
426161:	c3                   	ret
426162:	8b ff                	mov    %edi,%edi
426164:	55                   	push   %ebp
426165:	8b ec                	mov    %esp,%ebp
426167:	83 ec 14             	sub    $0x14,%esp
42616a:	53                   	push   %ebx
42616b:	8b 5d 10             	mov    0x10(%ebp),%ebx
42616e:	56                   	push   %esi
42616f:	57                   	push   %edi
426170:	85 db                	test   %ebx,%ebx
426172:	74 1d                	je     0x426191
426174:	8b 75 14             	mov    0x14(%ebp),%esi
426177:	85 f6                	test   %esi,%esi
426179:	74 16                	je     0x426191
42617b:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
42617f:	75 17                	jne    0x426198
426181:	e8 ba 04 00 00       	call   0x426640
426186:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42618c:	e8 de a8 ff ff       	call   0x420a6f
426191:	33 c0                	xor    %eax,%eax
426193:	5f                   	pop    %edi
426194:	5e                   	pop    %esi
426195:	5b                   	pop    %ebx
426196:	c9                   	leave
426197:	c3                   	ret
426198:	8b 4d 18             	mov    0x18(%ebp),%ecx
42619b:	8b 7d 0c             	mov    0xc(%ebp),%edi
42619e:	85 c9                	test   %ecx,%ecx
4261a0:	74 0b                	je     0x4261ad
4261a2:	83 c8 ff             	or     $0xffffffff,%eax
4261a5:	33 d2                	xor    %edx,%edx
4261a7:	f7 f3                	div    %ebx
4261a9:	3b f0                	cmp    %eax,%esi
4261ab:	76 25                	jbe    0x4261d2
4261ad:	83 ff ff             	cmp    $0xffffffff,%edi
4261b0:	74 11                	je     0x4261c3
4261b2:	57                   	push   %edi
4261b3:	6a 00                	push   $0x0
4261b5:	ff 75 08             	push   0x8(%ebp)
4261b8:	e8 23 78 ff ff       	call   0x41d9e0
4261bd:	8b 4d 18             	mov    0x18(%ebp),%ecx
4261c0:	83 c4 0c             	add    $0xc,%esp
4261c3:	85 c9                	test   %ecx,%ecx
4261c5:	74 ba                	je     0x426181
4261c7:	83 c8 ff             	or     $0xffffffff,%eax
4261ca:	33 d2                	xor    %edx,%edx
4261cc:	f7 f3                	div    %ebx
4261ce:	3b f0                	cmp    %eax,%esi
4261d0:	77 af                	ja     0x426181
4261d2:	8d 41 0c             	lea    0xc(%ecx),%eax
4261d5:	89 45 ec             	mov    %eax,-0x14(%ebp)
4261d8:	8b 00                	mov    (%eax),%eax
4261da:	90                   	nop
4261db:	a9 c0 04 00 00       	test   $0x4c0,%eax
4261e0:	74 08                	je     0x4261ea
4261e2:	8b 41 18             	mov    0x18(%ecx),%eax
4261e5:	89 45 f4             	mov    %eax,-0xc(%ebp)
4261e8:	eb 07                	jmp    0x4261f1
4261ea:	c7 45 f4 00 10 00 00 	movl   $0x1000,-0xc(%ebp)
4261f1:	8b 45 08             	mov    0x8(%ebp),%eax
4261f4:	8b f3                	mov    %ebx,%esi
4261f6:	0f af 75 14          	imul   0x14(%ebp),%esi
4261fa:	8b d7                	mov    %edi,%edx
4261fc:	89 45 f0             	mov    %eax,-0x10(%ebp)
4261ff:	8b de                	mov    %esi,%ebx
426201:	85 f6                	test   %esi,%esi
426203:	e9 e4 00 00 00       	jmp    0x4262ec
426208:	8b 41 0c             	mov    0xc(%ecx),%eax
42620b:	90                   	nop
42620c:	a9 c0 04 00 00       	test   $0x4c0,%eax
426211:	74 47                	je     0x42625a
426213:	8b 41 08             	mov    0x8(%ecx),%eax
426216:	89 45 f8             	mov    %eax,-0x8(%ebp)
426219:	85 c0                	test   %eax,%eax
42621b:	74 3d                	je     0x42625a
42621d:	0f 88 fd 00 00 00    	js     0x426320
426223:	3b d8                	cmp    %eax,%ebx
426225:	73 05                	jae    0x42622c
426227:	8b c3                	mov    %ebx,%eax
426229:	89 5d f8             	mov    %ebx,-0x8(%ebp)
42622c:	3b c2                	cmp    %edx,%eax
42622e:	0f 87 c9 00 00 00    	ja     0x4262fd
426234:	50                   	push   %eax
426235:	ff 31                	push   (%ecx)
426237:	52                   	push   %edx
426238:	ff 75 f0             	push   -0x10(%ebp)
42623b:	e8 b5 01 00 00       	call   0x4263f5
426240:	8b 4d 18             	mov    0x18(%ebp),%ecx
426243:	83 c4 10             	add    $0x10,%esp
426246:	8b 45 f8             	mov    -0x8(%ebp),%eax
426249:	2b d8                	sub    %eax,%ebx
42624b:	8b 55 fc             	mov    -0x4(%ebp),%edx
42624e:	29 41 08             	sub    %eax,0x8(%ecx)
426251:	01 01                	add    %eax,(%ecx)
426253:	2b d0                	sub    %eax,%edx
426255:	e9 8d 00 00 00       	jmp    0x4262e7
42625a:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
42625d:	72 62                	jb     0x4262c1
42625f:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
426264:	3b d8                	cmp    %eax,%ebx
426266:	76 05                	jbe    0x42626d
426268:	89 45 f8             	mov    %eax,-0x8(%ebp)
42626b:	eb 05                	jmp    0x426272
42626d:	8b c3                	mov    %ebx,%eax
42626f:	89 5d f8             	mov    %ebx,-0x8(%ebp)
426272:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
426276:	74 0d                	je     0x426285
426278:	33 d2                	xor    %edx,%edx
42627a:	f7 75 f4             	divl   -0xc(%ebp)
42627d:	8b 45 f8             	mov    -0x8(%ebp),%eax
426280:	2b c2                	sub    %edx,%eax
426282:	8b 55 fc             	mov    -0x4(%ebp),%edx
426285:	89 45 f8             	mov    %eax,-0x8(%ebp)
426288:	3b c2                	cmp    %edx,%eax
42628a:	77 71                	ja     0x4262fd
42628c:	ff 75 f8             	push   -0x8(%ebp)
42628f:	8b 41 04             	mov    0x4(%ecx),%eax
426292:	ff 75 f0             	push   -0x10(%ebp)
426295:	83 61 08 00          	andl   $0x0,0x8(%ecx)
426299:	51                   	push   %ecx
42629a:	89 01                	mov    %eax,(%ecx)
42629c:	e8 10 71 00 00       	call   0x42d3b1
4262a1:	59                   	pop    %ecx
4262a2:	50                   	push   %eax
4262a3:	e8 b0 a0 00 00       	call   0x430358
4262a8:	83 c4 0c             	add    $0xc,%esp
4262ab:	85 c0                	test   %eax,%eax
4262ad:	0f 84 84 00 00 00    	je     0x426337
4262b3:	78 6b                	js     0x426320
4262b5:	8b 55 fc             	mov    -0x4(%ebp),%edx
4262b8:	2b d8                	sub    %eax,%ebx
4262ba:	8b 4d 18             	mov    0x18(%ebp),%ecx
4262bd:	2b d0                	sub    %eax,%edx
4262bf:	eb 26                	jmp    0x4262e7
4262c1:	51                   	push   %ecx
4262c2:	e8 ab a5 00 00       	call   0x430872
4262c7:	59                   	pop    %ecx
4262c8:	83 f8 ff             	cmp    $0xffffffff,%eax
4262cb:	74 5c                	je     0x426329
4262cd:	8b 55 fc             	mov    -0x4(%ebp),%edx
4262d0:	85 d2                	test   %edx,%edx
4262d2:	74 29                	je     0x4262fd
4262d4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4262d7:	4b                   	dec    %ebx
4262d8:	4a                   	dec    %edx
4262d9:	88 01                	mov    %al,(%ecx)
4262db:	8b 4d 18             	mov    0x18(%ebp),%ecx
4262de:	8b 41 18             	mov    0x18(%ecx),%eax
4262e1:	89 45 f4             	mov    %eax,-0xc(%ebp)
4262e4:	33 c0                	xor    %eax,%eax
4262e6:	40                   	inc    %eax
4262e7:	01 45 f0             	add    %eax,-0x10(%ebp)
4262ea:	85 db                	test   %ebx,%ebx
4262ec:	89 55 fc             	mov    %edx,-0x4(%ebp)
4262ef:	0f 85 13 ff ff ff    	jne    0x426208
4262f5:	8b 45 14             	mov    0x14(%ebp),%eax
4262f8:	e9 96 fe ff ff       	jmp    0x426193
4262fd:	83 ff ff             	cmp    $0xffffffff,%edi
426300:	74 0e                	je     0x426310
426302:	57                   	push   %edi
426303:	6a 00                	push   $0x0
426305:	ff 75 08             	push   0x8(%ebp)
426308:	e8 d3 76 ff ff       	call   0x41d9e0
42630d:	83 c4 0c             	add    $0xc,%esp
426310:	e8 2b 03 00 00       	call   0x426640
426315:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
42631b:	e9 6c fe ff ff       	jmp    0x42618c
426320:	6a 10                	push   $0x10
426322:	8b 45 ec             	mov    -0x14(%ebp),%eax
426325:	59                   	pop    %ecx
426326:	f0 09 08             	lock or %ecx,(%eax)
426329:	2b f3                	sub    %ebx,%esi
42632b:	33 d2                	xor    %edx,%edx
42632d:	8b c6                	mov    %esi,%eax
42632f:	f7 75 10             	divl   0x10(%ebp)
426332:	e9 5c fe ff ff       	jmp    0x426193
426337:	6a 08                	push   $0x8
426339:	eb e7                	jmp    0x426322
42633b:	8b ff                	mov    %edi,%edi
42633d:	55                   	push   %ebp
42633e:	8b ec                	mov    %esp,%ebp
426340:	ff 75 14             	push   0x14(%ebp)
426343:	ff 75 10             	push   0x10(%ebp)
426346:	ff 75 0c             	push   0xc(%ebp)
426349:	6a ff                	push   $0xffffffff
42634b:	ff 75 08             	push   0x8(%ebp)
42634e:	e8 05 00 00 00       	call   0x426358
426353:	83 c4 14             	add    $0x14,%esp
426356:	5d                   	pop    %ebp
426357:	c3                   	ret
426358:	6a 0c                	push   $0xc
42635a:	68 e8 22 45 00       	push   $0x4522e8
42635f:	e8 6c 65 ff ff       	call   0x41c8d0
426364:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
426368:	74 32                	je     0x42639c
42636a:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
42636e:	74 2c                	je     0x42639c
426370:	8b 75 18             	mov    0x18(%ebp),%esi
426373:	85 f6                	test   %esi,%esi
426375:	75 37                	jne    0x4263ae
426377:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
42637b:	74 0f                	je     0x42638c
42637d:	ff 75 0c             	push   0xc(%ebp)
426380:	56                   	push   %esi
426381:	ff 75 08             	push   0x8(%ebp)
426384:	e8 57 76 ff ff       	call   0x41d9e0
426389:	83 c4 0c             	add    $0xc,%esp
42638c:	e8 af 02 00 00       	call   0x426640
426391:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
426397:	e8 d3 a6 ff ff       	call   0x420a6f
42639c:	33 c0                	xor    %eax,%eax
42639e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4263a1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4263a8:	59                   	pop    %ecx
4263a9:	5f                   	pop    %edi
4263aa:	5e                   	pop    %esi
4263ab:	5b                   	pop    %ebx
4263ac:	c9                   	leave
4263ad:	c3                   	ret
4263ae:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
4263b2:	56                   	push   %esi
4263b3:	e8 24 1b 00 00       	call   0x427edc
4263b8:	59                   	pop    %ecx
4263b9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4263bd:	56                   	push   %esi
4263be:	ff 75 14             	push   0x14(%ebp)
4263c1:	ff 75 10             	push   0x10(%ebp)
4263c4:	ff 75 0c             	push   0xc(%ebp)