408f42:	8b 45 f4             	mov    -0xc(%ebp),%eax
408f45:	85 c0                	test   %eax,%eax
408f47:	74 09                	je     0x408f52
408f49:	50                   	push   %eax
408f4a:	e8 a1 da ff ff       	call   0x4069f0
408f4f:	83 c4 04             	add    $0x4,%esp
408f52:	85 f6                	test   %esi,%esi
408f54:	74 09                	je     0x408f5f
408f56:	56                   	push   %esi
408f57:	e8 94 da ff ff       	call   0x4069f0
408f5c:	83 c4 04             	add    $0x4,%esp
408f5f:	8b 45 fc             	mov    -0x4(%ebp),%eax
408f62:	85 c0                	test   %eax,%eax
408f64:	74 09                	je     0x408f6f
408f66:	50                   	push   %eax
408f67:	e8 84 da ff ff       	call   0x4069f0
408f6c:	83 c4 04             	add    $0x4,%esp
408f6f:	5e                   	pop    %esi
408f70:	8a c3                	mov    %bl,%al
408f72:	5b                   	pop    %ebx
408f73:	8b e5                	mov    %ebp,%esp
408f75:	5d                   	pop    %ebp
408f76:	c3                   	ret
408f77:	cc                   	int3
408f78:	cc                   	int3
408f79:	cc                   	int3
408f7a:	cc                   	int3
408f7b:	cc                   	int3
408f7c:	cc                   	int3
408f7d:	cc                   	int3
408f7e:	cc                   	int3
408f7f:	cc                   	int3
408f80:	cc                   	int3
408f81:	cc                   	int3
408f82:	cc                   	int3
408f83:	cc                   	int3
408f84:	cc                   	int3
408f85:	cc                   	int3
408f86:	cc                   	int3
408f87:	cc                   	int3
408f88:	cc                   	int3
408f89:	cc                   	int3
408f8a:	cc                   	int3
408f8b:	cc                   	int3
408f8c:	cc                   	int3
408f8d:	cc                   	int3
408f8e:	cc                   	int3
408f8f:	cc                   	int3
408f90:	56                   	push   %esi
408f91:	8b f1                	mov    %ecx,%esi
408f93:	80 3e 00             	cmpb   $0x0,(%esi)
408f96:	74 04                	je     0x408f9c
408f98:	32 c0                	xor    %al,%al
408f9a:	5e                   	pop    %esi
408f9b:	c3                   	ret
408f9c:	80 7e 01 00          	cmpb   $0x0,0x1(%esi)
408fa0:	75 08                	jne    0x408faa
408fa2:	c6 46 01 01          	movb   $0x1,0x1(%esi)
408fa6:	b0 01                	mov    $0x1,%al
408fa8:	5e                   	pop    %esi
408fa9:	c3                   	ret
408faa:	53                   	push   %ebx
408fab:	8b 1d 40 12 43 00    	mov    0x431240,%ebx
408fb1:	57                   	push   %edi
408fb2:	8d 7e 0c             	lea    0xc(%esi),%edi
408fb5:	eb 09                	jmp    0x408fc0
408fb7:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
408fbe:	8b ff                	mov    %edi,%edi
408fc0:	ff 76 08             	push   0x8(%esi)
408fc3:	ff 76 04             	push   0x4(%esi)
408fc6:	ff 15 5c 11 43 00    	call   *0x43115c
408fcc:	85 c0                	test   %eax,%eax
408fce:	74 51                	je     0x409021
408fd0:	8b 46 08             	mov    0x8(%esi),%eax
408fd3:	6a 02                	push   $0x2
408fd5:	68 10 04 00 00       	push   $0x410
408fda:	83 c0 2c             	add    $0x2c,%eax
408fdd:	57                   	push   %edi
408fde:	50                   	push   %eax
408fdf:	ff d3                	call   *%ebx
408fe1:	83 c4 10             	add    $0x10,%esp
408fe4:	85 c0                	test   %eax,%eax
408fe6:	74 1c                	je     0x409004
408fe8:	80 3f 2e             	cmpb   $0x2e,(%edi)
408feb:	75 11                	jne    0x408ffe
408fed:	8a 47 01             	mov    0x1(%edi),%al
408ff0:	84 c0                	test   %al,%al
408ff2:	74 cc                	je     0x408fc0
408ff4:	3c 2e                	cmp    $0x2e,%al
408ff6:	75 06                	jne    0x408ffe
408ff8:	80 7f 02 00          	cmpb   $0x0,0x2(%edi)
408ffc:	74 c2                	je     0x408fc0
408ffe:	5f                   	pop    %edi
408fff:	5b                   	pop    %ebx
409000:	b0 01                	mov    $0x1,%al
409002:	5e                   	pop    %esi
409003:	c3                   	ret
409004:	68 b8 16 43 00       	push   $0x4316b8
409009:	68 ed 14 00 00       	push   $0x14ed
40900e:	68 40 16 43 00       	push   $0x431640
409013:	ff 15 f8 11 43 00    	call   *0x4311f8
409019:	83 c4 0c             	add    $0xc,%esp
40901c:	84 c0                	test   %al,%al
40901e:	75 01                	jne    0x409021
409020:	cc                   	int3
409021:	5f                   	pop    %edi
409022:	5b                   	pop    %ebx
409023:	c6 06 01             	movb   $0x1,(%esi)
409026:	32 c0                	xor    %al,%al
409028:	5e                   	pop    %esi
409029:	c3                   	ret
40902a:	cc                   	int3
40902b:	cc                   	int3
40902c:	cc                   	int3
40902d:	cc                   	int3
40902e:	cc                   	int3
40902f:	cc                   	int3
409030:	8d 41 0c             	lea    0xc(%ecx),%eax
409033:	c3                   	ret
409034:	cc                   	int3
409035:	cc                   	int3
409036:	cc                   	int3
409037:	cc                   	int3
409038:	cc                   	int3
409039:	cc                   	int3
40903a:	cc                   	int3
40903b:	cc                   	int3
40903c:	cc                   	int3
40903d:	cc                   	int3
40903e:	cc                   	int3
40903f:	cc                   	int3
409040:	55                   	push   %ebp
409041:	8b ec                	mov    %esp,%ebp
409043:	83 ec 18             	sub    $0x18,%esp
409046:	53                   	push   %ebx
409047:	56                   	push   %esi
409048:	57                   	push   %edi
409049:	6a 00                	push   $0x0
40904b:	ff 75 08             	push   0x8(%ebp)
40904e:	8d 4d e8             	lea    -0x18(%ebp),%ecx
409051:	c7 45 e8 0c 16 43 00 	movl   $0x43160c,-0x18(%ebp)
409058:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
40905f:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
409066:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
40906d:	e8 ce 01 00 00       	call   0x409240
409072:	8d 4d e8             	lea    -0x18(%ebp),%ecx
409075:	e8 66 04 00 00       	call   0x4094e0
40907a:	8b 5d f0             	mov    -0x10(%ebp),%ebx
40907d:	6a 00                	push   $0x0
40907f:	68 00 00 00 02       	push   $0x2000000
409084:	6a 03                	push   $0x3
409086:	6a 00                	push   $0x0
409088:	6a 03                	push   $0x3
40908a:	68 00 00 00 80       	push   $0x80000000
40908f:	53                   	push   %ebx
409090:	ff 15 38 11 43 00    	call   *0x431138
409096:	8b f8                	mov    %eax,%edi
409098:	83 ff ff             	cmp    $0xffffffff,%edi
40909b:	74 46                	je     0x4090e3
40909d:	8d 45 f8             	lea    -0x8(%ebp),%eax
4090a0:	50                   	push   %eax
4090a1:	6a 00                	push   $0x0
4090a3:	6a 00                	push   $0x0
4090a5:	57                   	push   %edi
4090a6:	ff 15 6c 11 43 00    	call   *0x43116c
4090ac:	57                   	push   %edi
4090ad:	8b f0                	mov    %eax,%esi
4090af:	ff 15 20 10 43 00    	call   *0x431020
4090b5:	85 f6                	test   %esi,%esi
4090b7:	74 2a                	je     0x4090e3
4090b9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4090bc:	33 c9                	xor    %ecx,%ecx
4090be:	03 4d f8             	add    -0x8(%ebp),%ecx
4090c1:	6a 00                	push   $0x0
4090c3:	83 d0 00             	adc    $0x0,%eax
4090c6:	81 e9 00 80 3e d5    	sub    $0xd53e8000,%ecx
4090cc:	68 80 96 98 00       	push   $0x989680
4090d1:	1d de b1 9d 01       	sbb    $0x19db1de,%eax
4090d6:	50                   	push   %eax
4090d7:	51                   	push   %ecx
4090d8:	e8 33 0e 00 00       	call   0x409f10
4090dd:	8b f0                	mov    %eax,%esi
4090df:	8b fa                	mov    %edx,%edi
4090e1:	eb 04                	jmp    0x4090e7
4090e3:	33 f6                	xor    %esi,%esi
4090e5:	33 ff                	xor    %edi,%edi
4090e7:	8b 45 ec             	mov    -0x14(%ebp),%eax
4090ea:	85 c0                	test   %eax,%eax
4090ec:	74 09                	je     0x4090f7
4090ee:	50                   	push   %eax
4090ef:	e8 fc d8 ff ff       	call   0x4069f0
4090f4:	83 c4 04             	add    $0x4,%esp
4090f7:	85 db                	test   %ebx,%ebx
4090f9:	74 09                	je     0x409104
4090fb:	53                   	push   %ebx
4090fc:	e8 ef d8 ff ff       	call   0x4069f0
409101:	83 c4 04             	add    $0x4,%esp
409104:	8b 45 f4             	mov    -0xc(%ebp),%eax
409107:	85 c0                	test   %eax,%eax
409109:	74 09                	je     0x409114
40910b:	50                   	push   %eax
40910c:	e8 df d8 ff ff       	call   0x4069f0
409111:	83 c4 04             	add    $0x4,%esp
409114:	8b d7                	mov    %edi,%edx
409116:	8b c6                	mov    %esi,%eax
409118:	5f                   	pop    %edi
409119:	5e                   	pop    %esi
40911a:	5b                   	pop    %ebx
40911b:	8b e5                	mov    %ebp,%esp
40911d:	5d                   	pop    %ebp
40911e:	c3                   	ret
40911f:	cc                   	int3
409120:	55                   	push   %ebp
409121:	8b ec                	mov    %esp,%ebp
409123:	83 ec 10             	sub    $0x10,%esp
409126:	53                   	push   %ebx
409127:	56                   	push   %esi
409128:	57                   	push   %edi
409129:	6a 00                	push   $0x0
40912b:	ff 75 08             	push   0x8(%ebp)
40912e:	8b f9                	mov    %ecx,%edi
409130:	c7 45 f0 0c 16 43 00 	movl   $0x43160c,-0x10(%ebp)
409137:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40913a:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
409141:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
409148:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40914f:	e8 ec 00 00 00       	call   0x409240
409154:	68 50 02 00 00       	push   $0x250
409159:	e8 62 d8 ff ff       	call   0x4069c0
40915e:	68 50 02 00 00       	push   $0x250
409163:	6a 00                	push   $0x0
409165:	50                   	push   %eax
409166:	89 47 08             	mov    %eax,0x8(%edi)
409169:	e8 52 22 00 00       	call   0x40b3c0
40916e:	83 c4 10             	add    $0x10,%esp
409171:	c6 47 0c 00          	movb   $0x0,0xc(%edi)
409175:	8b 77 08             	mov    0x8(%edi),%esi
409178:	8d 5f 0c             	lea    0xc(%edi),%ebx
40917b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40917e:	e8 5d 03 00 00       	call   0x4094e0
409183:	6a 02                	push   $0x2
409185:	6a 00                	push   $0x0
409187:	6a 00                	push   $0x0
409189:	56                   	push   %esi
40918a:	6a 01                	push   $0x1
40918c:	ff 75 f8             	push   -0x8(%ebp)
40918f:	ff 15 58 11 43 00    	call   *0x431158
409195:	89 47 04             	mov    %eax,0x4(%edi)
409198:	83 f8 ff             	cmp    $0xffffffff,%eax
40919b:	74 39                	je     0x4091d6
40919d:	8b 47 08             	mov    0x8(%edi),%eax
4091a0:	6a 02                	push   $0x2
4091a2:	68 10 04 00 00       	push   $0x410
4091a7:	83 c0 2c             	add    $0x2c,%eax
4091aa:	53                   	push   %ebx
4091ab:	50                   	push   %eax
4091ac:	ff 15 40 12 43 00    	call   *0x431240
4091b2:	83 c4 10             	add    $0x10,%esp
4091b5:	85 c0                	test   %eax,%eax
4091b7:	75 5e                	jne    0x409217
4091b9:	68 b8 16 43 00       	push   $0x4316b8
4091be:	68 80 14 00 00       	push   $0x1480
4091c3:	68 40 16 43 00       	push   $0x431640
4091c8:	ff 15 f8 11 43 00    	call   *0x4311f8
4091ce:	83 c4 0c             	add    $0xc,%esp
4091d1:	84 c0                	test   %al,%al
4091d3:	75 01                	jne    0x4091d6
4091d5:	cc                   	int3
4091d6:	c6 07 01             	movb   $0x1,(%edi)
4091d9:	b0 01                	mov    $0x1,%al
4091db:	88 47 01             	mov    %al,0x1(%edi)
4091de:	8b 45 f4             	mov    -0xc(%ebp),%eax
4091e1:	85 c0                	test   %eax,%eax
4091e3:	74 09                	je     0x4091ee
4091e5:	50                   	push   %eax
4091e6:	e8 05 d8 ff ff       	call   0x4069f0
4091eb:	83 c4 04             	add    $0x4,%esp
4091ee:	8b 45 f8             	mov    -0x8(%ebp),%eax
4091f1:	85 c0                	test   %eax,%eax
4091f3:	74 09                	je     0x4091fe
4091f5:	50                   	push   %eax
4091f6:	e8 f5 d7 ff ff       	call   0x4069f0
4091fb:	83 c4 04             	add    $0x4,%esp
4091fe:	8b 45 fc             	mov    -0x4(%ebp),%eax
409201:	85 c0                	test   %eax,%eax
409203:	74 09                	je     0x40920e
409205:	50                   	push   %eax
409206:	e8 e5 d7 ff ff       	call   0x4069f0
40920b:	83 c4 04             	add    $0x4,%esp
40920e:	5f                   	pop    %edi
40920f:	5e                   	pop    %esi
409210:	5b                   	pop    %ebx
409211:	8b e5                	mov    %ebp,%esp
409213:	5d                   	pop    %ebp
409214:	c2 04 00             	ret    $0x4
409217:	c6 07 00             	movb   $0x0,(%edi)
40921a:	80 3b 2e             	cmpb   $0x2e,(%ebx)
40921d:	75 11                	jne    0x409230
40921f:	8a 43 01             	mov    0x1(%ebx),%al
409222:	84 c0                	test   %al,%al
409224:	74 b3                	je     0x4091d9
409226:	3c 2e                	cmp    $0x2e,%al
409228:	75 06                	jne    0x409230
40922a:	80 7b 02 00          	cmpb   $0x0,0x2(%ebx)
40922e:	74 a9                	je     0x4091d9
409230:	32 c0                	xor    %al,%al
409232:	eb a7                	jmp    0x4091db
409234:	cc                   	int3
409235:	cc                   	int3
409236:	cc                   	int3
409237:	cc                   	int3
409238:	cc                   	int3
409239:	cc                   	int3
40923a:	cc                   	int3
40923b:	cc                   	int3
40923c:	cc                   	int3
40923d:	cc                   	int3
40923e:	cc                   	int3
40923f:	cc                   	int3
409240:	55                   	push   %ebp
409241:	8b ec                	mov    %esp,%ebp
409243:	83 ec 08             	sub    $0x8,%esp
409246:	53                   	push   %ebx
409247:	56                   	push   %esi
409248:	8b 75 0c             	mov    0xc(%ebp),%esi
40924b:	8b d9                	mov    %ecx,%ebx
40924d:	57                   	push   %edi
40924e:	8b 7d 08             	mov    0x8(%ebp),%edi
409251:	89 7d fc             	mov    %edi,-0x4(%ebp)
409254:	89 75 f8             	mov    %esi,-0x8(%ebp)
409257:	85 ff                	test   %edi,%edi
409259:	0f 84 c7 01 00 00    	je     0x409426
40925f:	57                   	push   %edi
409260:	ff 15 5c 12 43 00    	call   *0x43125c
409266:	83 c4 04             	add    $0x4,%esp
409269:	84 c0                	test   %al,%al
40926b:	74 28                	je     0x409295
40926d:	8b f7                	mov    %edi,%esi
40926f:	8d 4e 01             	lea    0x1(%esi),%ecx
409272:	8a 06                	mov    (%esi),%al
409274:	46                   	inc    %esi
409275:	84 c0                	test   %al,%al
409277:	75 f9                	jne    0x409272
409279:	2b f1                	sub    %ecx,%esi
40927b:	46                   	inc    %esi
40927c:	56                   	push   %esi
40927d:	e8 3e d7 ff ff       	call   0x4069c0
409282:	56                   	push   %esi
409283:	57                   	push   %edi
409284:	50                   	push   %eax