452f78:	ff 50 40             	call   *0x40(%eax)
452f7b:	3b c3                	cmp    %ebx,%eax
452f7d:	db e2                	fnclex
452f7f:	7d 0f                	jge    0x452f90
452f81:	6a 40                	push   $0x40
452f83:	68 7c 8c 40 00       	push   $0x408c7c
452f88:	56                   	push   %esi
452f89:	50                   	push   %eax
452f8a:	ff 15 bc 10 40 00    	call   *0x4010bc
452f90:	39 1d 7c 71 45 00    	cmp    %ebx,0x45717c
452f96:	75 10                	jne    0x452fa8
452f98:	68 7c 71 45 00       	push   $0x45717c
452f9d:	68 8c 60 40 00       	push   $0x40608c
452fa2:	ff 15 88 11 40 00    	call   *0x401188
452fa8:	83 ec 10             	sub    $0x10,%esp
452fab:	b9 0a 00 00 00       	mov    $0xa,%ecx
452fb0:	8b fc                	mov    %esp,%edi
452fb2:	89 4d a8             	mov    %ecx,-0x58(%ebp)
452fb5:	ba 04 00 02 80       	mov    $0x80020004,%edx
452fba:	83 ec 10             	sub    $0x10,%esp
452fbd:	89 0f                	mov    %ecx,(%edi)
452fbf:	8b 8d 4c ff ff ff    	mov    -0xb4(%ebp),%ecx
452fc5:	8b c2                	mov    %edx,%eax
452fc7:	89 55 b0             	mov    %edx,-0x50(%ebp)
452fca:	89 4f 04             	mov    %ecx,0x4(%edi)
452fcd:	8b cc                	mov    %esp,%ecx
452fcf:	83 ec 10             	sub    $0x10,%esp
452fd2:	8b 35 7c 71 45 00    	mov    0x45717c,%esi
452fd8:	89 47 08             	mov    %eax,0x8(%edi)
452fdb:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
452fe1:	8b 1e                	mov    (%esi),%ebx
452fe3:	89 47 0c             	mov    %eax,0xc(%edi)
452fe6:	b8 0a 00 00 00       	mov    $0xa,%eax
452feb:	89 01                	mov    %eax,(%ecx)
452fed:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
452ff3:	89 41 04             	mov    %eax,0x4(%ecx)
452ff6:	b8 0a 00 00 00       	mov    $0xa,%eax
452ffb:	89 51 08             	mov    %edx,0x8(%ecx)
452ffe:	8b 95 64 ff ff ff    	mov    -0x9c(%ebp),%edx
453004:	89 51 0c             	mov    %edx,0xc(%ecx)
453007:	8b 95 6c ff ff ff    	mov    -0x94(%ebp),%edx
45300d:	8b cc                	mov    %esp,%ecx
45300f:	83 ec 10             	sub    $0x10,%esp
453012:	89 01                	mov    %eax,(%ecx)
453014:	b8 04 00 02 80       	mov    $0x80020004,%eax
453019:	89 51 04             	mov    %edx,0x4(%ecx)
45301c:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
453022:	89 41 08             	mov    %eax,0x8(%ecx)
453025:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
45302b:	89 41 0c             	mov    %eax,0xc(%ecx)
45302e:	8b cc                	mov    %esp,%ecx
453030:	b8 0a 00 00 00       	mov    $0xa,%eax
453035:	83 ec 10             	sub    $0x10,%esp
453038:	89 01                	mov    %eax,(%ecx)
45303a:	b8 04 00 02 80       	mov    $0x80020004,%eax
45303f:	89 51 04             	mov    %edx,0x4(%ecx)
453042:	8b 55 8c             	mov    -0x74(%ebp),%edx
453045:	89 41 08             	mov    %eax,0x8(%ecx)
453048:	8b 45 84             	mov    -0x7c(%ebp),%eax
45304b:	89 41 0c             	mov    %eax,0xc(%ecx)
45304e:	8b cc                	mov    %esp,%ecx
453050:	b8 0a 00 00 00       	mov    $0xa,%eax
453055:	83 ec 10             	sub    $0x10,%esp
453058:	89 01                	mov    %eax,(%ecx)
45305a:	b8 04 00 02 80       	mov    $0x80020004,%eax
45305f:	89 51 04             	mov    %edx,0x4(%ecx)
453062:	8b 55 9c             	mov    -0x64(%ebp),%edx
453065:	89 41 08             	mov    %eax,0x8(%ecx)
453068:	8b 45 94             	mov    -0x6c(%ebp),%eax
45306b:	89 41 0c             	mov    %eax,0xc(%ecx)
45306e:	8b cc                	mov    %esp,%ecx
453070:	b8 0a 00 00 00       	mov    $0xa,%eax
453075:	83 ec 10             	sub    $0x10,%esp
453078:	89 01                	mov    %eax,(%ecx)
45307a:	b8 04 00 02 80       	mov    $0x80020004,%eax
45307f:	89 51 04             	mov    %edx,0x4(%ecx)
453082:	8b 55 a8             	mov    -0x58(%ebp),%edx
453085:	89 41 08             	mov    %eax,0x8(%ecx)
453088:	8b 45 a4             	mov    -0x5c(%ebp),%eax
45308b:	89 41 0c             	mov    %eax,0xc(%ecx)
45308e:	8b 45 ac             	mov    -0x54(%ebp),%eax
453091:	8b cc                	mov    %esp,%ecx
453093:	89 11                	mov    %edx,(%ecx)
453095:	8b 55 b0             	mov    -0x50(%ebp),%edx
453098:	89 41 04             	mov    %eax,0x4(%ecx)
45309b:	8b 45 b4             	mov    -0x4c(%ebp),%eax
45309e:	89 51 08             	mov    %edx,0x8(%ecx)
4530a1:	89 41 0c             	mov    %eax,0xc(%ecx)
4530a4:	8b 4d 10             	mov    0x10(%ebp),%ecx
4530a7:	0f bf 11             	movswl (%ecx),%edx
4530aa:	89 95 20 ff ff ff    	mov    %edx,-0xe0(%ebp)
4530b0:	db 85 20 ff ff ff    	fildl  -0xe0(%ebp)
4530b6:	d9 9d 1c ff ff ff    	fstps  -0xe4(%ebp)
4530bc:	8b 85 1c ff ff ff    	mov    -0xe4(%ebp),%eax
4530c2:	50                   	push   %eax
4530c3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4530c6:	0f bf 11             	movswl (%ecx),%edx
4530c9:	89 95 18 ff ff ff    	mov    %edx,-0xe8(%ebp)
4530cf:	8b 4d cc             	mov    -0x34(%ebp),%ecx
4530d2:	db 85 18 ff ff ff    	fildl  -0xe8(%ebp)
4530d8:	d9 9d 14 ff ff ff    	fstps  -0xec(%ebp)
4530de:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
4530e4:	50                   	push   %eax
4530e5:	68 6c 8c 40 00       	push   $0x408c6c
4530ea:	51                   	push   %ecx
4530eb:	ff 15 d4 11 40 00    	call   *0x4011d4
4530f1:	8b 3d d0 10 40 00    	mov    0x4010d0,%edi
4530f7:	8d 55 c8             	lea    -0x38(%ebp),%edx
4530fa:	50                   	push   %eax
4530fb:	52                   	push   %edx
4530fc:	ff d7                	call   *%edi
4530fe:	50                   	push   %eax
4530ff:	56                   	push   %esi
453100:	ff 93 cc 02 00 00    	call   *0x2cc(%ebx)
453106:	33 db                	xor    %ebx,%ebx
453108:	3b c3                	cmp    %ebx,%eax
45310a:	db e2                	fnclex
45310c:	7d 12                	jge    0x453120
45310e:	68 cc 02 00 00       	push   $0x2cc
453113:	68 e4 7e 40 00       	push   $0x407ee4
453118:	56                   	push   %esi
453119:	50                   	push   %eax
45311a:	ff 15 bc 10 40 00    	call   *0x4010bc
453120:	8d 45 c8             	lea    -0x38(%ebp),%eax
453123:	8d 4d cc             	lea    -0x34(%ebp),%ecx
453126:	50                   	push   %eax
453127:	8d 55 d0             	lea    -0x30(%ebp),%edx
45312a:	51                   	push   %ecx
45312b:	52                   	push   %edx
45312c:	6a 03                	push   $0x3
45312e:	ff 15 ac 10 40 00    	call   *0x4010ac
453134:	83 c4 10             	add    $0x10,%esp
453137:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
45313d:	c7 85 44 ff ff ff cd 	movl   $0x3dcccccd,-0xbc(%ebp)
453144:	cc cc 3d
453147:	50                   	push   %eax
453148:	e8 d3 38 ff ff       	call   0x446a20
45314d:	8b 75 08             	mov    0x8(%ebp),%esi
453150:	b8 01 00 00 00       	mov    $0x1,%eax
453155:	66 03 45 e8          	add    -0x18(%ebp),%ax
453159:	0f 80 9a 00 00 00    	jo     0x4531f9
45315f:	89 45 e8             	mov    %eax,-0x18(%ebp)
453162:	e9 b0 fd ff ff       	jmp    0x452f17
453167:	66 8b 4d d4          	mov    -0x2c(%ebp),%cx
45316b:	8d 55 a8             	lea    -0x58(%ebp),%edx
45316e:	66 89 4d b0          	mov    %cx,-0x50(%ebp)
453172:	8d 4d d8             	lea    -0x28(%ebp),%ecx
453175:	c7 45 a8 02 00 00 00 	movl   $0x2,-0x58(%ebp)
45317c:	ff 15 90 10 40 00    	call   *0x401090
453182:	9b                   	fwait
453183:	68 bb 31 45 00       	push   $0x4531bb
453188:	eb 30                	jmp    0x4531ba
45318a:	f6 45 fc 04          	testb  $0x4,-0x4(%ebp)
45318e:	74 09                	je     0x453199
453190:	8d 4d d8             	lea    -0x28(%ebp),%ecx
453193:	ff 15 98 10 40 00    	call   *0x401098
453199:	8d 55 c8             	lea    -0x38(%ebp),%edx
45319c:	8d 45 cc             	lea    -0x34(%ebp),%eax
45319f:	52                   	push   %edx
4531a0:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4531a3:	50                   	push   %eax
4531a4:	51                   	push   %ecx
4531a5:	6a 03                	push   $0x3
4531a7:	ff 15 ac 10 40 00    	call   *0x4010ac
4531ad:	83 c4 10             	add    $0x10,%esp
4531b0:	8d 4d b8             	lea    -0x48(%ebp),%ecx
4531b3:	ff 15 98 10 40 00    	call   *0x401098
4531b9:	c3                   	ret
4531ba:	c3                   	ret
4531bb:	8b 45 08             	mov    0x8(%ebp),%eax
4531be:	50                   	push   %eax
4531bf:	8b 10                	mov    (%eax),%edx
4531c1:	ff 52 08             	call   *0x8(%edx)
4531c4:	8b 45 14             	mov    0x14(%ebp),%eax
4531c7:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4531ca:	8b 55 dc             	mov    -0x24(%ebp),%edx
4531cd:	89 08                	mov    %ecx,(%eax)
4531cf:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4531d2:	89 50 04             	mov    %edx,0x4(%eax)
4531d5:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4531d8:	89 48 08             	mov    %ecx,0x8(%eax)
4531db:	89 50 0c             	mov    %edx,0xc(%eax)
4531de:	8b 45 fc             	mov    -0x4(%ebp),%eax
4531e1:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4531e4:	5f                   	pop    %edi
4531e5:	5e                   	pop    %esi
4531e6:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4531ed:	5b                   	pop    %ebx
4531ee:	8b e5                	mov    %ebp,%esp
4531f0:	5d                   	pop    %ebp
4531f1:	c2 10 00             	ret    $0x10
4531f4:	e9 e3 e3 fa ff       	jmp    0x4015dc
4531f9:	ff 15 7c 11 40 00    	call   *0x40117c
4531ff:	90                   	nop
453200:	33 c0                	xor    %eax,%eax
453202:	c2 04 00             	ret    $0x4
453205:	90                   	nop
453206:	90                   	nop
453207:	90                   	nop
453208:	90                   	nop
453209:	90                   	nop
45320a:	90                   	nop
45320b:	90                   	nop
45320c:	90                   	nop
45320d:	90                   	nop
45320e:	90                   	nop
45320f:	90                   	nop
453210:	55                   	push   %ebp
453211:	8b ec                	mov    %esp,%ebp
453213:	83 ec 0c             	sub    $0xc,%esp
453216:	68 d6 15 40 00       	push   $0x4015d6
45321b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
453221:	50                   	push   %eax
453222:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
453229:	81 ec 98 00 00 00    	sub    $0x98,%esp
45322f:	53                   	push   %ebx
453230:	56                   	push   %esi
453231:	57                   	push   %edi
453232:	89 65 f4             	mov    %esp,-0xc(%ebp)
453235:	c7 45 f8 08 15 40 00 	movl   $0x401508,-0x8(%ebp)
45323c:	8b 75 08             	mov    0x8(%ebp),%esi
45323f:	8b c6                	mov    %esi,%eax
453241:	83 e0 01             	and    $0x1,%eax
453244:	89 45 fc             	mov    %eax,-0x4(%ebp)
453247:	83 e6 fe             	and    $0xfffffffe,%esi
45324a:	56                   	push   %esi
45324b:	89 75 08             	mov    %esi,0x8(%ebp)
45324e:	8b 0e                	mov    (%esi),%ecx
453250:	ff 51 04             	call   *0x4(%ecx)
453253:	33 db                	xor    %ebx,%ebx
453255:	66 83 7e 38 01       	cmpw   $0x1,0x38(%esi)
45325a:	89 5d d0             	mov    %ebx,-0x30(%ebp)
45325d:	89 5d c8             	mov    %ebx,-0x38(%ebp)
453260:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
453263:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
453266:	89 5d 90             	mov    %ebx,-0x70(%ebp)
453269:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
45326c:	89 5d 88             	mov    %ebx,-0x78(%ebp)
45326f:	0f 8d d3 01 00 00    	jge    0x453448
453275:	66 89 1d 32 70 45 00 	mov    %bx,0x457032
45327c:	e8 3f 3d ff ff       	call   0x446fc0
453281:	66 89 1d 36 70 45 00 	mov    %bx,0x457036
453288:	8b 16                	mov    (%esi),%edx
45328a:	56                   	push   %esi
45328b:	ff 92 34 03 00 00    	call   *0x334(%edx)
453291:	50                   	push   %eax
453292:	8d 45 c4             	lea    -0x3c(%ebp),%eax
453295:	50                   	push   %eax
453296:	ff 15 d0 10 40 00    	call   *0x4010d0
45329c:	8b f8                	mov    %eax,%edi
45329e:	53                   	push   %ebx
45329f:	8b 17                	mov    (%edi),%edx
4532a1:	89 95 74 ff ff ff    	mov    %edx,-0x8c(%ebp)
4532a7:	ff 15 84 10 40 00    	call   *0x401084
4532ad:	8b d0                	mov    %eax,%edx
4532af:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4532b2:	ff 15 d8 11 40 00    	call   *0x4011d8
4532b8:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
4532be:	50                   	push   %eax
4532bf:	57                   	push   %edi
4532c0:	ff 51 54             	call   *0x54(%ecx)
4532c3:	85 c0                	test   %eax,%eax
4532c5:	db e2                	fnclex
4532c7:	7d 0f                	jge    0x4532d8
4532c9:	6a 54                	push   $0x54
4532cb:	68 88 7b 40 00       	push   $0x407b88
4532d0:	57                   	push   %edi
4532d1:	50                   	push   %eax
4532d2:	ff 15 bc 10 40 00    	call   *0x4010bc
4532d8:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4532db:	ff 15 00 12 40 00    	call   *0x401200
4532e1:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4532e4:	ff 15 fc 11 40 00    	call   *0x4011fc
4532ea:	e8 81 2e ff ff       	call   0x446170
4532ef:	8b 16                	mov    (%esi),%edx
4532f1:	56                   	push   %esi
4532f2:	ff 92 00 03 00 00    	call   *0x300(%edx)
4532f8:	8b 1d d0 10 40 00    	mov    0x4010d0,%ebx
4532fe:	50                   	push   %eax
4532ff:	8d 45 c4             	lea    -0x3c(%ebp),%eax
453302:	50                   	push   %eax
453303:	ff d3                	call   *%ebx
453305:	8b f8                	mov    %eax,%edi
453307:	6a 00                	push   $0x0
453309:	57                   	push   %edi
45330a:	8b 0f                	mov    (%edi),%ecx
45330c:	ff 91 8c 00 00 00    	call   *0x8c(%ecx)
453312:	85 c0                	test   %eax,%eax
453314:	db e2                	fnclex
453316:	7d 12                	jge    0x45332a
453318:	68 8c 00 00 00       	push   $0x8c
45331d:	68 fc 7d 40 00       	push   $0x407dfc
453322:	57                   	push   %edi
453323:	50                   	push   %eax
453324:	ff 15 bc 10 40 00    	call   *0x4010bc
45332a:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45332d:	ff 15 fc 11 40 00    	call   *0x4011fc
453333:	83 ec 10             	sub    $0x10,%esp
453336:	b9 0b 00 00 00       	mov    $0xb,%ecx
45333b:	8b d4                	mov    %esp,%edx
45333d:	33 c0                	xor    %eax,%eax
45333f:	68 ec 8c 40 00       	push   $0x408cec
453344:	89 0a                	mov    %ecx,(%edx)
453346:	8b 4d a8             	mov    -0x58(%ebp),%ecx
453349:	89 4a 04             	mov    %ecx,0x4(%edx)
45334c:	8d 4d d0             	lea    -0x30(%ebp),%ecx
45334f:	51                   	push   %ecx
453350:	89 42 08             	mov    %eax,0x8(%edx)
453353:	8b 45 b0             	mov    -0x50(%ebp),%eax
453356:	89 42 0c             	mov    %eax,0xc(%edx)
453359:	ff 15 24 11 40 00    	call   *0x401124
45335f:	8b 16                	mov    (%esi),%edx
453361:	56                   	push   %esi
453362:	ff 92 04 03 00 00    	call   *0x304(%edx)
453368:	50                   	push   %eax
453369:	8d 45 c4             	lea    -0x3c(%ebp),%eax
45336c:	50                   	push   %eax
45336d:	ff d3                	call   *%ebx
45336f:	8b f8                	mov    %eax,%edi
453371:	6a 00                	push   $0x0
453373:	57                   	push   %edi
453374:	8b 0f                	mov    (%edi),%ecx
453376:	ff 91 8c 00 00 00    	call   *0x8c(%ecx)
45337c:	85 c0                	test   %eax,%eax
45337e:	db e2                	fnclex
453380:	7d 12                	jge    0x453394
453382:	68 8c 00 00 00       	push   $0x8c
453387:	68 fc 7d 40 00       	push   $0x407dfc
45338c:	57                   	push   %edi
45338d:	50                   	push   %eax
45338e:	ff 15 bc 10 40 00    	call   *0x4010bc
453394:	8b 3d fc 11 40 00    	mov    0x4011fc,%edi
45339a:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45339d:	ff d7                	call   *%edi
45339f:	8b 16                	mov    (%esi),%edx
4533a1:	56                   	push   %esi
4533a2:	ff 92 08 03 00 00    	call   *0x308(%edx)
4533a8:	50                   	push   %eax
4533a9:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4533ac:	50                   	push   %eax
4533ad:	ff d3                	call   *%ebx
4533af:	8b f0                	mov    %eax,%esi
4533b1:	6a ff                	push   $0xffffffff
4533b3:	56                   	push   %esi
4533b4:	8b 0e                	mov    (%esi),%ecx
4533b6:	ff 91 8c 00 00 00    	call   *0x8c(%ecx)
4533bc:	85 c0                	test   %eax,%eax
4533be:	db e2                	fnclex
4533c0:	7d 12                	jge    0x4533d4
4533c2:	68 8c 00 00 00       	push   $0x8c