403ff8:	c2 10 00             	ret    $0x10
403ffb:	cc                   	int3
403ffc:	cc                   	int3
403ffd:	cc                   	int3
403ffe:	cc                   	int3
403fff:	cc                   	int3
404000:	56                   	push   %esi
404001:	8b f0                	mov    %eax,%esi
404003:	3b f7                	cmp    %edi,%esi
404005:	74 30                	je     0x404037
404007:	53                   	push   %ebx
404008:	33 db                	xor    %ebx,%ebx
40400a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
404010:	83 7e 18 10          	cmpl   $0x10,0x18(%esi)
404014:	72 0c                	jb     0x404022
404016:	8b 46 04             	mov    0x4(%esi),%eax
404019:	50                   	push   %eax
40401a:	e8 17 13 00 00       	call   0x405336
40401f:	83 c4 04             	add    $0x4,%esp
404022:	c7 46 18 0f 00 00 00 	movl   $0xf,0x18(%esi)
404029:	89 5e 14             	mov    %ebx,0x14(%esi)
40402c:	88 5e 04             	mov    %bl,0x4(%esi)
40402f:	83 c6 1c             	add    $0x1c,%esi
404032:	3b f7                	cmp    %edi,%esi
404034:	75 da                	jne    0x404010
404036:	5b                   	pop    %ebx
404037:	5e                   	pop    %esi
404038:	c2 04 00             	ret    $0x4
40403b:	cc                   	int3
40403c:	cc                   	int3
40403d:	cc                   	int3
40403e:	cc                   	int3
40403f:	cc                   	int3
404040:	83 7e 18 10          	cmpl   $0x10,0x18(%esi)
404044:	72 0c                	jb     0x404052
404046:	8b 46 04             	mov    0x4(%esi),%eax
404049:	50                   	push   %eax
40404a:	e8 e7 12 00 00       	call   0x405336
40404f:	83 c4 04             	add    $0x4,%esp
404052:	33 c0                	xor    %eax,%eax
404054:	c7 46 18 0f 00 00 00 	movl   $0xf,0x18(%esi)
40405b:	89 46 14             	mov    %eax,0x14(%esi)
40405e:	88 46 04             	mov    %al,0x4(%esi)
404061:	c3                   	ret
404062:	cc                   	int3
404063:	cc                   	int3
404064:	cc                   	int3
404065:	cc                   	int3
404066:	cc                   	int3
404067:	cc                   	int3
404068:	cc                   	int3
404069:	cc                   	int3
40406a:	cc                   	int3
40406b:	cc                   	int3
40406c:	cc                   	int3
40406d:	cc                   	int3
40406e:	cc                   	int3
40406f:	cc                   	int3
404070:	55                   	push   %ebp
404071:	8b ec                	mov    %esp,%ebp
404073:	6a ff                	push   $0xffffffff
404075:	68 29 99 41 00       	push   $0x419929
40407a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
404080:	50                   	push   %eax
404081:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
404088:	83 ec 3c             	sub    $0x3c,%esp
40408b:	53                   	push   %ebx
40408c:	56                   	push   %esi
40408d:	8b 75 0c             	mov    0xc(%ebp),%esi
404090:	57                   	push   %edi
404091:	33 db                	xor    %ebx,%ebx
404093:	89 65 f0             	mov    %esp,-0x10(%ebp)
404096:	8b f9                	mov    %ecx,%edi
404098:	89 75 ec             	mov    %esi,-0x14(%ebp)
40409b:	c7 45 d0 0f 00 00 00 	movl   $0xf,-0x30(%ebp)
4040a2:	89 5d cc             	mov    %ebx,-0x34(%ebp)
4040a5:	88 5d bc             	mov    %bl,-0x44(%ebp)
4040a8:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4040ab:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4040af:	90                   	nop
4040b0:	3b 7d 08             	cmp    0x8(%ebp),%edi
4040b3:	0f 84 ae 00 00 00    	je     0x404167
4040b9:	89 75 e8             	mov    %esi,-0x18(%ebp)
4040bc:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4040bf:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4040c3:	3b f3                	cmp    %ebx,%esi
4040c5:	74 1b                	je     0x4040e2
4040c7:	6a ff                	push   $0xffffffff
4040c9:	53                   	push   %ebx
4040ca:	8d 45 b8             	lea    -0x48(%ebp),%eax
4040cd:	c7 46 18 0f 00 00 00 	movl   $0xf,0x18(%esi)
4040d4:	89 5e 14             	mov    %ebx,0x14(%esi)
4040d7:	50                   	push   %eax
4040d8:	8b ce                	mov    %esi,%ecx
4040da:	88 5e 04             	mov    %bl,0x4(%esi)
4040dd:	e8 4e f0 ff ff       	call   0x403130
4040e2:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4040e6:	3b f7                	cmp    %edi,%esi
4040e8:	74 50                	je     0x40413a
4040ea:	8b 5e 10             	mov    0x10(%esi),%ebx
4040ed:	8b 46 04             	mov    0x4(%esi),%eax
4040f0:	8b 4e 08             	mov    0x8(%esi),%ecx
4040f3:	8b 56 0c             	mov    0xc(%esi),%edx
4040f6:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4040f9:	8b 5f 04             	mov    0x4(%edi),%ebx
4040fc:	89 5e 04             	mov    %ebx,0x4(%esi)
4040ff:	8b 5f 08             	mov    0x8(%edi),%ebx
404102:	89 5e 08             	mov    %ebx,0x8(%esi)
404105:	8b 5f 0c             	mov    0xc(%edi),%ebx
404108:	89 5e 0c             	mov    %ebx,0xc(%esi)
40410b:	8b 5f 10             	mov    0x10(%edi),%ebx
40410e:	89 5e 10             	mov    %ebx,0x10(%esi)
404111:	89 47 04             	mov    %eax,0x4(%edi)
404114:	89 4f 08             	mov    %ecx,0x8(%edi)
404117:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40411a:	89 57 0c             	mov    %edx,0xc(%edi)
40411d:	8b 57 14             	mov    0x14(%edi),%edx
404120:	89 4f 10             	mov    %ecx,0x10(%edi)
404123:	8b 46 14             	mov    0x14(%esi),%eax
404126:	89 56 14             	mov    %edx,0x14(%esi)
404129:	8b 4f 18             	mov    0x18(%edi),%ecx
40412c:	89 47 14             	mov    %eax,0x14(%edi)
40412f:	8b 46 18             	mov    0x18(%esi),%eax
404132:	89 4e 18             	mov    %ecx,0x18(%esi)
404135:	89 47 18             	mov    %eax,0x18(%edi)
404138:	33 db                	xor    %ebx,%ebx
40413a:	83 c6 1c             	add    $0x1c,%esi
40413d:	89 75 0c             	mov    %esi,0xc(%ebp)
404140:	83 c7 1c             	add    $0x1c,%edi
404143:	e9 68 ff ff ff       	jmp    0x4040b0
404148:	8b 75 ec             	mov    -0x14(%ebp),%esi
40414b:	8b 7d 0c             	mov    0xc(%ebp),%edi
40414e:	3b f7                	cmp    %edi,%esi
404150:	74 0c                	je     0x40415e
404152:	e8 e9 fe ff ff       	call   0x404040
404157:	83 c6 1c             	add    $0x1c,%esi
40415a:	3b f7                	cmp    %edi,%esi
40415c:	75 f4                	jne    0x404152
40415e:	6a 00                	push   $0x0
404160:	6a 00                	push   $0x0
404162:	e8 4b 25 00 00       	call   0x4066b2
404167:	83 7d d0 10          	cmpl   $0x10,-0x30(%ebp)
40416b:	72 0c                	jb     0x404179
40416d:	8b 55 bc             	mov    -0x44(%ebp),%edx
404170:	52                   	push   %edx
404171:	e8 c0 11 00 00       	call   0x405336
404176:	83 c4 04             	add    $0x4,%esp
404179:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40417c:	5f                   	pop    %edi
40417d:	8b c6                	mov    %esi,%eax
40417f:	5e                   	pop    %esi
404180:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404187:	5b                   	pop    %ebx
404188:	8b e5                	mov    %ebp,%esp
40418a:	5d                   	pop    %ebp
40418b:	c2 10 00             	ret    $0x10
40418e:	cc                   	int3
40418f:	cc                   	int3
404190:	39 4c 24 04          	cmp    %ecx,0x4(%esp)
404194:	74 66                	je     0x4041fc
404196:	53                   	push   %ebx
404197:	55                   	push   %ebp
404198:	56                   	push   %esi
404199:	57                   	push   %edi
40419a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
4041a0:	83 e9 1c             	sub    $0x1c,%ecx
4041a3:	83 e8 1c             	sub    $0x1c,%eax
4041a6:	3b c1                	cmp    %ecx,%eax
4041a8:	74 48                	je     0x4041f2
4041aa:	8b 69 04             	mov    0x4(%ecx),%ebp
4041ad:	8b 50 04             	mov    0x4(%eax),%edx
4041b0:	8b 70 08             	mov    0x8(%eax),%esi
4041b3:	8b 78 0c             	mov    0xc(%eax),%edi
4041b6:	8b 58 10             	mov    0x10(%eax),%ebx
4041b9:	89 68 04             	mov    %ebp,0x4(%eax)
4041bc:	8b 69 08             	mov    0x8(%ecx),%ebp
4041bf:	89 68 08             	mov    %ebp,0x8(%eax)
4041c2:	8b 69 0c             	mov    0xc(%ecx),%ebp
4041c5:	89 68 0c             	mov    %ebp,0xc(%eax)
4041c8:	8b 69 10             	mov    0x10(%ecx),%ebp
4041cb:	89 68 10             	mov    %ebp,0x10(%eax)
4041ce:	89 51 04             	mov    %edx,0x4(%ecx)
4041d1:	89 71 08             	mov    %esi,0x8(%ecx)
4041d4:	8b 71 14             	mov    0x14(%ecx),%esi
4041d7:	89 79 0c             	mov    %edi,0xc(%ecx)
4041da:	89 59 10             	mov    %ebx,0x10(%ecx)
4041dd:	8b 50 14             	mov    0x14(%eax),%edx
4041e0:	89 70 14             	mov    %esi,0x14(%eax)
4041e3:	8b 71 18             	mov    0x18(%ecx),%esi
4041e6:	89 51 14             	mov    %edx,0x14(%ecx)
4041e9:	8b 50 18             	mov    0x18(%eax),%edx
4041ec:	89 70 18             	mov    %esi,0x18(%eax)
4041ef:	89 51 18             	mov    %edx,0x18(%ecx)
4041f2:	3b 4c 24 14          	cmp    0x14(%esp),%ecx
4041f6:	75 a8                	jne    0x4041a0
4041f8:	5f                   	pop    %edi
4041f9:	5e                   	pop    %esi
4041fa:	5d                   	pop    %ebp
4041fb:	5b                   	pop    %ebx
4041fc:	c3                   	ret
4041fd:	cc                   	int3
4041fe:	ff 25 2c a0 41 00    	jmp    *0x41a02c
404204:	8b ff                	mov    %edi,%edi
404206:	55                   	push   %ebp
404207:	8b ec                	mov    %esp,%ebp
404209:	8b 45 14             	mov    0x14(%ebp),%eax
40420c:	56                   	push   %esi
40420d:	57                   	push   %edi
40420e:	85 c0                	test   %eax,%eax
404210:	75 11                	jne    0x404223
404212:	e8 14 1d 00 00       	call   0x405f2b
404217:	8b 70 08             	mov    0x8(%eax),%esi
40421a:	e8 e6 1c 00 00       	call   0x405f05
40421f:	8b f8                	mov    %eax,%edi
404221:	eb 05                	jmp    0x404228
404223:	8b 30                	mov    (%eax),%esi
404225:	8b 78 04             	mov    0x4(%eax),%edi
404228:	85 f6                	test   %esi,%esi
40422a:	75 18                	jne    0x404244
40422c:	66 8b 45 0c          	mov    0xc(%ebp),%ax
404230:	b9 ff 00 00 00       	mov    $0xff,%ecx
404235:	66 3b c1             	cmp    %cx,%ax
404238:	77 3f                	ja     0x404279
40423a:	8b 4d 08             	mov    0x8(%ebp),%ecx
40423d:	88 01                	mov    %al,(%ecx)
40423f:	33 c0                	xor    %eax,%eax
404241:	40                   	inc    %eax
404242:	eb 43                	jmp    0x404287
404244:	83 65 14 00          	andl   $0x0,0x14(%ebp)
404248:	57                   	push   %edi
404249:	e8 28 07 00 00       	call   0x404976
40424e:	59                   	pop    %ecx
40424f:	8d 4d 14             	lea    0x14(%ebp),%ecx
404252:	51                   	push   %ecx
404253:	6a 00                	push   $0x0
404255:	50                   	push   %eax
404256:	e8 8e 1c 00 00       	call   0x405ee9
40425b:	59                   	pop    %ecx
40425c:	50                   	push   %eax
40425d:	ff 75 08             	push   0x8(%ebp)
404260:	8d 45 0c             	lea    0xc(%ebp),%eax
404263:	6a 01                	push   $0x1
404265:	50                   	push   %eax
404266:	6a 00                	push   $0x0
404268:	57                   	push   %edi
404269:	ff 15 70 a0 41 00    	call   *0x41a070
40426f:	85 c0                	test   %eax,%eax
404271:	74 06                	je     0x404279
404273:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
404277:	74 0e                	je     0x404287
404279:	e8 57 18 00 00       	call   0x405ad5
40427e:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
404284:	83 c8 ff             	or     $0xffffffff,%eax
404287:	5f                   	pop    %edi
404288:	5e                   	pop    %esi
404289:	5d                   	pop    %ebp
40428a:	c3                   	ret
40428b:	8b ff                	mov    %edi,%edi
40428d:	56                   	push   %esi
40428e:	e8 98 1c 00 00       	call   0x405f2b
404293:	8b 70 08             	mov    0x8(%eax),%esi
404296:	e8 6a 1c 00 00       	call   0x405f05
40429b:	8b d0                	mov    %eax,%edx
40429d:	8b c6                	mov    %esi,%eax
40429f:	5e                   	pop    %esi
4042a0:	c3                   	ret
4042a1:	8b ff                	mov    %edi,%edi
4042a3:	55                   	push   %ebp
4042a4:	8b ec                	mov    %esp,%ebp
4042a6:	56                   	push   %esi
4042a7:	57                   	push   %edi
4042a8:	8b f9                	mov    %ecx,%edi
4042aa:	8b 77 20             	mov    0x20(%edi),%esi
4042ad:	eb 0f                	jmp    0x4042be
4042af:	ff 76 04             	push   0x4(%esi)
4042b2:	57                   	push   %edi
4042b3:	ff 75 08             	push   0x8(%ebp)
4042b6:	ff 56 08             	call   *0x8(%esi)
4042b9:	8b 36                	mov    (%esi),%esi
4042bb:	83 c4 0c             	add    $0xc,%esp
4042be:	85 f6                	test   %esi,%esi
4042c0:	75 ed                	jne    0x4042af
4042c2:	5f                   	pop    %edi
4042c3:	5e                   	pop    %esi
4042c4:	5d                   	pop    %ebp
4042c5:	c2 04 00             	ret    $0x4
4042c8:	8b ff                	mov    %edi,%edi
4042ca:	55                   	push   %ebp
4042cb:	8b ec                	mov    %esp,%ebp
4042cd:	56                   	push   %esi
4042ce:	8b 75 08             	mov    0x8(%ebp),%esi
4042d1:	57                   	push   %edi
4042d2:	6a 00                	push   $0x0
4042d4:	8b ce                	mov    %esi,%ecx
4042d6:	e8 c6 ff ff ff       	call   0x4042a1
4042db:	8b 46 1c             	mov    0x1c(%esi),%eax
4042de:	85 c0                	test   %eax,%eax
4042e0:	74 0f                	je     0x4042f1
4042e2:	8b 38                	mov    (%eax),%edi
4042e4:	50                   	push   %eax
4042e5:	e8 4c 10 00 00       	call   0x405336
4042ea:	59                   	pop    %ecx
4042eb:	8b c7                	mov    %edi,%eax
4042ed:	85 ff                	test   %edi,%edi
4042ef:	75 f1                	jne    0x4042e2
4042f1:	8b 46 20             	mov    0x20(%esi),%eax
4042f4:	83 66 1c 00          	andl   $0x0,0x1c(%esi)
4042f8:	85 c0                	test   %eax,%eax
4042fa:	74 0f                	je     0x40430b
4042fc:	8b 38                	mov    (%eax),%edi
4042fe:	50                   	push   %eax
4042ff:	e8 32 10 00 00       	call   0x405336
404304:	59                   	pop    %ecx
404305:	8b c7                	mov    %edi,%eax
404307:	85 ff                	test   %edi,%edi
404309:	75 f1                	jne    0x4042fc
40430b:	83 66 20 00          	andl   $0x0,0x20(%esi)
40430f:	5f                   	pop    %edi
404310:	5e                   	pop    %esi
404311:	5d                   	pop    %ebp
404312:	c3                   	ret
404313:	8b ff                	mov    %edi,%edi
404315:	55                   	push   %ebp
404316:	8b ec                	mov    %esp,%ebp
404318:	56                   	push   %esi
404319:	8b 75 08             	mov    0x8(%ebp),%esi
40431c:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
404320:	76 15                	jbe    0x404337
404322:	8b 46 04             	mov    0x4(%esi),%eax
404325:	fe 88 f4 05 43 00    	decb   0x4305f4(%eax)
40432b:	8b 46 04             	mov    0x4(%esi),%eax
40432e:	80 b8 f4 05 43 00 00 	cmpb   $0x0,0x4305f4(%eax)
404335:	7f 15                	jg     0x40434c
404337:	56                   	push   %esi
404338:	e8 8b ff ff ff       	call   0x4042c8
40433d:	59                   	pop    %ecx
40433e:	8b 4e 24             	mov    0x24(%esi),%ecx
404341:	85 c9                	test   %ecx,%ecx
404343:	74 07                	je     0x40434c
404345:	6a 01                	push   $0x1
404347:	e8 44 ec ff ff       	call   0x402f90
40434c:	5e                   	pop    %esi
40434d:	5d                   	pop    %ebp
40434e:	c3                   	ret
40434f:	8b ff                	mov    %edi,%edi
404351:	55                   	push   %ebp
404352:	8b ec                	mov    %esp,%ebp
404354:	ff 75 08             	push   0x8(%ebp)
404357:	e8 cd 1e 00 00       	call   0x406229
40435c:	59                   	pop    %ecx