423f70:	8b cf                	mov    %edi,%ecx
423f72:	89 44 24 0c          	mov    %eax,0xc(%esp)
423f76:	e8 e5 9c fe ff       	call   0x40dc60
423f7b:	8b 5c 24 10          	mov    0x10(%esp),%ebx
423f7f:	33 f6                	xor    %esi,%esi
423f81:	8b cb                	mov    %ebx,%ecx
423f83:	8d 51 02             	lea    0x2(%ecx),%edx
423f86:	66 8b 01             	mov    (%ecx),%ax
423f89:	83 c1 02             	add    $0x2,%ecx
423f8c:	66 3b c6             	cmp    %si,%ax
423f8f:	75 f5                	jne    0x423f86
423f91:	2b ca                	sub    %edx,%ecx
423f93:	d1 f9                	sar    $1,%ecx
423f95:	8d 79 02             	lea    0x2(%ecx),%edi
423f98:	8d 0c 3f             	lea    (%edi,%edi,1),%ecx
423f9b:	89 7c 24 18          	mov    %edi,0x18(%esp)
423f9f:	e8 2c 9d fe ff       	call   0x40dcd0
423fa4:	8b f0                	mov    %eax,%esi
423fa6:	85 f6                	test   %esi,%esi
423fa8:	0f 84 c5 01 00 00    	je     0x424173
423fae:	53                   	push   %ebx
423faf:	8b d7                	mov    %edi,%edx
423fb1:	8b ce                	mov    %esi,%ecx
423fb3:	e8 e8 b3 fe ff       	call   0x40f3a0
423fb8:	33 d2                	xor    %edx,%edx
423fba:	8b c6                	mov    %esi,%eax
423fbc:	8b ce                	mov    %esi,%ecx
423fbe:	66 39 16             	cmp    %dx,(%esi)
423fc1:	74 0a                	je     0x423fcd
423fc3:	8b c8                	mov    %eax,%ecx
423fc5:	83 c0 02             	add    $0x2,%eax
423fc8:	66 39 10             	cmp    %dx,(%eax)
423fcb:	75 f6                	jne    0x423fc3
423fcd:	8d 41 02             	lea    0x2(%ecx),%eax
423fd0:	8b d7                	mov    %edi,%edx
423fd2:	68 70 26 40 00       	push   $0x402670
423fd7:	8b ce                	mov    %esi,%ecx
423fd9:	89 44 24 14          	mov    %eax,0x14(%esp)
423fdd:	e8 5e bc fe ff       	call   0x40fc40
423fe2:	8d 44 24 28          	lea    0x28(%esp),%eax
423fe6:	50                   	push   %eax
423fe7:	56                   	push   %esi
423fe8:	ff 15 cc a0 44 00    	call   *0x44a0cc
423fee:	8b d8                	mov    %eax,%ebx
423ff0:	33 c9                	xor    %ecx,%ecx
423ff2:	8b 44 24 10          	mov    0x10(%esp),%eax
423ff6:	89 5c 24 14          	mov    %ebx,0x14(%esp)
423ffa:	66 89 08             	mov    %cx,(%eax)
423ffd:	83 fb ff             	cmp    $0xffffffff,%ebx
424000:	0f 84 5e 01 00 00    	je     0x424164
424006:	f6 44 24 28 10       	testb  $0x10,0x28(%esp)
42400b:	0f 84 27 01 00 00    	je     0x424138
424011:	b9 34 24 40 00       	mov    $0x402434,%ecx
424016:	8d 44 24 54          	lea    0x54(%esp),%eax
42401a:	66 8b 10             	mov    (%eax),%dx
42401d:	66 3b 11             	cmp    (%ecx),%dx
424020:	75 20                	jne    0x424042
424022:	66 85 d2             	test   %dx,%dx
424025:	74 15                	je     0x42403c
424027:	66 8b 50 02          	mov    0x2(%eax),%dx
42402b:	66 3b 51 02          	cmp    0x2(%ecx),%dx
42402f:	75 11                	jne    0x424042
424031:	83 c0 04             	add    $0x4,%eax
424034:	83 c1 04             	add    $0x4,%ecx
424037:	66 85 d2             	test   %dx,%dx
42403a:	75 de                	jne    0x42401a
42403c:	33 db                	xor    %ebx,%ebx
42403e:	8b c3                	mov    %ebx,%eax
424040:	eb 07                	jmp    0x424049
424042:	1b c0                	sbb    %eax,%eax
424044:	83 c8 01             	or     $0x1,%eax
424047:	33 db                	xor    %ebx,%ebx
424049:	85 c0                	test   %eax,%eax
42404b:	0f 84 e7 00 00 00    	je     0x424138
424051:	b9 10 25 40 00       	mov    $0x402510,%ecx
424056:	8d 44 24 54          	lea    0x54(%esp),%eax
42405a:	66 8b 10             	mov    (%eax),%dx
42405d:	66 3b 11             	cmp    (%ecx),%dx
424060:	75 1e                	jne    0x424080
424062:	66 85 d2             	test   %dx,%dx
424065:	74 15                	je     0x42407c
424067:	66 8b 50 02          	mov    0x2(%eax),%dx
42406b:	66 3b 51 02          	cmp    0x2(%ecx),%dx
42406f:	75 0f                	jne    0x424080
424071:	83 c0 04             	add    $0x4,%eax
424074:	83 c1 04             	add    $0x4,%ecx
424077:	66 85 d2             	test   %dx,%dx
42407a:	75 de                	jne    0x42405a
42407c:	8b c3                	mov    %ebx,%eax
42407e:	eb 05                	jmp    0x424085
424080:	1b c0                	sbb    %eax,%eax
424082:	83 c8 01             	or     $0x1,%eax
424085:	85 c0                	test   %eax,%eax
424087:	0f 84 ab 00 00 00    	je     0x424138
42408d:	8b d6                	mov    %esi,%edx
42408f:	8d 4a 02             	lea    0x2(%edx),%ecx
424092:	66 8b 02             	mov    (%edx),%ax
424095:	83 c2 02             	add    $0x2,%edx
424098:	66 3b c3             	cmp    %bx,%ax
42409b:	75 f5                	jne    0x424092
42409d:	2b d1                	sub    %ecx,%edx
42409f:	8d 4c 24 54          	lea    0x54(%esp),%ecx
4240a3:	d1 fa                	sar    $1,%edx
4240a5:	8d 79 02             	lea    0x2(%ecx),%edi
4240a8:	66 8b 01             	mov    (%ecx),%ax
4240ab:	83 c1 02             	add    $0x2,%ecx
4240ae:	66 3b c3             	cmp    %bx,%ax
4240b1:	75 f5                	jne    0x4240a8
4240b3:	2b cf                	sub    %edi,%ecx
4240b5:	8d 7a 02             	lea    0x2(%edx),%edi
4240b8:	d1 f9                	sar    $1,%ecx
4240ba:	03 f9                	add    %ecx,%edi
4240bc:	3b 7c 24 18          	cmp    0x18(%esp),%edi
4240c0:	7e 2f                	jle    0x4240f1
4240c2:	8d 14 3f             	lea    (%edi,%edi,1),%edx
4240c5:	8b ce                	mov    %esi,%ecx
4240c7:	e8 54 9c fe ff       	call   0x40dd20
4240cc:	85 c0                	test   %eax,%eax
4240ce:	0f 84 81 00 00 00    	je     0x424155
4240d4:	8b f0                	mov    %eax,%esi
4240d6:	89 7c 24 18          	mov    %edi,0x18(%esp)
4240da:	8b c8                	mov    %eax,%ecx
4240dc:	eb 05                	jmp    0x4240e3
4240de:	8b c8                	mov    %eax,%ecx
4240e0:	83 c0 02             	add    $0x2,%eax
4240e3:	66 39 18             	cmp    %bx,(%eax)
4240e6:	75 f6                	jne    0x4240de
4240e8:	8d 41 02             	lea    0x2(%ecx),%eax
4240eb:	89 44 24 10          	mov    %eax,0x10(%esp)
4240ef:	eb 04                	jmp    0x4240f5
4240f1:	8b 7c 24 18          	mov    0x18(%esp),%edi
4240f5:	8d 44 24 54          	lea    0x54(%esp),%eax
4240f9:	8b d7                	mov    %edi,%edx
4240fb:	50                   	push   %eax
4240fc:	8b ce                	mov    %esi,%ecx
4240fe:	e8 3d bb fe ff       	call   0x40fc40
424103:	68 0c 25 40 00       	push   $0x40250c
424108:	8b d7                	mov    %edi,%edx
42410a:	8b ce                	mov    %esi,%ecx
42410c:	e8 2f bb fe ff       	call   0x40fc40
424111:	ff 74 24 1c          	push   0x1c(%esp)
424115:	8b 54 24 28          	mov    0x28(%esp),%edx
424119:	8b ce                	mov    %esi,%ecx
42411b:	ff 75 0c             	push   0xc(%ebp)
42411e:	ff 74 24 28          	push   0x28(%esp)
424122:	e8 3f fd ff ff       	call   0x423e66
424127:	8b d8                	mov    %eax,%ebx
424129:	33 c9                	xor    %ecx,%ecx
42412b:	8b 44 24 10          	mov    0x10(%esp),%eax
42412f:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
424133:	66 89 08             	mov    %cx,(%eax)
424136:	eb 04                	jmp    0x42413c
424138:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
42413c:	8d 44 24 28          	lea    0x28(%esp),%eax
424140:	50                   	push   %eax
424141:	ff 74 24 18          	push   0x18(%esp)
424145:	ff 15 d4 a0 44 00    	call   *0x44a0d4
42414b:	85 c0                	test   %eax,%eax
42414d:	0f 85 b3 fe ff ff    	jne    0x424006
424153:	eb 03                	jmp    0x424158
424155:	33 db                	xor    %ebx,%ebx
424157:	43                   	inc    %ebx
424158:	ff 74 24 14          	push   0x14(%esp)
42415c:	ff 15 d8 a0 44 00    	call   *0x44a0d8
424162:	eb 04                	jmp    0x424168
424164:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
424168:	8b ce                	mov    %esi,%ecx
42416a:	e8 f1 9a fe ff       	call   0x40dc60
42416f:	8b c3                	mov    %ebx,%eax
424171:	eb 07                	jmp    0x42417a
424173:	33 c0                	xor    %eax,%eax
424175:	40                   	inc    %eax
424176:	eb 02                	jmp    0x42417a
424178:	33 c0                	xor    %eax,%eax
42417a:	8b 8c 24 7c 02 00 00 	mov    0x27c(%esp),%ecx
424181:	5f                   	pop    %edi
424182:	5e                   	pop    %esi
424183:	5b                   	pop    %ebx
424184:	33 cc                	xor    %esp,%ecx
424186:	e8 a5 29 ff ff       	call   0x416b30
42418b:	8b e5                	mov    %ebp,%esp
42418d:	5d                   	pop    %ebp
42418e:	c2 0c 00             	ret    $0xc
424191:	8b ff                	mov    %edi,%edi
424193:	55                   	push   %ebp
424194:	8b ec                	mov    %esp,%ebp
424196:	83 e4 f8             	and    $0xfffffff8,%esp
424199:	83 ec 54             	sub    $0x54,%esp
42419c:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
4241a1:	33 c4                	xor    %esp,%eax
4241a3:	89 44 24 50          	mov    %eax,0x50(%esp)
4241a7:	53                   	push   %ebx
4241a8:	56                   	push   %esi
4241a9:	8b 75 0c             	mov    0xc(%ebp),%esi
4241ac:	57                   	push   %edi
4241ad:	6a f5                	push   $0xfffffff5
4241af:	8b fa                	mov    %edx,%edi
4241b1:	89 4c 24 34          	mov    %ecx,0x34(%esp)
4241b5:	89 74 24 18          	mov    %esi,0x18(%esp)
4241b9:	ff 15 bc a1 44 00    	call   *0x44a1bc
4241bf:	89 44 24 18          	mov    %eax,0x18(%esp)
4241c3:	83 f8 ff             	cmp    $0xffffffff,%eax
4241c6:	75 0d                	jne    0x4241d5
4241c8:	6a 01                	push   $0x1
4241ca:	ff 15 2c a4 44 00    	call   *0x44a42c
4241d0:	59                   	pop    %ecx
4241d1:	89 44 24 18          	mov    %eax,0x18(%esp)
4241d5:	80 3d 55 67 43 00 00 	cmpb   $0x0,0x436755
4241dc:	0f 84 db 03 00 00    	je     0x4245bd
4241e2:	6a 20                	push   $0x20
4241e4:	59                   	pop    %ecx
4241e5:	66 39 0d d0 e0 42 00 	cmp    %cx,0x42e0d0
4241ec:	0f 83 cb 03 00 00    	jae    0x4245bd
4241f2:	66 39 0d cc e0 42 00 	cmp    %cx,0x42e0cc
4241f9:	0f 83 be 03 00 00    	jae    0x4245bd
4241ff:	8d 4c 24 44          	lea    0x44(%esp),%ecx
424203:	51                   	push   %ecx
424204:	50                   	push   %eax
424205:	ff 15 28 a0 44 00    	call   *0x44a028
42420b:	85 c0                	test   %eax,%eax
42420d:	0f 84 aa 03 00 00    	je     0x4245bd
424213:	8a 0d d0 e0 42 00    	mov    0x42e0d0,%cl
424219:	33 d2                	xor    %edx,%edx
42421b:	0f b7 05 cc e0 42 00 	movzwl 0x42e0cc,%eax
424222:	42                   	inc    %edx
424223:	8b 74 24 48          	mov    0x48(%esp),%esi
424227:	33 db                	xor    %ebx,%ebx
424229:	d3 e2                	shl    %cl,%edx
42422b:	0f ab c2             	bts    %eax,%edx
42422e:	89 74 24 20          	mov    %esi,0x20(%esp)
424232:	c7 44 24 34 10 00 00 	movl   $0x10,0x34(%esp)
424239:	00
42423a:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
42423e:	89 5c 24 38          	mov    %ebx,0x38(%esp)
424242:	89 54 24 3c          	mov    %edx,0x3c(%esp)
424246:	89 5c 24 40          	mov    %ebx,0x40(%esp)
42424a:	e8 a9 7e 00 00       	call   0x42c0f8
42424f:	89 1d 2c 67 43 00    	mov    %ebx,0x43672c
424255:	89 1d 24 67 43 00    	mov    %ebx,0x436724
42425b:	89 1d 20 67 43 00    	mov    %ebx,0x436720
424261:	89 1d 28 67 43 00    	mov    %ebx,0x436728
424267:	68 04 8e 44 00       	push   $0x448e04
42426c:	ff 15 90 a2 44 00    	call   *0x44a290
424272:	8d 44 24 34          	lea    0x34(%esp),%eax
424276:	50                   	push   %eax
424277:	ff 74 24 18          	push   0x18(%esp)
42427b:	ff 75 08             	push   0x8(%ebp)
42427e:	57                   	push   %edi
42427f:	ff 74 24 40          	push   0x40(%esp)
424283:	ff 15 08 a0 44 00    	call   *0x44a008
424289:	68 04 8e 44 00       	push   $0x448e04
42428e:	89 44 24 10          	mov    %eax,0x10(%esp)
424292:	ff 15 94 a2 44 00    	call   *0x44a294
424298:	83 3d 9c 25 43 00 00 	cmpl   $0x0,0x43259c
42429f:	8b 44 24 14          	mov    0x14(%esp),%eax
4242a3:	8b 08                	mov    (%eax),%ecx
4242a5:	89 4c 24 28          	mov    %ecx,0x28(%esp)
4242a9:	74 3a                	je     0x4242e5
4242ab:	ff 35 a4 25 43 00    	push   0x4325a4
4242b1:	ff 15 9c a2 44 00    	call   *0x44a29c
4242b7:	ff 35 a4 25 43 00    	push   0x4325a4
4242bd:	33 c0                	xor    %eax,%eax
4242bf:	a3 9c 25 43 00       	mov    %eax,0x43259c
4242c4:	ff 15 a8 a2 44 00    	call   *0x44a2a8
4242ca:	85 db                	test   %ebx,%ebx
4242cc:	74 11                	je     0x4242df
4242ce:	53                   	push   %ebx
4242cf:	33 c0                	xor    %eax,%eax
4242d1:	50                   	push   %eax
4242d2:	ff 15 34 a1 44 00    	call   *0x44a134
4242d8:	50                   	push   %eax
4242d9:	ff 15 3c a1 44 00    	call   *0x44a13c
4242df:	33 c0                	xor    %eax,%eax
4242e1:	8b d8                	mov    %eax,%ebx
4242e3:	eb 02                	jmp    0x4242e7
4242e5:	33 c0                	xor    %eax,%eax
4242e7:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
4242ec:	74 39                	je     0x424327
4242ee:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4242f2:	83 ca ff             	or     $0xffffffff,%edx
4242f5:	83 4c 24 10 ff       	orl    $0xffffffff,0x10(%esp)
4242fa:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4242fe:	83 39 00             	cmpl   $0x0,(%ecx)
424301:	76 24                	jbe    0x424327
424303:	0f b7 0c 47          	movzwl (%edi,%eax,2),%ecx
424307:	83 f9 0d             	cmp    $0xd,%ecx
42430a:	74 4d                	je     0x424359
42430c:	66 3b 0d d0 e0 42 00 	cmp    0x42e0d0,%cx
424313:	74 3e                	je     0x424353
424315:	66 3b 0d cc e0 42 00 	cmp    0x42e0cc,%cx
42431c:	74 27                	je     0x424345
42431e:	8b 4c 24 14          	mov    0x14(%esp),%ecx
424322:	40                   	inc    %eax
424323:	3b 01                	cmp    (%ecx),%eax
424325:	72 dc                	jb     0x424303
424327:	85 db                	test   %ebx,%ebx
424329:	74 11                	je     0x42433c
42432b:	53                   	push   %ebx
42432c:	33 c0                	xor    %eax,%eax
42432e:	50                   	push   %eax
42432f:	ff 15 34 a1 44 00    	call   *0x44a134
424335:	50                   	push   %eax
424336:	ff 15 3c a1 44 00    	call   *0x44a13c
42433c:	8b 44 24 0c          	mov    0xc(%esp),%eax
424340:	e9 a0 02 00 00       	jmp    0x4245e5
424345:	89 44 24 10          	mov    %eax,0x10(%esp)
424349:	c7 44 24 1c 01 00 00 	movl   $0x1,0x1c(%esp)
424350:	00
424351:	eb 0c                	jmp    0x42435f
424353:	89 44 24 10          	mov    %eax,0x10(%esp)
424357:	eb 0b                	jmp    0x424364
424359:	8b d0                	mov    %eax,%edx
42435b:	8b 44 24 10          	mov    0x10(%esp),%eax
42435f:	83 fa ff             	cmp    $0xffffffff,%edx
424362:	75 c3                	jne    0x424327
424364:	83 f8 ff             	cmp    $0xffffffff,%eax
424367:	74 be                	je     0x424327
424369:	8b 4c 24 14          	mov    0x14(%esp),%ecx
42436d:	89 01                	mov    %eax,(%ecx)
42436f:	33 c9                	xor    %ecx,%ecx
424371:	66 89 0c 47          	mov    %cx,(%edi,%eax,2)
424375:	85 db                	test   %ebx,%ebx
424377:	74 3b                	je     0x4243b4
424379:	8b cb                	mov    %ebx,%ecx
42437b:	8b c7                	mov    %edi,%eax
42437d:	66 8b 10             	mov    (%eax),%dx
424380:	66 3b 11             	cmp    (%ecx),%dx
424383:	75 20                	jne    0x4243a5
424385:	66 85 d2             	test   %dx,%dx
424388:	74 15                	je     0x42439f
42438a:	66 8b 50 02          	mov    0x2(%eax),%dx
42438e:	66 3b 51 02          	cmp    0x2(%ecx),%dx
424392:	75 11                	jne    0x4243a5
424394:	83 c0 04             	add    $0x4,%eax
424397:	83 c1 04             	add    $0x4,%ecx
42439a:	66 85 d2             	test   %dx,%dx
42439d:	75 de                	jne    0x42437d
42439f:	33 c9                	xor    %ecx,%ecx
4243a1:	8b c1                	mov    %ecx,%eax
4243a3:	eb 07                	jmp    0x4243ac
4243a5:	1b c0                	sbb    %eax,%eax
4243a7:	83 c8 01             	or     $0x1,%eax
4243aa:	33 c9                	xor    %ecx,%ecx
4243ac:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
4243b0:	85 c0                	test   %eax,%eax
4243b2:	74 08                	je     0x4243bc
4243b4:	c7 44 24 0c 01 00 00 	movl   $0x1,0xc(%esp)
4243bb:	00
4243bc:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4243c0:	85 c0                	test   %eax,%eax