403f12:	e8 c9 f7 ff ff       	call   0x4036e0
403f17:	8b 55 f0             	mov    -0x10(%ebp),%edx
403f1a:	3b d6                	cmp    %esi,%edx
403f1c:	8b 75 f4             	mov    -0xc(%ebp),%esi
403f1f:	89 45 ec             	mov    %eax,-0x14(%ebp)
403f22:	77 4f                	ja     0x403f73
403f24:	8b 0b                	mov    (%ebx),%ecx
403f26:	8d 14 50             	lea    (%eax,%edx,2),%edx
403f29:	8b 79 f8             	mov    -0x8(%ecx),%edi
403f2c:	8d 0c 36             	lea    (%esi,%esi,1),%ecx
403f2f:	85 c9                	test   %ecx,%ecx
403f31:	74 53                	je     0x403f86
403f33:	85 c0                	test   %eax,%eax
403f35:	75 12                	jne    0x403f49
403f37:	e8 97 ad 00 00       	call   0x40ecd3
403f3c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
403f42:	e8 cf ac 00 00       	call   0x40ec16
403f47:	eb 3d                	jmp    0x403f86
403f49:	85 d2                	test   %edx,%edx
403f4b:	74 ea                	je     0x403f37
403f4d:	8d 04 3f             	lea    (%edi,%edi,1),%eax
403f50:	3b c1                	cmp    %ecx,%eax
403f52:	73 0d                	jae    0x403f61
403f54:	e8 7a ad 00 00       	call   0x40ecd3
403f59:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
403f5f:	eb e1                	jmp    0x403f42
403f61:	51                   	push   %ecx
403f62:	52                   	push   %edx
403f63:	ff 75 ec             	push   -0x14(%ebp)
403f66:	0f ae e8             	lfence
403f69:	e8 62 5c 00 00       	call   0x409bd0
403f6e:	83 c4 0c             	add    $0xc,%esp
403f71:	eb 13                	jmp    0x403f86
403f73:	0f ae e8             	lfence
403f76:	8b 13                	mov    (%ebx),%edx
403f78:	8b c8                	mov    %eax,%ecx
403f7a:	56                   	push   %esi
403f7b:	57                   	push   %edi
403f7c:	8b 52 f8             	mov    -0x8(%edx),%edx
403f7f:	e8 04 fd ff ff       	call   0x403c88
403f84:	59                   	pop    %ecx
403f85:	59                   	pop    %ecx
403f86:	56                   	push   %esi
403f87:	8b cb                	mov    %ebx,%ecx
403f89:	e8 f1 f9 ff ff       	call   0x40397f
403f8e:	eb 07                	jmp    0x403f97
403f90:	8b cb                	mov    %ebx,%ecx
403f92:	e8 af f7 ff ff       	call   0x403746
403f97:	ff 75 f8             	push   -0x8(%ebp)
403f9a:	ff 15 c4 c1 41 00    	call   *0x41c1c4
403fa0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
403fa3:	5f                   	pop    %edi
403fa4:	5e                   	pop    %esi
403fa5:	33 cd                	xor    %ebp,%ecx
403fa7:	5b                   	pop    %ebx
403fa8:	e8 48 4c 00 00       	call   0x408bf5
403fad:	c9                   	leave
403fae:	c2 08 00             	ret    $0x8
403fb1:	e8 97 fd ff ff       	call   0x403d4d
403fb6:	cc                   	int3
403fb7:	55                   	push   %ebp
403fb8:	8b ec                	mov    %esp,%ebp
403fba:	81 ec 10 08 00 00    	sub    $0x810,%esp
403fc0:	a1 18 60 42 00       	mov    0x426018,%eax
403fc5:	33 c5                	xor    %ebp,%eax
403fc7:	89 45 fc             	mov    %eax,-0x4(%ebp)
403fca:	8b 45 0c             	mov    0xc(%ebp),%eax
403fcd:	53                   	push   %ebx
403fce:	56                   	push   %esi
403fcf:	8b 75 08             	mov    0x8(%ebp),%esi
403fd2:	8b d9                	mov    %ecx,%ebx
403fd4:	89 85 f0 f7 ff ff    	mov    %eax,-0x810(%ebp)
403fda:	57                   	push   %edi
403fdb:	85 f6                	test   %esi,%esi
403fdd:	0f 84 bf 00 00 00    	je     0x4040a2
403fe3:	50                   	push   %eax
403fe4:	6a 00                	push   $0x0
403fe6:	56                   	push   %esi
403fe7:	8d 85 f8 f7 ff ff    	lea    -0x808(%ebp),%eax
403fed:	68 01 04 00 00       	push   $0x401
403ff2:	50                   	push   %eax
403ff3:	e8 28 d0 ff ff       	call   0x401020
403ff8:	ff 70 04             	push   0x4(%eax)
403ffb:	ff 30                	push   (%eax)
403ffd:	e8 df 9a 00 00       	call   0x40dae1
404002:	8b f8                	mov    %eax,%edi
404004:	83 c4 1c             	add    $0x1c,%esp
404007:	85 ff                	test   %edi,%edi
404009:	0f 88 8c 00 00 00    	js     0x40409b
40400f:	0f ae e8             	lfence
404012:	83 a5 f4 f7 ff ff 00 	andl   $0x0,-0x80c(%ebp)
404019:	8b cb                	mov    %ebx,%ecx
40401b:	e8 5a f8 ff ff       	call   0x40387a
404020:	50                   	push   %eax
404021:	8d 8d f4 f7 ff ff    	lea    -0x80c(%ebp),%ecx
404027:	e8 d0 fa ff ff       	call   0x403afc
40402c:	f7 c6 00 00 ff ff    	test   $0xffff0000,%esi
404032:	75 11                	jne    0x404045
404034:	0f b7 c6             	movzwl %si,%eax
404037:	8d 8d f4 f7 ff ff    	lea    -0x80c(%ebp),%ecx
40403d:	50                   	push   %eax
40403e:	e8 34 f4 ff ff       	call   0x403477
404043:	eb 14                	jmp    0x404059
404045:	56                   	push   %esi
404046:	e8 e6 c9 00 00       	call   0x410a31
40404b:	59                   	pop    %ecx
40404c:	50                   	push   %eax
40404d:	56                   	push   %esi
40404e:	8d 8d f4 f7 ff ff    	lea    -0x80c(%ebp),%ecx
404054:	e8 51 f9 ff ff       	call   0x4039aa
404059:	57                   	push   %edi
40405a:	8b cb                	mov    %ebx,%ecx
40405c:	e8 7f f6 ff ff       	call   0x4036e0
404061:	ff b5 f0 f7 ff ff    	push   -0x810(%ebp)
404067:	8b b5 f4 f7 ff ff    	mov    -0x80c(%ebp),%esi
40406d:	8d 57 01             	lea    0x1(%edi),%edx
404070:	56                   	push   %esi
404071:	8b c8                	mov    %eax,%ecx
404073:	e8 0b d5 ff ff       	call   0x401583
404078:	59                   	pop    %ecx
404079:	59                   	pop    %ecx
40407a:	57                   	push   %edi
40407b:	8b cb                	mov    %ebx,%ecx
40407d:	e8 fd f8 ff ff       	call   0x40397f
404082:	8d 4e f0             	lea    -0x10(%esi),%ecx
404085:	e8 78 d2 ff ff       	call   0x401302
40408a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40408d:	5f                   	pop    %edi
40408e:	5e                   	pop    %esi
40408f:	33 cd                	xor    %ebp,%ecx
404091:	5b                   	pop    %ebx
404092:	e8 5e 4b 00 00       	call   0x408bf5
404097:	c9                   	leave
404098:	c2 08 00             	ret    $0x8
40409b:	68 05 40 00 80       	push   $0x80004005
4040a0:	eb 05                	jmp    0x4040a7
4040a2:	68 57 00 07 80       	push   $0x80070057
4040a7:	e8 13 d0 ff ff       	call   0x4010bf
4040ac:	cc                   	int3
4040ad:	cc                   	int3
4040ae:	cc                   	int3
4040af:	cc                   	int3
4040b0:	55                   	push   %ebp
4040b1:	8b ec                	mov    %esp,%ebp
4040b3:	56                   	push   %esi
4040b4:	8b f1                	mov    %ecx,%esi
4040b6:	c7 06 bc 33 42 00    	movl   $0x4233bc,(%esi)
4040bc:	e8 1f 00 00 00       	call   0x4040e0
4040c1:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4040c5:	74 0a                	je     0x4040d1
4040c7:	6a 08                	push   $0x8
4040c9:	56                   	push   %esi
4040ca:	e8 21 51 01 00       	call   0x4191f0
4040cf:	59                   	pop    %ecx
4040d0:	59                   	pop    %ecx
4040d1:	8b c6                	mov    %esi,%eax
4040d3:	5e                   	pop    %esi
4040d4:	5d                   	pop    %ebp
4040d5:	c2 04 00             	ret    $0x4
4040d8:	cc                   	int3
4040d9:	cc                   	int3
4040da:	cc                   	int3
4040db:	cc                   	int3
4040dc:	cc                   	int3
4040dd:	cc                   	int3
4040de:	cc                   	int3
4040df:	cc                   	int3
4040e0:	55                   	push   %ebp
4040e1:	8b ec                	mov    %esp,%ebp
4040e3:	83 ec 20             	sub    $0x20,%esp
4040e6:	a1 18 60 42 00       	mov    0x426018,%eax
4040eb:	33 c5                	xor    %ebp,%eax
4040ed:	89 45 fc             	mov    %eax,-0x4(%ebp)
4040f0:	56                   	push   %esi
4040f1:	8b f1                	mov    %ecx,%esi
4040f3:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
4040f7:	0f 84 b3 00 00 00    	je     0x4041b0
4040fd:	33 c0                	xor    %eax,%eax
4040ff:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
404103:	8d 45 ec             	lea    -0x14(%ebp),%eax
404106:	50                   	push   %eax
404107:	8d 45 f8             	lea    -0x8(%ebp),%eax
40410a:	50                   	push   %eax
40410b:	ff 76 04             	push   0x4(%esi)
40410e:	ff 15 58 c0 41 00    	call   *0x41c058
404114:	85 c0                	test   %eax,%eax
404116:	0f 84 87 00 00 00    	je     0x4041a3
40411c:	0f b7 45 f8          	movzwl -0x8(%ebp),%eax
404120:	a9 00 80 00 00       	test   $0x8000,%eax
404125:	75 7c                	jne    0x4041a3
404127:	8d 45 f4             	lea    -0xc(%ebp),%eax
40412a:	50                   	push   %eax
40412b:	8d 45 e8             	lea    -0x18(%ebp),%eax
40412e:	50                   	push   %eax
40412f:	ff 76 04             	push   0x4(%esi)
404132:	ff 15 5c c0 41 00    	call   *0x41c05c
404138:	ff 75 e8             	push   -0x18(%ebp)
40413b:	e8 3b 81 00 00       	call   0x40c27b
404140:	59                   	pop    %ecx
404141:	8d 45 f4             	lea    -0xc(%ebp),%eax
404144:	50                   	push   %eax
404145:	8d 45 e4             	lea    -0x1c(%ebp),%eax
404148:	50                   	push   %eax
404149:	ff 76 04             	push   0x4(%esi)
40414c:	ff 15 54 c0 41 00    	call   *0x41c054
404152:	ff 75 e4             	push   -0x1c(%ebp)
404155:	e8 21 81 00 00       	call   0x40c27b
40415a:	59                   	pop    %ecx
40415b:	8d 45 f4             	lea    -0xc(%ebp),%eax
40415e:	50                   	push   %eax
40415f:	8d 45 e0             	lea    -0x20(%ebp),%eax
404162:	50                   	push   %eax
404163:	8d 45 f0             	lea    -0x10(%ebp),%eax
404166:	50                   	push   %eax
404167:	ff 76 04             	push   0x4(%esi)
40416a:	ff 15 50 c0 41 00    	call   *0x41c050
404170:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
404174:	74 09                	je     0x40417f
404176:	ff 75 e0             	push   -0x20(%ebp)
404179:	e8 fd 80 00 00       	call   0x40c27b
40417e:	59                   	pop    %ecx
40417f:	8d 45 f4             	lea    -0xc(%ebp),%eax
404182:	50                   	push   %eax
404183:	8d 45 ec             	lea    -0x14(%ebp),%eax
404186:	50                   	push   %eax
404187:	8d 45 f0             	lea    -0x10(%ebp),%eax
40418a:	50                   	push   %eax
40418b:	ff 76 04             	push   0x4(%esi)
40418e:	ff 15 4c c0 41 00    	call   *0x41c04c
404194:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
404198:	74 09                	je     0x4041a3
40419a:	ff 75 ec             	push   -0x14(%ebp)
40419d:	e8 d9 80 00 00       	call   0x40c27b
4041a2:	59                   	pop    %ecx
4041a3:	ff 76 04             	push   0x4(%esi)
4041a6:	e8 d0 80 00 00       	call   0x40c27b
4041ab:	83 66 04 00          	andl   $0x0,0x4(%esi)
4041af:	59                   	pop    %ecx
4041b0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4041b3:	33 cd                	xor    %ebp,%ecx
4041b5:	5e                   	pop    %esi
4041b6:	e8 3a 4a 00 00       	call   0x408bf5
4041bb:	c9                   	leave
4041bc:	c3                   	ret
4041bd:	55                   	push   %ebp
4041be:	8b ec                	mov    %esp,%ebp
4041c0:	83 ec 10             	sub    $0x10,%esp
4041c3:	53                   	push   %ebx
4041c4:	56                   	push   %esi
4041c5:	57                   	push   %edi
4041c6:	8b f1                	mov    %ecx,%esi
4041c8:	8b fa                	mov    %edx,%edi
4041ca:	56                   	push   %esi
4041cb:	68 50 2d 42 00       	push   $0x422d50
4041d0:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4041d3:	e8 09 11 00 00       	call   0x4052e1
4041d8:	56                   	push   %esi
4041d9:	68 ac 2c 42 00       	push   $0x422cac
4041de:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4041e1:	8b d8                	mov    %eax,%ebx
4041e3:	e8 f9 10 00 00       	call   0x4052e1
4041e8:	83 c4 10             	add    $0x10,%esp
4041eb:	80 78 04 00          	cmpb   $0x0,0x4(%eax)
4041ef:	74 02                	je     0x4041f3
4041f1:	8b 38                	mov    (%eax),%edi
4041f3:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
4041f7:	74 02                	je     0x4041fb
4041f9:	8b 3b                	mov    (%ebx),%edi
4041fb:	8b c7                	mov    %edi,%eax
4041fd:	5f                   	pop    %edi
4041fe:	5e                   	pop    %esi
4041ff:	5b                   	pop    %ebx
404200:	c9                   	leave
404201:	c3                   	ret
404202:	55                   	push   %ebp
404203:	8b ec                	mov    %esp,%ebp
404205:	83 e4 f8             	and    $0xfffffff8,%esp
404208:	83 ec 20             	sub    $0x20,%esp
40420b:	a1 18 60 42 00       	mov    0x426018,%eax
404210:	33 c4                	xor    %esp,%eax
404212:	89 44 24 1c          	mov    %eax,0x1c(%esp)
404216:	8b 45 08             	mov    0x8(%ebp),%eax
404219:	56                   	push   %esi
40421a:	8b f1                	mov    %ecx,%esi
40421c:	57                   	push   %edi
40421d:	33 ff                	xor    %edi,%edi
40421f:	89 06                	mov    %eax,(%esi)
404221:	8b 45 0c             	mov    0xc(%ebp),%eax
404224:	89 46 04             	mov    %eax,0x4(%esi)
404227:	8b 45 14             	mov    0x14(%ebp),%eax
40422a:	89 46 08             	mov    %eax,0x8(%esi)
40422d:	8a 45 10             	mov    0x10(%ebp),%al
404230:	89 7e 10             	mov    %edi,0x10(%esi)
404233:	88 46 14             	mov    %al,0x14(%esi)
404236:	c6 46 15 01          	movb   $0x1,0x15(%esi)
40423a:	89 7e 18             	mov    %edi,0x18(%esi)
40423d:	84 c0                	test   %al,%al
40423f:	74 4e                	je     0x40428f
404241:	e8 e5 d0 ff ff       	call   0x40132b
404246:	50                   	push   %eax
404247:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
40424b:	e8 ac f8 ff ff       	call   0x403afc
404250:	8d 54 24 08          	lea    0x8(%esp),%edx
404254:	c7 44 24 18 bc 33 42 	movl   $0x4233bc,0x18(%esp)
40425b:	00
40425c:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
404260:	89 7c 24 0c          	mov    %edi,0xc(%esp)
404264:	89 7c 24 10          	mov    %edi,0x10(%esp)
404268:	89 7c 24 14          	mov    %edi,0x14(%esp)
40426c:	e8 7b 21 00 00       	call   0x4063ec
404271:	ff 74 24 08          	push   0x8(%esp)
404275:	8d 44 24 10          	lea    0x10(%esp),%eax
404279:	57                   	push   %edi
40427a:	6a 01                	push   $0x1
40427c:	50                   	push   %eax
40427d:	ff 15 e8 c1 41 00    	call   *0x41c1e8
404283:	8d 4c 24 08          	lea    0x8(%esp),%ecx
404287:	89 46 18             	mov    %eax,0x18(%esi)
40428a:	e8 3d 00 00 00       	call   0x4042cc
40428f:	57                   	push   %edi
404290:	6a 01                	push   $0x1
404292:	57                   	push   %edi
404293:	ff 15 dc c1 41 00    	call   *0x41c1dc
404299:	89 46 0c             	mov    %eax,0xc(%esi)
40429c:	85 c0                	test   %eax,%eax
40429e:	74 17                	je     0x4042b7
4042a0:	8d 44 24 20          	lea    0x20(%esp),%eax
4042a4:	50                   	push   %eax
4042a5:	57                   	push   %edi
4042a6:	56                   	push   %esi
4042a7:	68 40 43 40 00       	push   $0x404340
4042ac:	57                   	push   %edi
4042ad:	57                   	push   %edi
4042ae:	ff 15 f0 c1 41 00    	call   *0x41c1f0
4042b4:	89 46 10             	mov    %eax,0x10(%esi)
4042b7:	8b 4c 24 24          	mov    0x24(%esp),%ecx
4042bb:	8b c6                	mov    %esi,%eax
4042bd:	5f                   	pop    %edi
4042be:	5e                   	pop    %esi
4042bf:	33 cc                	xor    %esp,%ecx
4042c1:	e8 2f 49 00 00       	call   0x408bf5
4042c6:	8b e5                	mov    %ebp,%esp
4042c8:	5d                   	pop    %ebp
4042c9:	c2 10 00             	ret    $0x10
4042cc:	56                   	push   %esi
4042cd:	8b f1                	mov    %ecx,%esi
4042cf:	8d 4e 10             	lea    0x10(%esi),%ecx
4042d2:	c7 01 bc 33 42 00    	movl   $0x4233bc,(%ecx)
4042d8:	e8 03 fe ff ff       	call   0x4040e0
4042dd:	8b 0e                	mov    (%esi),%ecx