404ee5:	68 43 01 00 00       	push   $0x143
404eea:	ff 75 f8             	push   -0x8(%ebp)
404eed:	ff d6                	call   *%esi
404eef:	57                   	push   %edi
404ef0:	50                   	push   %eax
404ef1:	68 51 01 00 00       	push   $0x151
404ef6:	ff 75 f8             	push   -0x8(%ebp)
404ef9:	ff d6                	call   *%esi
404efb:	47                   	inc    %edi
404efc:	83 ff 21             	cmp    $0x21,%edi
404eff:	7c c9                	jl     0x404eca
404f01:	8b 7d 14             	mov    0x14(%ebp),%edi
404f04:	8b 5d f4             	mov    -0xc(%ebp),%ebx
404f07:	ff 74 9f 30          	push   0x30(%edi,%ebx,4)
404f0b:	6a 15                	push   $0x15
404f0d:	ff 75 08             	push   0x8(%ebp)
404f10:	e8 4a f4 ff ff       	call   0x40435f
404f15:	ff 74 9f 34          	push   0x34(%edi,%ebx,4)
404f19:	6a 16                	push   $0x16
404f1b:	ff 75 08             	push   0x8(%ebp)
404f1e:	e8 3c f4 ff ff       	call   0x40435f
404f23:	33 ff                	xor    %edi,%edi
404f25:	33 db                	xor    %ebx,%ebx
404f27:	39 3d 8c a2 42 00    	cmp    %edi,0x42a28c
404f2d:	0f 8e c5 00 00 00    	jle    0x404ff8
404f33:	8b 45 f0             	mov    -0x10(%ebp),%eax
404f36:	8d 50 08             	lea    0x8(%eax),%edx
404f39:	89 55 e8             	mov    %edx,-0x18(%ebp)
404f3c:	8d 42 10             	lea    0x10(%edx),%eax
404f3f:	66 83 38 00          	cmpw   $0x0,(%eax)
404f43:	0f 84 90 00 00 00    	je     0x404fd9
404f49:	89 45 c8             	mov    %eax,-0x38(%ebp)
404f4c:	8b 02                	mov    (%edx),%eax
404f4e:	6a 20                	push   $0x20
404f50:	8b d0                	mov    %eax,%edx
404f52:	59                   	pop    %ecx
404f53:	89 5d b0             	mov    %ebx,-0x50(%ebp)
404f56:	23 d1                	and    %ecx,%edx
404f58:	c7 45 b4 02 00 ff ff 	movl   $0xffff0002,-0x4c(%ebp)
404f5f:	a8 02                	test   $0x2,%al
404f61:	c7 45 b8 0d 00 00 00 	movl   $0xd,-0x48(%ebp)
404f68:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
404f6b:	89 7d dc             	mov    %edi,-0x24(%ebp)
404f6e:	89 55 c0             	mov    %edx,-0x40(%ebp)
404f71:	74 38                	je     0x404fab
404f73:	8d 45 b0             	lea    -0x50(%ebp),%eax
404f76:	c7 45 b8 4d 00 00 00 	movl   $0x4d,-0x48(%ebp)
404f7d:	50                   	push   %eax
404f7e:	6a 00                	push   $0x0
404f80:	68 32 11 00 00       	push   $0x1132
404f85:	c7 45 d8 01 00 00 00 	movl   $0x1,-0x28(%ebp)
404f8c:	ff 75 fc             	push   -0x4(%ebp)
404f8f:	ff d6                	call   *%esi
404f91:	8b 0d 20 37 42 00    	mov    0x423720,%ecx
404f97:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
404f9e:	89 04 b9             	mov    %eax,(%ecx,%edi,4)
404fa1:	a1 20 37 42 00       	mov    0x423720,%eax
404fa6:	8b 1c b8             	mov    (%eax,%edi,4),%ebx
404fa9:	eb 2e                	jmp    0x404fd9
404fab:	a8 04                	test   $0x4,%al
404fad:	74 11                	je     0x404fc0
404faf:	53                   	push   %ebx
404fb0:	6a 03                	push   $0x3
404fb2:	68 0a 11 00 00       	push   $0x110a
404fb7:	ff 75 fc             	push   -0x4(%ebp)
404fba:	ff d6                	call   *%esi
404fbc:	8b d8                	mov    %eax,%ebx
404fbe:	eb 19                	jmp    0x404fd9
404fc0:	8d 45 b0             	lea    -0x50(%ebp),%eax
404fc3:	50                   	push   %eax
404fc4:	6a 00                	push   $0x0
404fc6:	68 32 11 00 00       	push   $0x1132
404fcb:	ff 75 fc             	push   -0x4(%ebp)
404fce:	ff d6                	call   *%esi
404fd0:	8b 0d 20 37 42 00    	mov    0x423720,%ecx
404fd6:	89 04 b9             	mov    %eax,(%ecx,%edi,4)
404fd9:	8b 55 e8             	mov    -0x18(%ebp),%edx
404fdc:	47                   	inc    %edi
404fdd:	81 c2 18 08 00 00    	add    $0x818,%edx
404fe3:	3b 3d 8c a2 42 00    	cmp    0x42a28c,%edi
404fe9:	89 55 e8             	mov    %edx,-0x18(%ebp)
404fec:	0f 8c 4a ff ff ff    	jl     0x404f3c
404ff2:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
404ff6:	75 19                	jne    0x405011
404ff8:	6a f0                	push   $0xfffffff0
404ffa:	ff 75 fc             	push   -0x4(%ebp)
404ffd:	ff 15 ac 81 40 00    	call   *0x4081ac
405003:	24 fb                	and    $0xfb,%al
405005:	50                   	push   %eax
405006:	6a f0                	push   $0xfffffff0
405008:	ff 75 fc             	push   -0x4(%ebp)
40500b:	ff 15 70 82 40 00    	call   *0x408270
405011:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
405015:	75 18                	jne    0x40502f
405017:	6a 05                	push   $0x5
405019:	ff 75 f8             	push   -0x8(%ebp)
40501c:	ff 15 68 82 40 00    	call   *0x408268
405022:	ff 75 f8             	push   -0x8(%ebp)
405025:	e8 6a f3 ff ff       	call   0x404394
40502a:	e9 80 03 00 00       	jmp    0x4053af
40502f:	ff 75 fc             	push   -0x4(%ebp)
405032:	e8 5d f3 ff ff       	call   0x404394
405037:	33 db                	xor    %ebx,%ebx
405039:	81 7d 0c 05 04 00 00 	cmpl   $0x405,0xc(%ebp)
405040:	75 12                	jne    0x405054
405042:	33 c9                	xor    %ecx,%ecx
405044:	89 5d 10             	mov    %ebx,0x10(%ebp)
405047:	41                   	inc    %ecx
405048:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
40504f:	89 4d 14             	mov    %ecx,0x14(%ebp)
405052:	eb 03                	jmp    0x405057
405054:	8b 4d 14             	mov    0x14(%ebp),%ecx
405057:	83 7d 0c 4e          	cmpl   $0x4e,0xc(%ebp)
40505b:	b8 13 04 00 00       	mov    $0x413,%eax
405060:	74 09                	je     0x40506b
405062:	39 45 0c             	cmp    %eax,0xc(%ebp)
405065:	0f 85 e4 00 00 00    	jne    0x40514f
40506b:	39 45 0c             	cmp    %eax,0xc(%ebp)
40506e:	89 4d f4             	mov    %ecx,-0xc(%ebp)
405071:	74 0d                	je     0x405080
405073:	81 79 04 08 04 00 00 	cmpl   $0x408,0x4(%ecx)
40507a:	0f 85 cf 00 00 00    	jne    0x40514f
405080:	f6 05 5d a2 42 00 02 	testb  $0x2,0x42a25d
405087:	75 73                	jne    0x4050fc
405089:	39 45 0c             	cmp    %eax,0xc(%ebp)
40508c:	74 09                	je     0x405097
40508e:	8b 4d 14             	mov    0x14(%ebp),%ecx
405091:	83 79 08 fe          	cmpl   $0xfffffffe,0x8(%ecx)
405095:	75 65                	jne    0x4050fc
405097:	33 c9                	xor    %ecx,%ecx
405099:	39 45 0c             	cmp    %eax,0xc(%ebp)
40509c:	0f 95 c1             	setne  %cl
40509f:	51                   	push   %ecx
4050a0:	ff 75 fc             	push   -0x4(%ebp)
4050a3:	e8 72 fc ff ff       	call   0x404d1a
4050a8:	8b f8                	mov    %eax,%edi
4050aa:	3b fb                	cmp    %ebx,%edi
4050ac:	7c 4e                	jl     0x4050fc
4050ae:	69 c0 18 08 00 00    	imul   $0x818,%eax,%eax
4050b4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4050b7:	8d 4c 08 08          	lea    0x8(%eax,%ecx,1),%ecx
4050bb:	8b 01                	mov    (%ecx),%eax
4050bd:	a8 10                	test   $0x10,%al
4050bf:	75 3b                	jne    0x4050fc
4050c1:	a8 40                	test   $0x40,%al
4050c3:	74 11                	je     0x4050d6
4050c5:	35 80 00 00 00       	xor    $0x80,%eax
4050ca:	84 c0                	test   %al,%al
4050cc:	79 04                	jns    0x4050d2
4050ce:	0c 01                	or     $0x1,%al
4050d0:	eb 07                	jmp    0x4050d9
4050d2:	24 fe                	and    $0xfe,%al
4050d4:	eb 03                	jmp    0x4050d9
4050d6:	83 f0 01             	xor    $0x1,%eax
4050d9:	57                   	push   %edi
4050da:	89 01                	mov    %eax,(%ecx)
4050dc:	e8 9c c0 ff ff       	call   0x40117d
4050e1:	a1 5c a2 42 00       	mov    0x42a25c,%eax
4050e6:	47                   	inc    %edi
4050e7:	f7 d0                	not    %eax
4050e9:	c1 e8 08             	shr    $0x8,%eax
4050ec:	83 e0 01             	and    $0x1,%eax
4050ef:	89 7d 10             	mov    %edi,0x10(%ebp)
4050f2:	89 45 14             	mov    %eax,0x14(%ebp)
4050f5:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
4050fc:	39 5d f4             	cmp    %ebx,-0xc(%ebp)
4050ff:	74 4e                	je     0x40514f
405101:	8b 45 f4             	mov    -0xc(%ebp),%eax
405104:	81 78 08 3d fe ff ff 	cmpl   $0xfffffe3d,0x8(%eax)
40510b:	75 0e                	jne    0x40511b
40510d:	ff 70 5c             	push   0x5c(%eax)
405110:	53                   	push   %ebx
405111:	68 19 04 00 00       	push   $0x419
405116:	ff 75 fc             	push   -0x4(%ebp)
405119:	ff d6                	call   *%esi
40511b:	8b 45 f4             	mov    -0xc(%ebp),%eax
40511e:	81 78 08 39 fe ff ff 	cmpl   $0xfffffe39,0x8(%eax)
405125:	75 28                	jne    0x40514f
405127:	83 78 0c 02          	cmpl   $0x2,0xc(%eax)
40512b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40512e:	8b 40 5c             	mov    0x5c(%eax),%eax
405131:	75 0f                	jne    0x405142
405133:	69 c0 18 08 00 00    	imul   $0x818,%eax,%eax
405139:	8d 44 08 08          	lea    0x8(%eax,%ecx,1),%eax
40513d:	83 08 20             	orl    $0x20,(%eax)
405140:	eb 0d                	jmp    0x40514f
405142:	69 c0 18 08 00 00    	imul   $0x818,%eax,%eax
405148:	8d 44 08 08          	lea    0x8(%eax,%ecx,1),%eax
40514c:	83 20 df             	andl   $0xffffffdf,(%eax)
40514f:	81 7d 0c 11 01 00 00 	cmpl   $0x111,0xc(%ebp)
405156:	75 6f                	jne    0x4051c7
405158:	66 81 7d 10 f9 03    	cmpw   $0x3f9,0x10(%ebp)
40515e:	0f 85 4b 02 00 00    	jne    0x4053af
405164:	8b 45 10             	mov    0x10(%ebp),%eax
405167:	c1 e8 10             	shr    $0x10,%eax
40516a:	66 3d 01 00          	cmp    $0x1,%ax
40516e:	0f 85 3b 02 00 00    	jne    0x4053af
405174:	53                   	push   %ebx
405175:	53                   	push   %ebx
405176:	68 47 01 00 00       	push   $0x147
40517b:	ff 75 f8             	push   -0x8(%ebp)
40517e:	ff d6                	call   *%esi
405180:	83 f8 ff             	cmp    $0xffffffff,%eax
405183:	0f 84 26 02 00 00    	je     0x4053af
405189:	53                   	push   %ebx
40518a:	50                   	push   %eax
40518b:	68 50 01 00 00       	push   $0x150
405190:	ff 75 f8             	push   -0x8(%ebp)
405193:	ff d6                	call   *%esi
405195:	8b f8                	mov    %eax,%edi
405197:	83 ff ff             	cmp    $0xffffffff,%edi
40519a:	74 08                	je     0x4051a4
40519c:	8b 45 ec             	mov    -0x14(%ebp),%eax
40519f:	39 1c b8             	cmp    %ebx,(%eax,%edi,4)
4051a2:	75 03                	jne    0x4051a7
4051a4:	6a 20                	push   $0x20
4051a6:	5f                   	pop    %edi
4051a7:	57                   	push   %edi
4051a8:	e8 ec c0 ff ff       	call   0x401299
4051ad:	57                   	push   %edi
4051ae:	53                   	push   %ebx
4051af:	68 20 04 00 00       	push   $0x420
4051b4:	ff 75 08             	push   0x8(%ebp)
4051b7:	ff d6                	call   *%esi
4051b9:	83 4d 10 ff          	orl    $0xffffffff,0x10(%ebp)
4051bd:	89 5d 14             	mov    %ebx,0x14(%ebp)
4051c0:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
4051c7:	b8 00 02 00 00       	mov    $0x200,%eax
4051cc:	39 45 0c             	cmp    %eax,0xc(%ebp)
4051cf:	75 08                	jne    0x4051d9
4051d1:	53                   	push   %ebx
4051d2:	53                   	push   %ebx
4051d3:	50                   	push   %eax
4051d4:	ff 75 fc             	push   -0x4(%ebp)
4051d7:	ff d6                	call   *%esi
4051d9:	81 7d 0c 0b 04 00 00 	cmpl   $0x40b,0xc(%ebp)
4051e0:	75 32                	jne    0x405214
4051e2:	a1 0c 37 42 00       	mov    0x42370c,%eax
4051e7:	3b c3                	cmp    %ebx,%eax
4051e9:	74 07                	je     0x4051f2
4051eb:	50                   	push   %eax
4051ec:	ff 15 40 80 40 00    	call   *0x408040
4051f2:	a1 20 37 42 00       	mov    0x423720,%eax
4051f7:	3b c3                	cmp    %ebx,%eax
4051f9:	74 07                	je     0x405202
4051fb:	50                   	push   %eax
4051fc:	ff 15 28 81 40 00    	call   *0x408128
405202:	89 1d 0c 37 42 00    	mov    %ebx,0x42370c
405208:	89 1d 20 37 42 00    	mov    %ebx,0x423720
40520e:	89 1d c0 a2 42 00    	mov    %ebx,0x42a2c0
405214:	81 7d 0c 0f 04 00 00 	cmpl   $0x40f,0xc(%ebp)
40521b:	0f 85 50 01 00 00    	jne    0x405371
405221:	53                   	push   %ebx
405222:	53                   	push   %ebx
405223:	e8 c7 bf ff ff       	call   0x4011ef
405228:	8b 45 10             	mov    0x10(%ebp),%eax
40522b:	3b c3                	cmp    %ebx,%eax
40522d:	74 0e                	je     0x40523d
40522f:	83 f8 ff             	cmp    $0xffffffff,%eax
405232:	74 01                	je     0x405235
405234:	48                   	dec    %eax
405235:	50                   	push   %eax
405236:	6a 08                	push   $0x8
405238:	e8 5d fb ff ff       	call   0x404d9a
40523d:	39 5d 14             	cmp    %ebx,0x14(%ebp)
405240:	74 3f                	je     0x405281
405242:	ff 35 20 37 42 00    	push   0x423720
405248:	e8 95 c0 ff ff       	call   0x4012e2
40524d:	8b f8                	mov    %eax,%edi
40524f:	57                   	push   %edi
405250:	e8 44 c0 ff ff       	call   0x401299
405255:	33 c0                	xor    %eax,%eax
405257:	33 c9                	xor    %ecx,%ecx
405259:	3b fb                	cmp    %ebx,%edi
40525b:	7e 0e                	jle    0x40526b
40525d:	8b 55 ec             	mov    -0x14(%ebp),%edx
405260:	39 1c 82             	cmp    %ebx,(%edx,%eax,4)
405263:	74 01                	je     0x405266
405265:	41                   	inc    %ecx
405266:	40                   	inc    %eax
405267:	3b c7                	cmp    %edi,%eax
405269:	7c f2                	jl     0x40525d
40526b:	53                   	push   %ebx
40526c:	51                   	push   %ecx
40526d:	68 4e 01 00 00       	push   $0x14e
405272:	ff 75 f8             	push   -0x8(%ebp)
405275:	ff d6                	call   *%esi
405277:	89 7d 14             	mov    %edi,0x14(%ebp)
40527a:	c7 45 0c 20 04 00 00 	movl   $0x420,0xc(%ebp)
405281:	53                   	push   %ebx
405282:	53                   	push   %ebx
405283:	e8 67 bf ff ff       	call   0x4011ef
405288:	a1 20 37 42 00       	mov    0x423720,%eax
40528d:	39 1d 8c a2 42 00    	cmp    %ebx,0x42a28c
405293:	89 45 e4             	mov    %eax,-0x1c(%ebp)
405296:	a1 88 a2 42 00       	mov    0x42a288,%eax
40529b:	c7 45 c8 30 f0 00 00 	movl   $0xf030,-0x38(%ebp)
4052a2:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4052a5:	0f 8e 9c 00 00 00    	jle    0x405347
4052ab:	8d 78 08             	lea    0x8(%eax),%edi
4052ae:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4052b1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4052b4:	8b 04 88             	mov    (%eax,%ecx,4),%eax
4052b7:	3b c3                	cmp    %ebx,%eax
4052b9:	74 74                	je     0x40532f
4052bb:	8b 0f                	mov    (%edi),%ecx
4052bd:	89 45 c0             	mov    %eax,-0x40(%ebp)
4052c0:	f6 c5 01             	test   $0x1,%ch
4052c3:	c7 45 bc 08 00 00 00 	movl   $0x8,-0x44(%ebp)
4052ca:	74 11                	je     0x4052dd
4052cc:	8d 47 10             	lea    0x10(%edi),%eax
4052cf:	c7 45 bc 09 00 00 00 	movl   $0x9,-0x44(%ebp)
4052d6:	89 45 cc             	mov    %eax,-0x34(%ebp)
4052d9:	80 67 01 fe          	andb   $0xfe,0x1(%edi)
4052dd:	f6 c1 40             	test   $0x40,%cl
4052e0:	74 05                	je     0x4052e7
4052e2:	6a 03                	push   $0x3
4052e4:	58                   	pop    %eax
4052e5:	eb 0e                	jmp    0x4052f5
4052e7:	8b c1                	mov    %ecx,%eax
4052e9:	83 e0 01             	and    $0x1,%eax
4052ec:	40                   	inc    %eax
4052ed:	f6 c1 10             	test   $0x10,%cl
4052f0:	74 03                	je     0x4052f5
4052f2:	83 c0 03             	add    $0x3,%eax
4052f5:	8b d1                	mov    %ecx,%edx
4052f7:	ff 75 c0             	push   -0x40(%ebp)
4052fa:	c1 e0 0b             	shl    $0xb,%eax
4052fd:	83 e2 08             	and    $0x8,%edx
405300:	0b c2                	or     %edx,%eax
405302:	8b d1                	mov    %ecx,%edx
405304:	c1 f9 05             	sar    $0x5,%ecx
405307:	03 c0                	add    %eax,%eax
405309:	83 e2 20             	and    $0x20,%edx
40530c:	83 e1 01             	and    $0x1,%ecx
40530f:	0b c2                	or     %edx,%eax
405311:	41                   	inc    %ecx
405312:	89 45 c4             	mov    %eax,-0x3c(%ebp)
405315:	51                   	push   %ecx
405316:	68 02 11 00 00       	push   $0x1102
40531b:	ff 75 fc             	push   -0x4(%ebp)
40531e:	ff d6                	call   *%esi
405320:	8d 45 bc             	lea    -0x44(%ebp),%eax
405323:	50                   	push   %eax
405324:	53                   	push   %ebx
405325:	68 3f 11 00 00       	push   $0x113f
40532a:	ff 75 fc             	push   -0x4(%ebp)
40532d:	ff d6                	call   *%esi
40532f:	ff 45 f0             	incl   -0x10(%ebp)
405332:	81 c7 18 08 00 00    	add    $0x818,%edi