40b031:	8b e5                	mov    %ebp,%esp
40b033:	5d                   	pop    %ebp
40b034:	c2 08 00             	ret    $0x8
40b037:	55                   	push   %ebp
40b038:	8b ec                	mov    %esp,%ebp
40b03a:	53                   	push   %ebx
40b03b:	8b 5d 08             	mov    0x8(%ebp),%ebx
40b03e:	57                   	push   %edi
40b03f:	33 ff                	xor    %edi,%edi
40b041:	39 3b                	cmp    %edi,(%ebx)
40b043:	0f 84 b7 00 00 00    	je     0x40b100
40b049:	39 7b 04             	cmp    %edi,0x4(%ebx)
40b04c:	0f 86 a7 00 00 00    	jbe    0x40b0f9
40b052:	8b c7                	mov    %edi,%eax
40b054:	89 45 08             	mov    %eax,0x8(%ebp)
40b057:	56                   	push   %esi
40b058:	8b 33                	mov    (%ebx),%esi
40b05a:	03 f0                	add    %eax,%esi
40b05c:	83 3e 00             	cmpl   $0x0,(%esi)
40b05f:	74 07                	je     0x40b068
40b061:	ff 36                	push   (%esi)
40b063:	e8 87 a4 03 00       	call   0x4454ef
40b068:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
40b06c:	74 08                	je     0x40b076
40b06e:	ff 76 04             	push   0x4(%esi)
40b071:	e8 79 a4 03 00       	call   0x4454ef
40b076:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
40b07a:	74 08                	je     0x40b084
40b07c:	ff 76 08             	push   0x8(%esi)
40b07f:	e8 6b a4 03 00       	call   0x4454ef
40b084:	8b 46 0c             	mov    0xc(%esi),%eax
40b087:	83 e8 01             	sub    $0x1,%eax
40b08a:	74 4b                	je     0x40b0d7
40b08c:	83 e8 01             	sub    $0x1,%eax
40b08f:	74 46                	je     0x40b0d7
40b091:	83 e8 01             	sub    $0x1,%eax
40b094:	74 28                	je     0x40b0be
40b096:	83 e8 01             	sub    $0x1,%eax
40b099:	74 0a                	je     0x40b0a5
40b09b:	83 e8 01             	sub    $0x1,%eax
40b09e:	74 13                	je     0x40b0b3
40b0a0:	83 e8 01             	sub    $0x1,%eax
40b0a3:	75 40                	jne    0x40b0e5
40b0a5:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
40b0a9:	74 08                	je     0x40b0b3
40b0ab:	ff 76 14             	push   0x14(%esi)
40b0ae:	e8 3c a4 03 00       	call   0x4454ef
40b0b3:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
40b0b7:	74 2c                	je     0x40b0e5
40b0b9:	ff 76 18             	push   0x18(%esi)
40b0bc:	eb 22                	jmp    0x40b0e0
40b0be:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
40b0c2:	74 08                	je     0x40b0cc
40b0c4:	ff 76 1c             	push   0x1c(%esi)
40b0c7:	e8 23 a4 03 00       	call   0x4454ef
40b0cc:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
40b0d0:	74 13                	je     0x40b0e5
40b0d2:	ff 76 20             	push   0x20(%esi)
40b0d5:	eb 09                	jmp    0x40b0e0
40b0d7:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
40b0db:	74 08                	je     0x40b0e5
40b0dd:	ff 76 14             	push   0x14(%esi)
40b0e0:	e8 0a a4 03 00       	call   0x4454ef
40b0e5:	8b 45 08             	mov    0x8(%ebp),%eax
40b0e8:	47                   	inc    %edi
40b0e9:	83 c0 2c             	add    $0x2c,%eax
40b0ec:	89 45 08             	mov    %eax,0x8(%ebp)
40b0ef:	3b 7b 04             	cmp    0x4(%ebx),%edi
40b0f2:	0f 82 60 ff ff ff    	jb     0x40b058
40b0f8:	5e                   	pop    %esi
40b0f9:	ff 33                	push   (%ebx)
40b0fb:	e8 99 88 ff ff       	call   0x403999
40b100:	5f                   	pop    %edi
40b101:	5b                   	pop    %ebx
40b102:	5d                   	pop    %ebp
40b103:	c2 04 00             	ret    $0x4
40b106:	55                   	push   %ebp
40b107:	8b ec                	mov    %esp,%ebp
40b109:	56                   	push   %esi
40b10a:	57                   	push   %edi
40b10b:	33 ff                	xor    %edi,%edi
40b10d:	57                   	push   %edi
40b10e:	ff 15 ec b0 44 00    	call   *0x44b0ec
40b114:	8b f0                	mov    %eax,%esi
40b116:	85 f6                	test   %esi,%esi
40b118:	75 40                	jne    0x40b15a
40b11a:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40b120:	0f b7 f8             	movzwl %ax,%edi
40b123:	81 cf 00 00 07 80    	or     $0x80070000,%edi
40b129:	85 c0                	test   %eax,%eax
40b12b:	0f 4e f8             	cmovle %eax,%edi
40b12e:	b8 05 40 00 80       	mov    $0x80004005,%eax
40b133:	85 ff                	test   %edi,%edi
40b135:	0f 49 f8             	cmovns %eax,%edi
40b138:	57                   	push   %edi
40b139:	68 40 01 00 00       	push   $0x140
40b13e:	68 d4 ed 44 00       	push   $0x44edd4
40b143:	e8 8b 86 ff ff       	call   0x4037d3
40b148:	68 cc f1 44 00       	push   $0x44f1cc
40b14d:	57                   	push   %edi
40b14e:	e8 dc 4f 03 00       	call   0x44012f
40b153:	59                   	pop    %ecx
40b154:	59                   	pop    %ecx
40b155:	e9 4d 01 00 00       	jmp    0x40b2a7
40b15a:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
40b15f:	66 3b 06             	cmp    (%esi),%ax
40b162:	74 1f                	je     0x40b183
40b164:	be 0d 00 07 80       	mov    $0x8007000d,%esi
40b169:	56                   	push   %esi
40b16a:	68 4a 01 00 00       	push   $0x14a
40b16f:	68 d4 ed 44 00       	push   $0x44edd4
40b174:	8b fe                	mov    %esi,%edi
40b176:	e8 58 86 ff ff       	call   0x4037d3
40b17b:	68 50 ee 44 00       	push   $0x44ee50
40b180:	56                   	push   %esi
40b181:	eb cb                	jmp    0x40b14e
40b183:	8b 4e 3c             	mov    0x3c(%esi),%ecx
40b186:	81 3c 31 50 45 00 00 	cmpl   $0x4550,(%ecx,%esi,1)
40b18d:	74 1e                	je     0x40b1ad
40b18f:	be 0d 00 07 80       	mov    $0x8007000d,%esi
40b194:	56                   	push   %esi
40b195:	68 55 01 00 00       	push   $0x155
40b19a:	68 d4 ed 44 00       	push   $0x44edd4
40b19f:	8b fe                	mov    %esi,%edi
40b1a1:	e8 2d 86 ff ff       	call   0x4037d3
40b1a6:	68 c0 ee 44 00       	push   $0x44eec0
40b1ab:	eb d3                	jmp    0x40b180
40b1ad:	0f b7 44 31 14       	movzwl 0x14(%ecx,%esi,1),%eax
40b1b2:	53                   	push   %ebx
40b1b3:	03 c1                	add    %ecx,%eax
40b1b5:	8d 5e 18             	lea    0x18(%esi),%ebx
40b1b8:	6a 08                	push   $0x8
40b1ba:	03 d8                	add    %eax,%ebx
40b1bc:	68 e4 ef 44 00       	push   $0x44efe4
40b1c1:	53                   	push   %ebx
40b1c2:	e8 52 47 02 00       	call   0x42f919
40b1c7:	83 c4 0c             	add    $0xc,%esp
40b1ca:	85 c0                	test   %eax,%eax
40b1cc:	74 24                	je     0x40b1f2
40b1ce:	8b 46 3c             	mov    0x3c(%esi),%eax
40b1d1:	0f b7 4c 30 06       	movzwl 0x6(%eax,%esi,1),%ecx
40b1d6:	33 c0                	xor    %eax,%eax
40b1d8:	40                   	inc    %eax
40b1d9:	3b c1                	cmp    %ecx,%eax
40b1db:	73 3c                	jae    0x40b219
40b1dd:	83 c3 28             	add    $0x28,%ebx
40b1e0:	40                   	inc    %eax
40b1e1:	81 3b 2e 77 69 78    	cmpl   $0x7869772e,(%ebx)
40b1e7:	75 f0                	jne    0x40b1d9
40b1e9:	81 7b 04 62 75 72 6e 	cmpl   $0x6e727562,0x4(%ebx)
40b1f0:	75 e7                	jne    0x40b1d9
40b1f2:	83 7b 10 34          	cmpl   $0x34,0x10(%ebx)
40b1f6:	73 3f                	jae    0x40b237
40b1f8:	be 0d 00 07 80       	mov    $0x8007000d,%esi
40b1fd:	56                   	push   %esi
40b1fe:	68 7a 01 00 00       	push   $0x17a
40b203:	68 d4 ed 44 00       	push   $0x44edd4
40b208:	8b fe                	mov    %esi,%edi
40b20a:	e8 c4 85 ff ff       	call   0x4037d3
40b20f:	ff 73 10             	push   0x10(%ebx)
40b212:	68 10 f0 44 00       	push   $0x44f010
40b217:	eb 48                	jmp    0x40b261
40b219:	be 0d 00 07 80       	mov    $0x8007000d,%esi
40b21e:	56                   	push   %esi
40b21f:	68 6e 01 00 00       	push   $0x16e
40b224:	68 d4 ed 44 00       	push   $0x44edd4
40b229:	8b fe                	mov    %esi,%edi
40b22b:	e8 a3 85 ff ff       	call   0x4037d3
40b230:	68 f0 ef 44 00       	push   $0x44eff0
40b235:	eb 67                	jmp    0x40b29e
40b237:	8b 5b 0c             	mov    0xc(%ebx),%ebx
40b23a:	03 de                	add    %esi,%ebx
40b23c:	83 7b 04 02          	cmpl   $0x2,0x4(%ebx)
40b240:	74 2a                	je     0x40b26c
40b242:	be 0d 00 07 80       	mov    $0x8007000d,%esi
40b247:	56                   	push   %esi
40b248:	68 84 01 00 00       	push   $0x184
40b24d:	68 d4 ed 44 00       	push   $0x44edd4
40b252:	8b fe                	mov    %esi,%edi
40b254:	e8 7a 85 ff ff       	call   0x4037d3
40b259:	ff 73 04             	push   0x4(%ebx)
40b25c:	68 b4 f0 44 00       	push   $0x44f0b4
40b261:	56                   	push   %esi
40b262:	e8 c8 4e 03 00       	call   0x44012f
40b267:	83 c4 0c             	add    $0xc,%esp
40b26a:	eb 3a                	jmp    0x40b2a6
40b26c:	8b 55 08             	mov    0x8(%ebp),%edx
40b26f:	8b cf                	mov    %edi,%ecx
40b271:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
40b274:	3b 44 8b 08          	cmp    0x8(%ebx,%ecx,4),%eax
40b278:	75 08                	jne    0x40b282
40b27a:	41                   	inc    %ecx
40b27b:	83 f9 04             	cmp    $0x4,%ecx
40b27e:	75 f1                	jne    0x40b271
40b280:	eb 24                	jmp    0x40b2a6
40b282:	be 0d 00 07 80       	mov    $0x8007000d,%esi
40b287:	56                   	push   %esi
40b288:	68 8a 01 00 00       	push   $0x18a
40b28d:	68 d4 ed 44 00       	push   $0x44edd4
40b292:	8b fe                	mov    %esi,%edi
40b294:	e8 3a 85 ff ff       	call   0x4037d3
40b299:	68 f4 f1 44 00       	push   $0x44f1f4
40b29e:	56                   	push   %esi
40b29f:	e8 8b 4e 03 00       	call   0x44012f
40b2a4:	59                   	pop    %ecx
40b2a5:	59                   	pop    %ecx
40b2a6:	5b                   	pop    %ebx
40b2a7:	8b c7                	mov    %edi,%eax
40b2a9:	5f                   	pop    %edi
40b2aa:	5e                   	pop    %esi
40b2ab:	5d                   	pop    %ebp
40b2ac:	c2 04 00             	ret    $0x4
40b2af:	55                   	push   %ebp
40b2b0:	8b ec                	mov    %esp,%ebp
40b2b2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b2b5:	53                   	push   %ebx
40b2b6:	8b 5d 08             	mov    0x8(%ebp),%ebx
40b2b9:	56                   	push   %esi
40b2ba:	57                   	push   %edi
40b2bb:	33 ff                	xor    %edi,%edi
40b2bd:	3b 4b 34             	cmp    0x34(%ebx),%ecx
40b2c0:	72 2d                	jb     0x40b2ef
40b2c2:	be 0d 00 07 80       	mov    $0x8007000d,%esi
40b2c7:	56                   	push   %esi
40b2c8:	68 14 01 00 00       	push   $0x114
40b2cd:	68 d4 ed 44 00       	push   $0x44edd4
40b2d2:	8b fe                	mov    %esi,%edi
40b2d4:	e8 fa 84 ff ff       	call   0x4037d3
40b2d9:	ff 73 34             	push   0x34(%ebx)
40b2dc:	68 78 f1 44 00       	push   $0x44f178
40b2e1:	56                   	push   %esi
40b2e2:	e8 48 4e 03 00       	call   0x44012f
40b2e7:	83 c4 0c             	add    $0xc,%esp
40b2ea:	e9 91 00 00 00       	jmp    0x40b380
40b2ef:	8b 45 10             	mov    0x10(%ebp),%eax
40b2f2:	3b 43 30             	cmp    0x30(%ebx),%eax
40b2f5:	74 26                	je     0x40b31d
40b2f7:	be 0d 00 07 80       	mov    $0x8007000d,%esi
40b2fc:	56                   	push   %esi
40b2fd:	68 19 01 00 00       	push   $0x119
40b302:	68 d4 ed 44 00       	push   $0x44edd4
40b307:	8b fe                	mov    %esi,%edi
40b309:	e8 c5 84 ff ff       	call   0x4037d3
40b30e:	68 ac f1 44 00       	push   $0x44f1ac
40b313:	56                   	push   %esi
40b314:	e8 16 4e 03 00       	call   0x44012f
40b319:	59                   	pop    %ecx
40b31a:	59                   	pop    %ecx
40b31b:	eb 63                	jmp    0x40b380
40b31d:	8b 55 14             	mov    0x14(%ebp),%edx
40b320:	33 f6                	xor    %esi,%esi
40b322:	46                   	inc    %esi
40b323:	85 c9                	test   %ecx,%ecx
40b325:	75 0a                	jne    0x40b331
40b327:	8b 43 08             	mov    0x8(%ebx),%eax
40b32a:	89 02                	mov    %eax,(%edx)
40b32c:	89 7a 04             	mov    %edi,0x4(%edx)
40b32f:	eb 1f                	jmp    0x40b350
40b331:	8b 43 0c             	mov    0xc(%ebx),%eax
40b334:	89 02                	mov    %eax,(%edx)
40b336:	89 7a 04             	mov    %edi,0x4(%edx)
40b339:	3b ce                	cmp    %esi,%ecx
40b33b:	76 13                	jbe    0x40b350
40b33d:	8b 43 38             	mov    0x38(%ebx),%eax
40b340:	8b 04 b0             	mov    (%eax,%esi,4),%eax
40b343:	01 02                	add    %eax,(%edx)
40b345:	11 7a 04             	adc    %edi,0x4(%edx)
40b348:	46                   	inc    %esi
40b349:	3b f1                	cmp    %ecx,%esi
40b34b:	72 f0                	jb     0x40b33d
40b34d:	33 f6                	xor    %esi,%esi
40b34f:	46                   	inc    %esi
40b350:	8b 43 38             	mov    0x38(%ebx),%eax
40b353:	8b 04 88             	mov    (%eax,%ecx,4),%eax
40b356:	8b 4d 18             	mov    0x18(%ebp),%ecx
40b359:	89 01                	mov    %eax,(%ecx)
40b35b:	89 79 04             	mov    %edi,0x4(%ecx)
40b35e:	8b 02                	mov    (%edx),%eax
40b360:	03 01                	add    (%ecx),%eax
40b362:	89 45 14             	mov    %eax,0x14(%ebp)
40b365:	8b 42 04             	mov    0x4(%edx),%eax
40b368:	13 c7                	adc    %edi,%eax
40b36a:	3b 43 14             	cmp    0x14(%ebx),%eax
40b36d:	77 0a                	ja     0x40b379
40b36f:	72 0a                	jb     0x40b37b
40b371:	8b 45 14             	mov    0x14(%ebp),%eax
40b374:	3b 43 10             	cmp    0x10(%ebx),%eax
40b377:	76 02                	jbe    0x40b37b
40b379:	8b f7                	mov    %edi,%esi
40b37b:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
40b37e:	89 31                	mov    %esi,(%ecx)
40b380:	8b c7                	mov    %edi,%eax
40b382:	5f                   	pop    %edi
40b383:	5e                   	pop    %esi
40b384:	5b                   	pop    %ebx
40b385:	5d                   	pop    %ebp
40b386:	c2 18 00             	ret    $0x18
40b389:	55                   	push   %ebp
40b38a:	8b ec                	mov    %esp,%ebp
40b38c:	81 ec 8c 01 00 00    	sub    $0x18c,%esp
40b392:	a1 08 a0 46 00       	mov    0x46a008,%eax
40b397:	33 c5                	xor    %ebp,%eax
40b399:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b39c:	53                   	push   %ebx
40b39d:	8b 5d 08             	mov    0x8(%ebp),%ebx
40b3a0:	8d 45 bc             	lea    -0x44(%ebp),%eax
40b3a3:	56                   	push   %esi
40b3a4:	57                   	push   %edi
40b3a5:	33 f6                	xor    %esi,%esi
40b3a7:	0f 57 c0             	xorps  %xmm0,%xmm0
40b3aa:	6a 40                	push   $0x40
40b3ac:	56                   	push   %esi
40b3ad:	50                   	push   %eax
40b3ae:	89 b5 98 fe ff ff    	mov    %esi,-0x168(%ebp)
40b3b4:	66 0f 13 85 74 fe ff 	movlpd %xmm0,-0x18c(%ebp)
40b3bb:	ff
40b3bc:	e8 af 42 02 00       	call   0x42f670
40b3c1:	68 f8 00 00 00       	push   $0xf8
40b3c6:	8d 85 c4 fe ff ff    	lea    -0x13c(%ebp),%eax
40b3cc:	56                   	push   %esi
40b3cd:	50                   	push   %eax
40b3ce:	e8 9d 42 02 00       	call   0x42f670
40b3d3:	83 c4 18             	add    $0x18,%esp
40b3d6:	89 b5 8c fe ff ff    	mov    %esi,-0x174(%ebp)
40b3dc:	33 c0                	xor    %eax,%eax
40b3de:	89 b5 88 fe ff ff    	mov    %esi,-0x178(%ebp)
40b3e4:	8d bd 9c fe ff ff    	lea    -0x164(%ebp),%edi
40b3ea:	89 b5 94 fe ff ff    	mov    %esi,-0x16c(%ebp)
40b3f0:	6a 0a                	push   $0xa
40b3f2:	59                   	pop    %ecx
40b3f3:	f3 ab                	rep stos %eax,%es:(%edi)
40b3f5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b3f8:	89 0b                	mov    %ecx,(%ebx)
40b3fa:	83 f9 ff             	cmp    $0xffffffff,%ecx
40b3fd:	75 36                	jne    0x40b435
40b3ff:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40b405:	0f b7 f0             	movzwl %ax,%esi
40b408:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40b40e:	85 c0                	test   %eax,%eax
40b410:	0f 4e f0             	cmovle %eax,%esi
40b413:	b8 05 40 00 80       	mov    $0x80004005,%eax
40b418:	85 f6                	test   %esi,%esi
40b41a:	0f 49 f0             	cmovns %eax,%esi
40b41d:	56                   	push   %esi
40b41e:	6a 3a                	push   $0x3a
40b420:	68 d4 ed 44 00       	push   $0x44edd4
40b425:	e8 a9 83 ff ff       	call   0x4037d3
40b42a:	68 e0 ed 44 00       	push   $0x44ede0
40b42f:	56                   	push   %esi
40b430:	e9 b8 06 00 00       	jmp    0x40baed