450f95:	8b 40 c8             	mov    -0x38(%eax),%eax
450f98:	8b 40 4c             	mov    0x4c(%eax),%eax
450f9b:	8b 10                	mov    (%eax),%edx
450f9d:	ff 52 20             	call   *0x20(%edx)
450fa0:	8b 55 08             	mov    0x8(%ebp),%edx
450fa3:	8b 52 fc             	mov    -0x4(%edx),%edx
450fa6:	8b 4d 08             	mov    0x8(%ebp),%ecx
450fa9:	2b 51 f4             	sub    -0xc(%ecx),%edx
450fac:	3b c2                	cmp    %edx,%eax
450fae:	7d 4a                	jge    0x450ffa
450fb0:	8b 45 08             	mov    0x8(%ebp),%eax
450fb3:	8b 40 c8             	mov    -0x38(%eax),%eax
450fb6:	8b 40 4c             	mov    0x4c(%eax),%eax
450fb9:	8b 10                	mov    (%eax),%edx
450fbb:	ff 52 20             	call   *0x20(%edx)
450fbe:	8b 55 08             	mov    0x8(%ebp),%edx
450fc1:	8b 52 fc             	mov    -0x4(%edx),%edx
450fc4:	8b 4d 08             	mov    0x8(%ebp),%ecx
450fc7:	2b 51 f4             	sub    -0xc(%ecx),%edx
450fca:	2b d0                	sub    %eax,%edx
450fcc:	d1 fa                	sar    $1,%edx
450fce:	79 03                	jns    0x450fd3
450fd0:	83 d2 00             	adc    $0x0,%edx
450fd3:	8b 45 08             	mov    0x8(%ebp),%eax
450fd6:	03 50 f4             	add    -0xc(%eax),%edx
450fd9:	42                   	inc    %edx
450fda:	8b 45 08             	mov    0x8(%ebp),%eax
450fdd:	89 50 f4             	mov    %edx,-0xc(%eax)
450fe0:	8b 45 08             	mov    0x8(%ebp),%eax
450fe3:	8b 40 c8             	mov    -0x38(%eax),%eax
450fe6:	8b 40 4c             	mov    0x4c(%eax),%eax
450fe9:	8b 10                	mov    (%eax),%edx
450feb:	ff 52 20             	call   *0x20(%edx)
450fee:	8b 55 08             	mov    0x8(%ebp),%edx
450ff1:	03 42 f4             	add    -0xc(%edx),%eax
450ff4:	8b 55 08             	mov    0x8(%ebp),%edx
450ff7:	89 42 fc             	mov    %eax,-0x4(%edx)
450ffa:	8b 45 08             	mov    0x8(%ebp),%eax
450ffd:	8b 40 c8             	mov    -0x38(%eax),%eax
451000:	8b 48 4c             	mov    0x4c(%eax),%ecx
451003:	8b 45 08             	mov    0x8(%ebp),%eax
451006:	8d 50 f0             	lea    -0x10(%eax),%edx
451009:	8b 45 08             	mov    0x8(%ebp),%eax
45100c:	8b 40 d8             	mov    -0x28(%eax),%eax
45100f:	e8 a8 cf fc ff       	call   0x41dfbc
451014:	8b 45 08             	mov    0x8(%ebp),%eax
451017:	8b 55 08             	mov    0x8(%ebp),%edx
45101a:	8d 70 a4             	lea    -0x5c(%eax),%esi
45101d:	8d 7a f0             	lea    -0x10(%edx),%edi
451020:	a5                   	movsl  %ds:(%esi),%es:(%edi)
451021:	a5                   	movsl  %ds:(%esi),%es:(%edi)
451022:	a5                   	movsl  %ds:(%esi),%es:(%edi)
451023:	a5                   	movsl  %ds:(%esi),%es:(%edi)
451024:	8b 45 08             	mov    0x8(%ebp),%eax
451027:	8b 40 c8             	mov    -0x38(%eax),%eax
45102a:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
45102e:	74 6b                	je     0x45109b
451030:	8b 45 08             	mov    0x8(%ebp),%eax
451033:	ff 48 f8             	decl   -0x8(%eax)
451036:	8b 45 08             	mov    0x8(%ebp),%eax
451039:	ff 48 fc             	decl   -0x4(%eax)
45103c:	eb 5d                	jmp    0x45109b
45103e:	8b 45 08             	mov    0x8(%ebp),%eax
451041:	83 78 c0 00          	cmpl   $0x0,-0x40(%eax)
451045:	74 35                	je     0x45107c
451047:	8b 45 08             	mov    0x8(%ebp),%eax
45104a:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
45104e:	75 2c                	jne    0x45107c
451050:	8b 45 08             	mov    0x8(%ebp),%eax
451053:	8b 40 f8             	mov    -0x8(%eax),%eax
451056:	8b 55 08             	mov    0x8(%ebp),%edx
451059:	8b 52 c0             	mov    -0x40(%edx),%edx
45105c:	2b 42 34             	sub    0x34(%edx),%eax
45105f:	8b 55 08             	mov    0x8(%ebp),%edx
451062:	89 42 f0             	mov    %eax,-0x10(%edx)
451065:	8b 45 08             	mov    0x8(%ebp),%eax
451068:	8b 40 f4             	mov    -0xc(%eax),%eax
45106b:	8b 55 08             	mov    0x8(%ebp),%edx
45106e:	8b 52 c0             	mov    -0x40(%edx),%edx
451071:	03 42 30             	add    0x30(%edx),%eax
451074:	8b 55 08             	mov    0x8(%ebp),%edx
451077:	89 42 fc             	mov    %eax,-0x4(%edx)
45107a:	eb 18                	jmp    0x451094
45107c:	8b 45 08             	mov    0x8(%ebp),%eax
45107f:	8b 40 f8             	mov    -0x8(%eax),%eax
451082:	8b 55 08             	mov    0x8(%ebp),%edx
451085:	89 42 f0             	mov    %eax,-0x10(%edx)
451088:	8b 45 08             	mov    0x8(%ebp),%eax
45108b:	8b 40 f4             	mov    -0xc(%eax),%eax
45108e:	8b 55 08             	mov    0x8(%ebp),%edx
451091:	89 42 fc             	mov    %eax,-0x4(%edx)
451094:	8b 45 08             	mov    0x8(%ebp),%eax
451097:	c6 40 c7 00          	movb   $0x0,-0x39(%eax)
45109b:	8b 45 08             	mov    0x8(%ebp),%eax
45109e:	ff 48 f0             	decl   -0x10(%eax)
4510a1:	8b 45 08             	mov    0x8(%ebp),%eax
4510a4:	ff 48 f4             	decl   -0xc(%eax)
4510a7:	8b 45 08             	mov    0x8(%ebp),%eax
4510aa:	83 40 f8 02          	addl   $0x2,-0x8(%eax)
4510ae:	8b 45 08             	mov    0x8(%ebp),%eax
4510b1:	83 40 fc 02          	addl   $0x2,-0x4(%eax)
4510b5:	8b 45 08             	mov    0x8(%ebp),%eax
4510b8:	8b 40 c8             	mov    -0x38(%eax),%eax
4510bb:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
4510bf:	75 1b                	jne    0x4510dc
4510c1:	8b 45 08             	mov    0x8(%ebp),%eax
4510c4:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
4510c8:	74 3e                	je     0x451108
4510ca:	8b 45 08             	mov    0x8(%ebp),%eax
4510cd:	80 78 c7 00          	cmpb   $0x0,-0x39(%eax)
4510d1:	74 35                	je     0x451108
4510d3:	8b 45 08             	mov    0x8(%ebp),%eax
4510d6:	80 78 df 00          	cmpb   $0x0,-0x21(%eax)
4510da:	75 2c                	jne    0x451108
4510dc:	6a 0f                	push   $0xf
4510de:	8b 45 08             	mov    0x8(%ebp),%eax
4510e1:	8b 40 c8             	mov    -0x38(%eax),%eax
4510e4:	0f b6 40 38          	movzbl 0x38(%eax),%eax
4510e8:	8b 04 85 6c 3d 46 00 	mov    0x463d6c(,%eax,4),%eax
4510ef:	50                   	push   %eax
4510f0:	8b 45 08             	mov    0x8(%ebp),%eax
4510f3:	83 c0 f0             	add    $0xfffffff0,%eax
4510f6:	50                   	push   %eax
4510f7:	8b 45 08             	mov    0x8(%ebp),%eax
4510fa:	8b 40 d8             	mov    -0x28(%eax),%eax
4510fd:	e8 da d0 fc ff       	call   0x41e1dc
451102:	50                   	push   %eax
451103:	e8 c4 53 fb ff       	call   0x4064cc
451108:	8b 45 08             	mov    0x8(%ebp),%eax
45110b:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
45110f:	74 4c                	je     0x45115d
451111:	8b 45 08             	mov    0x8(%ebp),%eax
451114:	80 78 c7 00          	cmpb   $0x0,-0x39(%eax)
451118:	74 0d                	je     0x451127
45111a:	8b 45 08             	mov    0x8(%ebp),%eax
45111d:	8b 40 f0             	mov    -0x10(%eax),%eax
451120:	48                   	dec    %eax
451121:	8b 55 08             	mov    0x8(%ebp),%edx
451124:	89 42 e8             	mov    %eax,-0x18(%edx)
451127:	8b 45 08             	mov    0x8(%ebp),%eax
45112a:	80 78 a3 00          	cmpb   $0x0,-0x5d(%eax)
45112e:	74 09                	je     0x451139
451130:	8b 45 08             	mov    0x8(%ebp),%eax
451133:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
451137:	75 13                	jne    0x45114c
451139:	8b 45 08             	mov    0x8(%ebp),%eax
45113c:	8b 40 d8             	mov    -0x28(%eax),%eax
45113f:	8b 40 14             	mov    0x14(%eax),%eax
451142:	ba 0d 00 00 ff       	mov    $0xff00000d,%edx
451147:	e8 48 c9 fc ff       	call   0x41da94
45114c:	8b 45 08             	mov    0x8(%ebp),%eax
45114f:	8d 50 e0             	lea    -0x20(%eax),%edx
451152:	8b 45 08             	mov    0x8(%ebp),%eax
451155:	8b 40 d8             	mov    -0x28(%eax),%eax
451158:	e8 db cc fc ff       	call   0x41de38
45115d:	8b 45 08             	mov    0x8(%ebp),%eax
451160:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
451164:	74 77                	je     0x4511dd
451166:	8b 45 08             	mov    0x8(%ebp),%eax
451169:	80 78 a3 00          	cmpb   $0x0,-0x5d(%eax)
45116d:	74 6e                	je     0x4511dd
45116f:	8b 45 08             	mov    0x8(%ebp),%eax
451172:	80 78 df 00          	cmpb   $0x0,-0x21(%eax)
451176:	75 65                	jne    0x4511dd
451178:	8b 45 08             	mov    0x8(%ebp),%eax
45117b:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
45117f:	74 1e                	je     0x45119f
451181:	6a 0f                	push   $0xf
451183:	6a 02                	push   $0x2
451185:	8b 45 08             	mov    0x8(%ebp),%eax
451188:	83 c0 e0             	add    $0xffffffe0,%eax
45118b:	50                   	push   %eax
45118c:	8b 45 08             	mov    0x8(%ebp),%eax
45118f:	8b 40 d8             	mov    -0x28(%eax),%eax
451192:	e8 45 d0 fc ff       	call   0x41e1dc
451197:	50                   	push   %eax
451198:	e8 2f 53 fb ff       	call   0x4064cc
45119d:	eb 25                	jmp    0x4511c4
45119f:	8b 45 08             	mov    0x8(%ebp),%eax
4511a2:	f6 40 0c 40          	testb  $0x40,0xc(%eax)
4511a6:	74 1c                	je     0x4511c4
4511a8:	6a 0f                	push   $0xf
4511aa:	6a 04                	push   $0x4
4511ac:	8b 45 08             	mov    0x8(%ebp),%eax
4511af:	83 c0 e0             	add    $0xffffffe0,%eax
4511b2:	50                   	push   %eax
4511b3:	8b 45 08             	mov    0x8(%ebp),%eax
4511b6:	8b 40 d8             	mov    -0x28(%eax),%eax
4511b9:	e8 1e d0 fc ff       	call   0x41e1dc
4511be:	50                   	push   %eax
4511bf:	e8 08 53 fb ff       	call   0x4064cc
4511c4:	8b 45 08             	mov    0x8(%ebp),%eax
4511c7:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
4511cb:	75 10                	jne    0x4511dd
4511cd:	6a ff                	push   $0xffffffff
4511cf:	6a 00                	push   $0x0
4511d1:	8b 45 08             	mov    0x8(%ebp),%eax
4511d4:	83 c0 e0             	add    $0xffffffe0,%eax
4511d7:	50                   	push   %eax
4511d8:	e8 bf 55 fb ff       	call   0x40679c
4511dd:	8b 45 08             	mov    0x8(%ebp),%eax
4511e0:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
4511e4:	74 09                	je     0x4511ef
4511e6:	8b 45 08             	mov    0x8(%ebp),%eax
4511e9:	80 78 c7 00          	cmpb   $0x0,-0x39(%eax)
4511ed:	75 0d                	jne    0x4511fc
4511ef:	8b 45 08             	mov    0x8(%ebp),%eax
4511f2:	8b 40 f0             	mov    -0x10(%eax),%eax
4511f5:	48                   	dec    %eax
4511f6:	8b 55 08             	mov    0x8(%ebp),%edx
4511f9:	89 42 e8             	mov    %eax,-0x18(%edx)
4511fc:	8b 45 08             	mov    0x8(%ebp),%eax
4511ff:	83 40 e0 02          	addl   $0x2,-0x20(%eax)
451203:	8b 45 08             	mov    0x8(%ebp),%eax
451206:	ff 48 e8             	decl   -0x18(%eax)
451209:	8b 45 08             	mov    0x8(%ebp),%eax
45120c:	0f b6 40 cf          	movzbl -0x31(%eax),%eax
451210:	66 8b 04 45 64 3d 46 	mov    0x463d64(,%eax,2),%ax
451217:	00
451218:	66 83 c8 60          	or     $0x60,%ax
45121c:	0f b7 c0             	movzwl %ax,%eax
45121f:	8b 55 08             	mov    0x8(%ebp),%edx
451222:	89 42 9c             	mov    %eax,-0x64(%edx)
451225:	8b 45 08             	mov    0x8(%ebp),%eax
451228:	80 78 9b 00          	cmpb   $0x0,-0x65(%eax)
45122c:	74 13                	je     0x451241
45122e:	8b 45 08             	mov    0x8(%ebp),%eax
451231:	f6 40 0d 01          	testb  $0x1,0xd(%eax)
451235:	74 0a                	je     0x451241
451237:	8b 45 08             	mov    0x8(%ebp),%eax
45123a:	81 48 9c 00 00 10 00 	orl    $0x100000,-0x64(%eax)
451241:	8b 45 08             	mov    0x8(%ebp),%eax
451244:	8b 55 08             	mov    0x8(%ebp),%edx
451247:	8d 70 e0             	lea    -0x20(%eax),%esi
45124a:	8d 7a a4             	lea    -0x5c(%edx),%edi
45124d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45124e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45124f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
451250:	a5                   	movsl  %ds:(%esi),%es:(%edi)
451251:	8b 45 08             	mov    0x8(%ebp),%eax
451254:	f6 40 0c 20          	testb  $0x20,0xc(%eax)
451258:	74 14                	je     0x45126e
45125a:	8b 45 08             	mov    0x8(%ebp),%eax
45125d:	8b 40 d8             	mov    -0x28(%eax),%eax
451260:	8b 40 0c             	mov    0xc(%eax),%eax
451263:	8a 15 e8 13 45 00    	mov    0x4513e8,%dl
451269:	e8 26 c3 fc ff       	call   0x41d594
45126e:	8b 45 08             	mov    0x8(%ebp),%eax
451271:	83 c0 e0             	add    $0xffffffe0,%eax
451274:	50                   	push   %eax
451275:	8b 45 08             	mov    0x8(%ebp),%eax
451278:	8a 40 d7             	mov    -0x29(%eax),%al
45127b:	50                   	push   %eax
45127c:	8b 45 08             	mov    0x8(%ebp),%eax
45127f:	8b 40 9c             	mov    -0x64(%eax),%eax
451282:	0d 00 04 00 00       	or     $0x400,%eax
451287:	0d 00 01 00 00       	or     $0x100,%eax
45128c:	50                   	push   %eax
45128d:	8b 45 08             	mov    0x8(%ebp),%eax
451290:	8b 40 c8             	mov    -0x38(%eax),%eax
451293:	8b 48 30             	mov    0x30(%eax),%ecx
451296:	8b 45 08             	mov    0x8(%ebp),%eax
451299:	8b 50 d8             	mov    -0x28(%eax),%edx
45129c:	8b 45 08             	mov    0x8(%ebp),%eax
45129f:	8b 40 c8             	mov    -0x38(%eax),%eax
4512a2:	e8 c5 ec ff ff       	call   0x44ff6c
4512a7:	8b 45 08             	mov    0x8(%ebp),%eax
4512aa:	8b 40 a4             	mov    -0x5c(%eax),%eax
4512ad:	8b 55 08             	mov    0x8(%ebp),%edx
4512b0:	89 42 e0             	mov    %eax,-0x20(%edx)
4512b3:	8b 45 08             	mov    0x8(%ebp),%eax
4512b6:	8b 40 ac             	mov    -0x54(%eax),%eax
4512b9:	8b 55 08             	mov    0x8(%ebp),%edx
4512bc:	89 42 e8             	mov    %eax,-0x18(%edx)
4512bf:	8b 45 08             	mov    0x8(%ebp),%eax
4512c2:	8b 40 b0             	mov    -0x50(%eax),%eax
4512c5:	8b 55 08             	mov    0x8(%ebp),%edx
4512c8:	2b 42 a8             	sub    -0x58(%edx),%eax
4512cb:	8b 55 08             	mov    0x8(%ebp),%edx
4512ce:	8b 52 ec             	mov    -0x14(%edx),%edx
4512d1:	8b 4d 08             	mov    0x8(%ebp),%ecx
4512d4:	2b 51 e4             	sub    -0x1c(%ecx),%edx
4512d7:	2b c2                	sub    %edx,%eax
4512d9:	d1 f8                	sar    $1,%eax
4512db:	79 03                	jns    0x4512e0
4512dd:	83 d0 00             	adc    $0x0,%eax
4512e0:	50                   	push   %eax
4512e1:	6a 00                	push   $0x0
4512e3:	8b 45 08             	mov    0x8(%ebp),%eax
4512e6:	83 c0 e0             	add    $0xffffffe0,%eax
4512e9:	50                   	push   %eax
4512ea:	e8 ad 54 fb ff       	call   0x40679c
4512ef:	8b 45 08             	mov    0x8(%ebp),%eax
4512f2:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
4512f6:	74 22                	je     0x45131a
4512f8:	8b 45 08             	mov    0x8(%ebp),%eax
4512fb:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
4512ff:	74 19                	je     0x45131a
451301:	8b 45 08             	mov    0x8(%ebp),%eax
451304:	80 78 a3 00          	cmpb   $0x0,-0x5d(%eax)
451308:	74 10                	je     0x45131a
45130a:	6a 00                	push   $0x0
45130c:	6a 01                	push   $0x1
45130e:	8b 45 08             	mov    0x8(%ebp),%eax
451311:	83 c0 e0             	add    $0xffffffe0,%eax
451314:	50                   	push   %eax
451315:	e8 82 54 fb ff       	call   0x40679c
45131a:	8b 45 08             	mov    0x8(%ebp),%eax
45131d:	83 c0 e0             	add    $0xffffffe0,%eax
451320:	50                   	push   %eax
451321:	8b 45 08             	mov    0x8(%ebp),%eax
451324:	8a 40 d7             	mov    -0x29(%eax),%al
451327:	50                   	push   %eax
451328:	8b 45 08             	mov    0x8(%ebp),%eax
45132b:	8b 40 9c             	mov    -0x64(%eax),%eax
45132e:	50                   	push   %eax
45132f:	8b 45 08             	mov    0x8(%ebp),%eax
451332:	8b 40 c8             	mov    -0x38(%eax),%eax
451335:	8b 48 30             	mov    0x30(%eax),%ecx
451338:	8b 45 08             	mov    0x8(%ebp),%eax
45133b:	8b 50 d8             	mov    -0x28(%eax),%edx
45133e:	8b 45 08             	mov    0x8(%ebp),%eax
451341:	8b 40 c8             	mov    -0x38(%eax),%eax
451344:	e8 23 ec ff ff       	call   0x44ff6c
451349:	8b 45 08             	mov    0x8(%ebp),%eax
45134c:	8b 40 c8             	mov    -0x38(%eax),%eax
45134f:	66 8b 58 60          	mov    0x60(%eax),%bx
451353:	66 85 db             	test   %bx,%bx
451356:	74 5e                	je     0x4513b6
451358:	8b 45 08             	mov    0x8(%ebp),%eax
45135b:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
45135f:	75 55                	jne    0x4513b6
451361:	8d 55 fc             	lea    -0x4(%ebp),%edx
451364:	8b 45 08             	mov    0x8(%ebp),%eax
451367:	8b c3                	mov    %ebx,%eax
451369:	e8 c2 dc ff ff       	call   0x44f030
45136e:	8b 45 08             	mov    0x8(%ebp),%eax
451371:	c7 40 e0 0a 00 00 00 	movl   $0xa,-0x20(%eax)
451378:	8b 45 08             	mov    0x8(%ebp),%eax
45137b:	8b 40 d8             	mov    -0x28(%eax),%eax
45137e:	8b 55 fc             	mov    -0x4(%ebp),%edx
451381:	e8 b6 cc fc ff       	call   0x41e03c
451386:	8b 55 08             	mov    0x8(%ebp),%edx
451389:	03 42 e0             	add    -0x20(%edx),%eax
45138c:	8b 55 08             	mov    0x8(%ebp),%edx
45138f:	89 42 e8             	mov    %eax,-0x18(%edx)
451392:	8b 45 08             	mov    0x8(%ebp),%eax
451395:	83 c0 e0             	add    $0xffffffe0,%eax
451398:	50                   	push   %eax
451399:	8b 45 08             	mov    0x8(%ebp),%eax