41ef86:	74 15                	je     0x41ef9d
41ef88:	66 8b 51 02          	mov    0x2(%ecx),%dx
41ef8c:	66 3b 50 02          	cmp    0x2(%eax),%dx
41ef90:	75 0f                	jne    0x41efa1
41ef92:	83 c1 04             	add    $0x4,%ecx
41ef95:	83 c0 04             	add    $0x4,%eax
41ef98:	66 85 d2             	test   %dx,%dx
41ef9b:	75 de                	jne    0x41ef7b
41ef9d:	8b c6                	mov    %esi,%eax
41ef9f:	eb 05                	jmp    0x41efa6
41efa1:	1b c0                	sbb    %eax,%eax
41efa3:	83 c8 01             	or     $0x1,%eax
41efa6:	85 c0                	test   %eax,%eax
41efa8:	74 31                	je     0x41efdb
41efaa:	8b cf                	mov    %edi,%ecx
41efac:	8d 51 02             	lea    0x2(%ecx),%edx
41efaf:	66 8b 01             	mov    (%ecx),%ax
41efb2:	83 c1 02             	add    $0x2,%ecx
41efb5:	66 3b c6             	cmp    %si,%ax
41efb8:	75 f5                	jne    0x41efaf
41efba:	2b ca                	sub    %edx,%ecx
41efbc:	d1 f9                	sar    $1,%ecx
41efbe:	8d 04 4d 02 00 00 00 	lea    0x2(,%ecx,2),%eax
41efc5:	50                   	push   %eax
41efc6:	e8 65 7c fe ff       	call   0x406c30
41efcb:	8b f0                	mov    %eax,%esi
41efcd:	59                   	pop    %ecx
41efce:	85 f6                	test   %esi,%esi
41efd0:	75 0e                	jne    0x41efe0
41efd2:	33 c0                	xor    %eax,%eax
41efd4:	50                   	push   %eax
41efd5:	e8 36 7c fe ff       	call   0x406c10
41efda:	59                   	pop    %ecx
41efdb:	5f                   	pop    %edi
41efdc:	5e                   	pop    %esi
41efdd:	5b                   	pop    %ebx
41efde:	c9                   	leave
41efdf:	c3                   	ret
41efe0:	ff 35 04 fb 43 00    	push   0x43fb04
41efe6:	e8 25 7c fe ff       	call   0x406c10
41efeb:	59                   	pop    %ecx
41efec:	8b cf                	mov    %edi,%ecx
41efee:	89 35 04 fb 43 00    	mov    %esi,0x43fb04
41eff4:	8d 51 02             	lea    0x2(%ecx),%edx
41eff7:	66 8b 01             	mov    (%ecx),%ax
41effa:	83 c1 02             	add    $0x2,%ecx
41effd:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
41f001:	75 f4                	jne    0x41eff7
41f003:	2b ca                	sub    %edx,%ecx
41f005:	d1 f9                	sar    $1,%ecx
41f007:	57                   	push   %edi
41f008:	8d 41 01             	lea    0x1(%ecx),%eax
41f00b:	50                   	push   %eax
41f00c:	56                   	push   %esi
41f00d:	e8 76 3a ff ff       	call   0x412a88
41f012:	83 c4 0c             	add    $0xc,%esp
41f015:	85 c0                	test   %eax,%eax
41f017:	0f 85 89 01 00 00    	jne    0x41f1a6
41f01d:	8b 75 ec             	mov    -0x14(%ebp),%esi
41f020:	68 80 00 00 00       	push   $0x80
41f025:	50                   	push   %eax
41f026:	ff 36                	push   (%esi)
41f028:	e8 93 c3 fe ff       	call   0x40b3c0
41f02d:	68 80 00 00 00       	push   $0x80
41f032:	33 c0                	xor    %eax,%eax
41f034:	50                   	push   %eax
41f035:	ff 76 04             	push   0x4(%esi)
41f038:	e8 83 c3 fe ff       	call   0x40b3c0
41f03d:	6a 40                	push   $0x40
41f03f:	33 c0                	xor    %eax,%eax
41f041:	50                   	push   %eax
41f042:	ff 33                	push   (%ebx)
41f044:	e8 77 c3 fe ff       	call   0x40b3c0
41f049:	6a 40                	push   $0x40
41f04b:	33 c0                	xor    %eax,%eax
41f04d:	50                   	push   %eax
41f04e:	ff 73 04             	push   0x4(%ebx)
41f051:	e8 6a c3 fe ff       	call   0x40b3c0
41f056:	6a 03                	push   $0x3
41f058:	ff 33                	push   (%ebx)
41f05a:	ff 36                	push   (%esi)
41f05c:	57                   	push   %edi
41f05d:	e8 78 fe ff ff       	call   0x41eeda
41f062:	83 c4 40             	add    $0x40,%esp
41f065:	33 c9                	xor    %ecx,%ecx
41f067:	6a 03                	push   $0x3
41f069:	58                   	pop    %eax
41f06a:	66 39 0f             	cmp    %cx,(%edi)
41f06d:	74 03                	je     0x41f072
41f06f:	83 c7 02             	add    $0x2,%edi
41f072:	83 e8 01             	sub    $0x1,%eax
41f075:	75 f3                	jne    0x41f06a
41f077:	0f b7 07             	movzwl (%edi),%eax
41f07a:	8b c8                	mov    %eax,%ecx
41f07c:	6a 2d                	push   $0x2d
41f07e:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
41f081:	59                   	pop    %ecx
41f082:	66 3b c1             	cmp    %cx,%ax
41f085:	75 03                	jne    0x41f08a
41f087:	83 c7 02             	add    $0x2,%edi
41f08a:	6a 0a                	push   $0xa
41f08c:	8d 45 f4             	lea    -0xc(%ebp),%eax
41f08f:	50                   	push   %eax
41f090:	57                   	push   %edi
41f091:	e8 2f a3 ff ff       	call   0x4193c5
41f096:	83 c4 0c             	add    $0xc,%esp
41f099:	69 f0 10 0e 00 00    	imul   $0xe10,%eax,%esi
41f09f:	89 75 fc             	mov    %esi,-0x4(%ebp)
41f0a2:	0f b7 0f             	movzwl (%edi),%ecx
41f0a5:	83 f9 2b             	cmp    $0x2b,%ecx
41f0a8:	74 09                	je     0x41f0b3
41f0aa:	8d 41 d0             	lea    -0x30(%ecx),%eax
41f0ad:	66 83 f8 09          	cmp    $0x9,%ax
41f0b1:	77 05                	ja     0x41f0b8
41f0b3:	83 c7 02             	add    $0x2,%edi
41f0b6:	eb ea                	jmp    0x41f0a2
41f0b8:	6a 3a                	push   $0x3a
41f0ba:	58                   	pop    %eax
41f0bb:	66 3b c8             	cmp    %ax,%cx
41f0be:	0f 85 94 00 00 00    	jne    0x41f158
41f0c4:	6a 0a                	push   $0xa
41f0c6:	8d 45 f4             	lea    -0xc(%ebp),%eax
41f0c9:	83 c7 02             	add    $0x2,%edi
41f0cc:	50                   	push   %eax
41f0cd:	57                   	push   %edi
41f0ce:	e8 f2 a2 ff ff       	call   0x4193c5
41f0d3:	8b 75 fc             	mov    -0x4(%ebp),%esi
41f0d6:	83 c4 0c             	add    $0xc,%esp
41f0d9:	6b c0 3c             	imul   $0x3c,%eax,%eax
41f0dc:	6a 30                	push   $0x30
41f0de:	59                   	pop    %ecx
41f0df:	03 f0                	add    %eax,%esi
41f0e1:	89 4d e8             	mov    %ecx,-0x18(%ebp)
41f0e4:	0f b7 07             	movzwl (%edi),%eax
41f0e7:	89 75 fc             	mov    %esi,-0x4(%ebp)
41f0ea:	8b d0                	mov    %eax,%edx
41f0ec:	66 3b c1             	cmp    %cx,%ax
41f0ef:	72 20                	jb     0x41f111
41f0f1:	6a 39                	push   $0x39
41f0f3:	8b c8                	mov    %eax,%ecx
41f0f5:	5b                   	pop    %ebx
41f0f6:	0f b7 d1             	movzwl %cx,%edx
41f0f9:	66 3b cb             	cmp    %bx,%cx
41f0fc:	77 10                	ja     0x41f10e
41f0fe:	83 c7 02             	add    $0x2,%edi
41f101:	0f b7 07             	movzwl (%edi),%eax
41f104:	8b c8                	mov    %eax,%ecx
41f106:	8b d0                	mov    %eax,%edx
41f108:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
41f10c:	73 e8                	jae    0x41f0f6
41f10e:	8b 5d f0             	mov    -0x10(%ebp),%ebx
41f111:	6a 3a                	push   $0x3a
41f113:	58                   	pop    %eax
41f114:	66 3b d0             	cmp    %ax,%dx
41f117:	75 3f                	jne    0x41f158
41f119:	6a 0a                	push   $0xa
41f11b:	8d 45 f4             	lea    -0xc(%ebp),%eax
41f11e:	83 c7 02             	add    $0x2,%edi
41f121:	50                   	push   %eax
41f122:	57                   	push   %edi
41f123:	e8 9d a2 ff ff       	call   0x4193c5
41f128:	8b 75 fc             	mov    -0x4(%ebp),%esi
41f12b:	83 c4 0c             	add    $0xc,%esp
41f12e:	03 f0                	add    %eax,%esi
41f130:	0f b7 07             	movzwl (%edi),%eax
41f133:	89 75 fc             	mov    %esi,-0x4(%ebp)
41f136:	6a 30                	push   $0x30
41f138:	5a                   	pop    %edx
41f139:	66 3b c2             	cmp    %dx,%ax
41f13c:	72 1a                	jb     0x41f158
41f13e:	6a 39                	push   $0x39
41f140:	8b c8                	mov    %eax,%ecx
41f142:	5b                   	pop    %ebx
41f143:	66 3b cb             	cmp    %bx,%cx
41f146:	77 0d                	ja     0x41f155
41f148:	83 c7 02             	add    $0x2,%edi
41f14b:	0f b7 07             	movzwl (%edi),%eax
41f14e:	8b c8                	mov    %eax,%ecx
41f150:	66 3b c2             	cmp    %dx,%ax
41f153:	73 ee                	jae    0x41f143
41f155:	8b 5d f0             	mov    -0x10(%ebp),%ebx
41f158:	6a 2d                	push   $0x2d
41f15a:	58                   	pop    %eax
41f15b:	66 39 45 e4          	cmp    %ax,-0x1c(%ebp)
41f15f:	75 05                	jne    0x41f166
41f161:	f7 de                	neg    %esi
41f163:	89 75 fc             	mov    %esi,-0x4(%ebp)
41f166:	0f b7 0f             	movzwl (%edi),%ecx
41f169:	33 c0                	xor    %eax,%eax
41f16b:	66 85 c9             	test   %cx,%cx
41f16e:	0f 95 c0             	setne  %al
41f171:	89 45 f8             	mov    %eax,-0x8(%ebp)
41f174:	66 85 c9             	test   %cx,%cx
41f177:	74 17                	je     0x41f190
41f179:	8b 45 ec             	mov    -0x14(%ebp),%eax
41f17c:	6a 03                	push   $0x3
41f17e:	ff 73 04             	push   0x4(%ebx)
41f181:	ff 70 04             	push   0x4(%eax)
41f184:	57                   	push   %edi
41f185:	e8 50 fd ff ff       	call   0x41eeda
41f18a:	8b 75 fc             	mov    -0x4(%ebp),%esi
41f18d:	83 c4 10             	add    $0x10,%esp
41f190:	e8 50 f6 ff ff       	call   0x41e7e5
41f195:	89 30                	mov    %esi,(%eax)
41f197:	8b 75 f8             	mov    -0x8(%ebp),%esi
41f19a:	e8 3a f6 ff ff       	call   0x41e7d9
41f19f:	89 30                	mov    %esi,(%eax)
41f1a1:	e9 2c fe ff ff       	jmp    0x41efd2
41f1a6:	33 f6                	xor    %esi,%esi
41f1a8:	56                   	push   %esi
41f1a9:	56                   	push   %esi
41f1aa:	56                   	push   %esi
41f1ab:	56                   	push   %esi
41f1ac:	56                   	push   %esi
41f1ad:	e8 69 e2 fe ff       	call   0x40d41b
41f1b2:	cc                   	int3
41f1b3:	8b ff                	mov    %edi,%edi
41f1b5:	55                   	push   %ebp
41f1b6:	8b ec                	mov    %esp,%ebp
41f1b8:	83 ec 0c             	sub    $0xc,%esp
41f1bb:	53                   	push   %ebx
41f1bc:	56                   	push   %esi
41f1bd:	57                   	push   %edi
41f1be:	e8 28 f6 ff ff       	call   0x41e7eb
41f1c3:	8b f8                	mov    %eax,%edi
41f1c5:	e8 27 f6 ff ff       	call   0x41e7f1
41f1ca:	8b d8                	mov    %eax,%ebx
41f1cc:	33 f6                	xor    %esi,%esi
41f1ce:	8d 45 fc             	lea    -0x4(%ebp),%eax
41f1d1:	89 75 fc             	mov    %esi,-0x4(%ebp)
41f1d4:	50                   	push   %eax
41f1d5:	89 75 f8             	mov    %esi,-0x8(%ebp)
41f1d8:	89 75 f4             	mov    %esi,-0xc(%ebp)
41f1db:	e8 6f f6 ff ff       	call   0x41e84f
41f1e0:	59                   	pop    %ecx
41f1e1:	85 c0                	test   %eax,%eax
41f1e3:	0f 85 19 01 00 00    	jne    0x41f302
41f1e9:	8d 45 f8             	lea    -0x8(%ebp),%eax
41f1ec:	50                   	push   %eax
41f1ed:	e8 05 f6 ff ff       	call   0x41e7f7
41f1f2:	59                   	pop    %ecx
41f1f3:	85 c0                	test   %eax,%eax
41f1f5:	0f 85 07 01 00 00    	jne    0x41f302
41f1fb:	8d 45 f4             	lea    -0xc(%ebp),%eax
41f1fe:	50                   	push   %eax
41f1ff:	e8 1f f6 ff ff       	call   0x41e823
41f204:	59                   	pop    %ecx
41f205:	85 c0                	test   %eax,%eax
41f207:	0f 85 f5 00 00 00    	jne    0x41f302
41f20d:	ff 35 04 fb 43 00    	push   0x43fb04
41f213:	e8 f8 79 fe ff       	call   0x406c10
41f218:	89 35 04 fb 43 00    	mov    %esi,0x43fb04
41f21e:	c7 04 24 10 fb 43 00 	movl   $0x43fb10,(%esp)
41f225:	ff 15 88 10 43 00    	call   *0x431088
41f22b:	83 f8 ff             	cmp    $0xffffffff,%eax
41f22e:	0f 84 ab 00 00 00    	je     0x41f2df
41f234:	6b 15 10 fb 43 00 3c 	imul   $0x3c,0x43fb10,%edx
41f23b:	33 c9                	xor    %ecx,%ecx
41f23d:	41                   	inc    %ecx
41f23e:	66 39 35 56 fb 43 00 	cmp    %si,0x43fb56
41f245:	8b 35 64 fb 43 00    	mov    0x43fb64,%esi
41f24b:	89 0d 08 fb 43 00    	mov    %ecx,0x43fb08
41f251:	89 55 fc             	mov    %edx,-0x4(%ebp)
41f254:	74 08                	je     0x41f25e
41f256:	6b c6 3c             	imul   $0x3c,%esi,%eax
41f259:	03 c2                	add    %edx,%eax
41f25b:	89 45 fc             	mov    %eax,-0x4(%ebp)
41f25e:	66 83 3d aa fb 43 00 	cmpw   $0x0,0x43fbaa
41f265:	00
41f266:	74 10                	je     0x41f278
41f268:	a1 b8 fb 43 00       	mov    0x43fbb8,%eax
41f26d:	85 c0                	test   %eax,%eax
41f26f:	74 07                	je     0x41f278
41f271:	2b c6                	sub    %esi,%eax
41f273:	6b c0 3c             	imul   $0x3c,%eax,%eax
41f276:	eb 04                	jmp    0x41f27c
41f278:	33 c0                	xor    %eax,%eax
41f27a:	33 c9                	xor    %ecx,%ecx
41f27c:	be 80 00 00 00       	mov    $0x80,%esi
41f281:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41f284:	56                   	push   %esi
41f285:	89 45 f4             	mov    %eax,-0xc(%ebp)
41f288:	6a 00                	push   $0x0
41f28a:	ff 33                	push   (%ebx)
41f28c:	e8 2f c1 fe ff       	call   0x40b3c0
41f291:	56                   	push   %esi
41f292:	33 f6                	xor    %esi,%esi
41f294:	56                   	push   %esi
41f295:	ff 73 04             	push   0x4(%ebx)
41f298:	e8 23 c1 fe ff       	call   0x40b3c0
41f29d:	6a 40                	push   $0x40
41f29f:	56                   	push   %esi
41f2a0:	ff 37                	push   (%edi)
41f2a2:	e8 19 c1 fe ff       	call   0x40b3c0
41f2a7:	6a 40                	push   $0x40
41f2a9:	56                   	push   %esi
41f2aa:	ff 77 04             	push   0x4(%edi)
41f2ad:	e8 0e c1 fe ff       	call   0x40b3c0
41f2b2:	e8 a3 41 00 00       	call   0x42345a
41f2b7:	8b f0                	mov    %eax,%esi
41f2b9:	56                   	push   %esi
41f2ba:	ff 37                	push   (%edi)
41f2bc:	ff 33                	push   (%ebx)
41f2be:	68 14 fb 43 00       	push   $0x43fb14
41f2c3:	e8 bb 00 00 00       	call   0x41f383
41f2c8:	83 c4 40             	add    $0x40,%esp
41f2cb:	56                   	push   %esi
41f2cc:	ff 77 04             	push   0x4(%edi)
41f2cf:	ff 73 04             	push   0x4(%ebx)
41f2d2:	68 68 fb 43 00       	push   $0x43fb68
41f2d7:	e8 a7 00 00 00       	call   0x41f383
41f2dc:	83 c4 10             	add    $0x10,%esp
41f2df:	8b 75 fc             	mov    -0x4(%ebp),%esi
41f2e2:	e8 fe f4 ff ff       	call   0x41e7e5
41f2e7:	89 30                	mov    %esi,(%eax)
41f2e9:	8b 75 f8             	mov    -0x8(%ebp),%esi
41f2ec:	e8 e8 f4 ff ff       	call   0x41e7d9
41f2f1:	89 30                	mov    %esi,(%eax)
41f2f3:	8b 75 f4             	mov    -0xc(%ebp),%esi
41f2f6:	e8 e4 f4 ff ff       	call   0x41e7df
41f2fb:	5f                   	pop    %edi
41f2fc:	89 30                	mov    %esi,(%eax)
41f2fe:	5e                   	pop    %esi
41f2ff:	5b                   	pop    %ebx
41f300:	c9                   	leave
41f301:	c3                   	ret
41f302:	56                   	push   %esi
41f303:	56                   	push   %esi
41f304:	56                   	push   %esi
41f305:	56                   	push   %esi
41f306:	56                   	push   %esi
41f307:	e8 0f e1 fe ff       	call   0x40d41b
41f30c:	cc                   	int3
41f30d:	8b ff                	mov    %edi,%edi
41f30f:	55                   	push   %ebp
41f310:	8b ec                	mov    %esp,%ebp
41f312:	81 ec 04 02 00 00    	sub    $0x204,%esp
41f318:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
41f31d:	33 c5                	xor    %ebp,%eax
41f31f:	89 45 fc             	mov    %eax,-0x4(%ebp)
41f322:	83 0d ac d4 43 00 ff 	orl    $0xffffffff,0x43d4ac
41f329:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
41f32f:	83 0d a0 d4 43 00 ff 	orl    $0xffffffff,0x43d4a0
41f336:	56                   	push   %esi
41f337:	57                   	push   %edi
41f338:	33 ff                	xor    %edi,%edi
41f33a:	50                   	push   %eax
41f33b:	89 3d 08 fb 43 00    	mov    %edi,0x43fb08
41f341:	e8 1d fb ff ff       	call   0x41ee63
41f346:	59                   	pop    %ecx