403fe4:	5e                   	pop    %esi
403fe5:	c3                   	ret
403fe6:	8b ff                	mov    %edi,%edi
403fe8:	53                   	push   %ebx
403fe9:	56                   	push   %esi
403fea:	8b f1                	mov    %ecx,%esi
403fec:	33 db                	xor    %ebx,%ebx
403fee:	6a ff                	push   $0xffffffff
403ff0:	ff b6 90 00 00 00    	push   0x90(%esi)
403ff6:	ff 15 34 71 40 00    	call   *0x407134
403ffc:	ff b6 98 00 00 00    	push   0x98(%esi)
404002:	88 9e 94 00 00 00    	mov    %bl,0x94(%esi)
404008:	ff b6 90 00 00 00    	push   0x90(%esi)
40400e:	ff 15 34 71 40 00    	call   *0x407134
404014:	85 c0                	test   %eax,%eax
404016:	74 e4                	je     0x403ffc
404018:	38 9e 94 00 00 00    	cmp    %bl,0x94(%esi)
40401e:	75 ce                	jne    0x403fee
404020:	39 5e 14             	cmp    %ebx,0x14(%esi)
404023:	75 c9                	jne    0x403fee
404025:	ff 15 1c 70 40 00    	call   *0x40701c
40402b:	38 9e 94 00 00 00    	cmp    %bl,0x94(%esi)
404031:	75 bb                	jne    0x403fee
404033:	39 5e 14             	cmp    %ebx,0x14(%esi)
404036:	75 b6                	jne    0x403fee
404038:	ff b6 90 00 00 00    	push   0x90(%esi)
40403e:	ff 15 58 70 40 00    	call   *0x407058
404044:	85 c0                	test   %eax,%eax
404046:	74 06                	je     0x40404e
404048:	89 9e 90 00 00 00    	mov    %ebx,0x90(%esi)
40404e:	53                   	push   %ebx
40404f:	53                   	push   %ebx
404050:	6a 12                	push   $0x12
404052:	ff b6 84 00 00 00    	push   0x84(%esi)
404058:	ff 15 28 80 40 00    	call   *0x408028
40405e:	5e                   	pop    %esi
40405f:	5b                   	pop    %ebx
404060:	c3                   	ret
404061:	8b ff                	mov    %edi,%edi
404063:	55                   	push   %ebp
404064:	8b ec                	mov    %esp,%ebp
404066:	51                   	push   %ecx
404067:	51                   	push   %ecx
404068:	56                   	push   %esi
404069:	33 f6                	xor    %esi,%esi
40406b:	56                   	push   %esi
40406c:	56                   	push   %esi
40406d:	56                   	push   %esi
40406e:	56                   	push   %esi
40406f:	ff 15 3c 71 40 00    	call   *0x40713c
404075:	a3 60 64 40 00       	mov    %eax,0x406460
40407a:	85 c0                	test   %eax,%eax
40407c:	75 04                	jne    0x404082
40407e:	32 c0                	xor    %al,%al
404080:	eb 35                	jmp    0x4040b7
404082:	8d 45 f8             	lea    -0x8(%ebp),%eax
404085:	89 75 f8             	mov    %esi,-0x8(%ebp)
404088:	50                   	push   %eax
404089:	56                   	push   %esi
40408a:	68 d0 63 40 00       	push   $0x4063d0
40408f:	68 c0 40 40 00       	push   $0x4040c0
404094:	56                   	push   %esi
404095:	56                   	push   %esi
404096:	ff 15 b8 71 40 00    	call   *0x4071b8
40409c:	83 c4 18             	add    $0x18,%esp
40409f:	85 c0                	test   %eax,%eax
4040a1:	0f 95 c1             	setne  %cl
4040a4:	88 4d ff             	mov    %cl,-0x1(%ebp)
4040a7:	85 c0                	test   %eax,%eax
4040a9:	74 0a                	je     0x4040b5
4040ab:	50                   	push   %eax
4040ac:	ff 15 58 70 40 00    	call   *0x407058
4040b2:	8a 4d ff             	mov    -0x1(%ebp),%cl
4040b5:	8a c1                	mov    %cl,%al
4040b7:	5e                   	pop    %esi
4040b8:	c9                   	leave
4040b9:	c3                   	ret
4040ba:	cc                   	int3
4040bb:	cc                   	int3
4040bc:	cc                   	int3
4040bd:	cc                   	int3
4040be:	cc                   	int3
4040bf:	cc                   	int3
4040c0:	8b ff                	mov    %edi,%edi
4040c2:	55                   	push   %ebp
4040c3:	8b ec                	mov    %esp,%ebp
4040c5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4040c8:	e8 19 ff ff ff       	call   0x403fe6
4040cd:	33 c0                	xor    %eax,%eax
4040cf:	5d                   	pop    %ebp
4040d0:	c2 04 00             	ret    $0x4
4040d3:	cc                   	int3
4040d4:	cc                   	int3
4040d5:	cc                   	int3
4040d6:	cc                   	int3
4040d7:	cc                   	int3
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:	c2 04 00             	ret    $0x4
4040e3:	cc                   	int3
4040e4:	cc                   	int3
4040e5:	cc                   	int3
4040e6:	cc                   	int3
4040e7:	cc                   	int3
4040e8:	cc                   	int3
4040e9:	cc                   	int3
4040ea:	cc                   	int3
4040eb:	cc                   	int3
4040ec:	cc                   	int3
4040ed:	cc                   	int3
4040ee:	cc                   	int3
4040ef:	cc                   	int3
4040f0:	8b ff                	mov    %edi,%edi
4040f2:	55                   	push   %ebp
4040f3:	8b ec                	mov    %esp,%ebp
4040f5:	8b 4d 14             	mov    0x14(%ebp),%ecx
4040f8:	b8 03 40 00 80       	mov    $0x80004003,%eax
4040fd:	85 c9                	test   %ecx,%ecx
4040ff:	74 45                	je     0x404146
404101:	8b 45 10             	mov    0x10(%ebp),%eax
404104:	33 d2                	xor    %edx,%edx
404106:	89 11                	mov    %edx,(%ecx)
404108:	39 55 0c             	cmp    %edx,0xc(%ebp)
40410b:	74 22                	je     0x40412f
40410d:	39 10                	cmp    %edx,(%eax)
40410f:	75 17                	jne    0x404128
404111:	39 50 04             	cmp    %edx,0x4(%eax)
404114:	75 12                	jne    0x404128
404116:	81 78 08 c0 00 00 00 	cmpl   $0xc0,0x8(%eax)
40411d:	75 09                	jne    0x404128
40411f:	81 78 0c 00 00 00 46 	cmpl   $0x46000000,0xc(%eax)
404126:	74 07                	je     0x40412f
404128:	b8 10 01 04 80       	mov    $0x80040110,%eax
40412d:	eb 17                	jmp    0x404146
40412f:	56                   	push   %esi
404130:	51                   	push   %ecx
404131:	50                   	push   %eax
404132:	8b 45 08             	mov    0x8(%ebp),%eax
404135:	ff 75 0c             	push   0xc(%ebp)
404138:	8b 70 24             	mov    0x24(%eax),%esi
40413b:	8b ce                	mov    %esi,%ecx
40413d:	ff 15 d0 71 40 00    	call   *0x4071d0
404143:	ff d6                	call   *%esi
404145:	5e                   	pop    %esi
404146:	5d                   	pop    %ebp
404147:	c2 10 00             	ret    $0x10
40414a:	cc                   	int3
40414b:	cc                   	int3
40414c:	cc                   	int3
40414d:	cc                   	int3
40414e:	cc                   	int3
40414f:	cc                   	int3
404150:	8b ff                	mov    %edi,%edi
404152:	55                   	push   %ebp
404153:	8b ec                	mov    %esp,%ebp
404155:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
404159:	74 09                	je     0x404164
40415b:	f0 ff 05 e4 63 40 00 	lock incl 0x4063e4
404162:	eb 05                	jmp    0x404169
404164:	e8 55 fe ff ff       	call   0x403fbe
404169:	33 c0                	xor    %eax,%eax
40416b:	5d                   	pop    %ebp
40416c:	c2 08 00             	ret    $0x8
40416f:	cc                   	int3
404170:	8b ff                	mov    %edi,%edi
404172:	55                   	push   %ebp
404173:	8b ec                	mov    %esp,%ebp
404175:	51                   	push   %ecx
404176:	ff 75 08             	push   0x8(%ebp)
404179:	e8 ad f0 ff ff       	call   0x40322b
40417e:	5d                   	pop    %ebp
40417f:	c2 04 00             	ret    $0x4
404182:	8b ff                	mov    %edi,%edi
404184:	55                   	push   %ebp
404185:	8b ec                	mov    %esp,%ebp
404187:	6a 00                	push   $0x0
404189:	6a 04                	push   $0x4
40418b:	8d 45 10             	lea    0x10(%ebp),%eax
40418e:	50                   	push   %eax
40418f:	51                   	push   %ecx
404190:	52                   	push   %edx
404191:	6a 2b                	push   $0x2b
404193:	ff 75 0c             	push   0xc(%ebp)
404196:	ff 75 08             	push   0x8(%ebp)
404199:	ff 15 c8 71 40 00    	call   *0x4071c8
40419f:	83 c4 20             	add    $0x20,%esp
4041a2:	5d                   	pop    %ebp
4041a3:	c2 0c 00             	ret    $0xc
4041a6:	8b ff                	mov    %edi,%edi
4041a8:	56                   	push   %esi
4041a9:	57                   	push   %edi
4041aa:	8b fa                	mov    %edx,%edi
4041ac:	8b f1                	mov    %ecx,%esi
4041ae:	eb 2d                	jmp    0x4041dd
4041b0:	66 83 3e 00          	cmpw   $0x0,(%esi)
4041b4:	74 2b                	je     0x4041e1
4041b6:	8b c7                	mov    %edi,%eax
4041b8:	85 ff                	test   %edi,%edi
4041ba:	74 18                	je     0x4041d4
4041bc:	0f b7 08             	movzwl (%eax),%ecx
4041bf:	66 85 c9             	test   %cx,%cx
4041c2:	74 10                	je     0x4041d4
4041c4:	66 39 0e             	cmp    %cx,(%esi)
4041c7:	74 1d                	je     0x4041e6
4041c9:	50                   	push   %eax
4041ca:	ff 15 14 71 40 00    	call   *0x407114
4041d0:	85 c0                	test   %eax,%eax
4041d2:	75 e8                	jne    0x4041bc
4041d4:	56                   	push   %esi
4041d5:	ff 15 14 71 40 00    	call   *0x407114
4041db:	8b f0                	mov    %eax,%esi
4041dd:	85 f6                	test   %esi,%esi
4041df:	75 cf                	jne    0x4041b0
4041e1:	33 c0                	xor    %eax,%eax
4041e3:	5f                   	pop    %edi
4041e4:	5e                   	pop    %esi
4041e5:	c3                   	ret
4041e6:	56                   	push   %esi
4041e7:	ff 15 14 71 40 00    	call   *0x407114
4041ed:	eb f4                	jmp    0x4041e3
4041ef:	8b ff                	mov    %edi,%edi
4041f1:	55                   	push   %ebp
4041f2:	8b ec                	mov    %esp,%ebp
4041f4:	81 ec 30 04 00 00    	sub    $0x430,%esp
4041fa:	a1 54 60 40 00       	mov    0x406054,%eax
4041ff:	33 c5                	xor    %ebp,%eax
404201:	89 45 fc             	mov    %eax,-0x4(%ebp)
404204:	57                   	push   %edi
404205:	8d 85 dc fb ff ff    	lea    -0x424(%ebp),%eax
40420b:	33 ff                	xor    %edi,%edi
40420d:	50                   	push   %eax
40420e:	68 19 00 02 00       	push   $0x20019
404213:	57                   	push   %edi
404214:	68 7c 15 40 00       	push   $0x40157c
404219:	68 00 00 00 80       	push   $0x80000000
40421e:	89 bd dc fb ff ff    	mov    %edi,-0x424(%ebp)
404224:	ff 15 00 71 40 00    	call   *0x407100
40422a:	85 c0                	test   %eax,%eax
40422c:	0f 85 f4 00 00 00    	jne    0x404326
404232:	53                   	push   %ebx
404233:	56                   	push   %esi
404234:	8b b5 dc fb ff ff    	mov    -0x424(%ebp),%esi
40423a:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
404240:	68 0a 02 00 00       	push   $0x20a
404245:	57                   	push   %edi
404246:	50                   	push   %eax
404247:	e8 46 14 00 00       	call   0x405692
40424c:	83 c4 0c             	add    $0xc,%esp
40424f:	c7 85 e0 fb ff ff b0 	movl   $0x4012b0,-0x420(%ebp)
404256:	12 40 00
404259:	bb 04 01 00 00       	mov    $0x104,%ebx
40425e:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
404264:	53                   	push   %ebx
404265:	50                   	push   %eax
404266:	ff 35 d4 63 40 00    	push   0x4063d4
40426c:	ff 15 90 70 40 00    	call   *0x407090
404272:	85 c0                	test   %eax,%eax
404274:	0f 84 9f 00 00 00    	je     0x404319
40427a:	8d 85 e0 fb ff ff    	lea    -0x420(%ebp),%eax
404280:	50                   	push   %eax
404281:	8d 85 e4 fb ff ff    	lea    -0x41c(%ebp),%eax
404287:	50                   	push   %eax
404288:	53                   	push   %ebx
404289:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
40428f:	50                   	push   %eax
404290:	ff 15 50 70 40 00    	call   *0x407050
404296:	48                   	dec    %eax
404297:	3d 03 01 00 00       	cmp    $0x103,%eax
40429c:	77 7b                	ja     0x404319
40429e:	83 ec 14             	sub    $0x14,%esp
4042a1:	89 bd d0 fb ff ff    	mov    %edi,-0x430(%ebp)
4042a7:	8d 8d d0 fb ff ff    	lea    -0x430(%ebp),%ecx
4042ad:	89 bd d4 fb ff ff    	mov    %edi,-0x42c(%ebp)
4042b3:	89 bd d8 fb ff ff    	mov    %edi,-0x428(%ebp)
4042b9:	ff b5 e0 fb ff ff    	push   -0x420(%ebp)
4042bf:	56                   	push   %esi
4042c0:	e8 fb d8 ff ff       	call   0x401bc0
4042c5:	bb c0 15 40 00       	mov    $0x4015c0,%ebx
4042ca:	85 c0                	test   %eax,%eax
4042cc:	75 11                	jne    0x4042df
4042ce:	68 7c 15 40 00       	push   $0x40157c
4042d3:	53                   	push   %ebx
4042d4:	8d 8d d0 fb ff ff    	lea    -0x430(%ebp),%ecx
4042da:	e8 31 d9 ff ff       	call   0x401c10
4042df:	83 ec 14             	sub    $0x14,%esp
4042e2:	8d 8d d0 fb ff ff    	lea    -0x430(%ebp),%ecx
4042e8:	53                   	push   %ebx
4042e9:	56                   	push   %esi
4042ea:	e8 d1 d8 ff ff       	call   0x401bc0
4042ef:	85 c0                	test   %eax,%eax
4042f1:	75 12                	jne    0x404305
4042f3:	57                   	push   %edi
4042f4:	ff b5 e0 fb ff ff    	push   -0x420(%ebp)
4042fa:	8d 8d d0 fb ff ff    	lea    -0x430(%ebp),%ecx
404300:	e8 0b d9 ff ff       	call   0x401c10
404305:	39 bd d0 fb ff ff    	cmp    %edi,-0x430(%ebp)
40430b:	74 0c                	je     0x404319
40430d:	ff b5 d0 fb ff ff    	push   -0x430(%ebp)
404313:	ff 15 f8 70 40 00    	call   *0x4070f8
404319:	85 f6                	test   %esi,%esi
40431b:	74 07                	je     0x404324
40431d:	56                   	push   %esi
40431e:	ff 15 f8 70 40 00    	call   *0x4070f8
404324:	5e                   	pop    %esi
404325:	5b                   	pop    %ebx
404326:	8b 4d fc             	mov    -0x4(%ebp),%ecx
404329:	33 c0                	xor    %eax,%eax
40432b:	33 cd                	xor    %ebp,%ecx
40432d:	5f                   	pop    %edi
40432e:	e8 6d 0c 00 00       	call   0x404fa0
404333:	c9                   	leave
404334:	c3                   	ret
404335:	8b ff                	mov    %edi,%edi
404337:	55                   	push   %ebp
404338:	8b ec                	mov    %esp,%ebp
40433a:	81 ec 30 04 00 00    	sub    $0x430,%esp
404340:	a1 54 60 40 00       	mov    0x406054,%eax
404345:	33 c5                	xor    %ebp,%eax
404347:	89 45 fc             	mov    %eax,-0x4(%ebp)
40434a:	56                   	push   %esi
40434b:	57                   	push   %edi
40434c:	8d 85 dc fb ff ff    	lea    -0x424(%ebp),%eax
404352:	33 ff                	xor    %edi,%edi
404354:	50                   	push   %eax
404355:	68 19 00 02 00       	push   $0x20019
40435a:	57                   	push   %edi
40435b:	68 7c 15 40 00       	push   $0x40157c
404360:	68 00 00 00 80       	push   $0x80000000
404365:	89 bd d4 fb ff ff    	mov    %edi,-0x42c(%ebp)
40436b:	89 bd d8 fb ff ff    	mov    %edi,-0x428(%ebp)
404371:	89 bd dc fb ff ff    	mov    %edi,-0x424(%ebp)
404377:	ff 15 00 71 40 00    	call   *0x407100
40437d:	85 c0                	test   %eax,%eax
40437f:	0f 85 9e 00 00 00    	jne    0x404423
404385:	8b b5 dc fb ff ff    	mov    -0x424(%ebp),%esi
40438b:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
404391:	68 0a 02 00 00       	push   $0x20a
404396:	57                   	push   %edi
404397:	50                   	push   %eax
404398:	89 b5 d0 fb ff ff    	mov    %esi,-0x430(%ebp)
40439e:	e8 ef 12 00 00       	call   0x405692
4043a3:	83 c4 0c             	add    $0xc,%esp
4043a6:	c7 85 dc fb ff ff b0 	movl   $0x4012b0,-0x424(%ebp)
4043ad:	12 40 00