403f90:	8b c6                	mov    %esi,%eax
403f92:	5e                   	pop    %esi
403f93:	5d                   	pop    %ebp
403f94:	c2 04 00             	ret    $0x4
403f97:	cc                   	int3
403f98:	cc                   	int3
403f99:	cc                   	int3
403f9a:	cc                   	int3
403f9b:	cc                   	int3
403f9c:	cc                   	int3
403f9d:	cc                   	int3
403f9e:	cc                   	int3
403f9f:	cc                   	int3
403fa0:	8b ff                	mov    %edi,%edi
403fa2:	55                   	push   %ebp
403fa3:	8b ec                	mov    %esp,%ebp
403fa5:	56                   	push   %esi
403fa6:	8b f1                	mov    %ecx,%esi
403fa8:	e8 69 0a 00 00       	call   0x404a16
403fad:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
403fb1:	74 07                	je     0x403fba
403fb3:	56                   	push   %esi
403fb4:	e8 3b e9 ff ff       	call   0x4028f4
403fb9:	59                   	pop    %ecx
403fba:	8b c6                	mov    %esi,%eax
403fbc:	5e                   	pop    %esi
403fbd:	5d                   	pop    %ebp
403fbe:	c2 04 00             	ret    $0x4
403fc1:	6a 10                	push   $0x10
403fc3:	b8 96 52 40 00       	mov    $0x405296,%eax
403fc8:	e8 a6 0a 00 00       	call   0x404a73
403fcd:	8b f9                	mov    %ecx,%edi
403fcf:	89 7d e8             	mov    %edi,-0x18(%ebp)
403fd2:	8b 75 08             	mov    0x8(%ebp),%esi
403fd5:	83 ce 0f             	or     $0xf,%esi
403fd8:	83 fe fe             	cmp    $0xfffffffe,%esi
403fdb:	76 05                	jbe    0x403fe2
403fdd:	8b 75 08             	mov    0x8(%ebp),%esi
403fe0:	eb 2a                	jmp    0x40400c
403fe2:	33 d2                	xor    %edx,%edx
403fe4:	c7 45 ec 03 00 00 00 	movl   $0x3,-0x14(%ebp)
403feb:	8b c6                	mov    %esi,%eax
403fed:	8b 5f 14             	mov    0x14(%edi),%ebx
403ff0:	f7 75 ec             	divl   -0x14(%ebp)
403ff3:	8b cb                	mov    %ebx,%ecx
403ff5:	d1 e9                	shr    $1,%ecx
403ff7:	3b c8                	cmp    %eax,%ecx
403ff9:	76 11                	jbe    0x40400c
403ffb:	6a fe                	push   $0xfffffffe
403ffd:	58                   	pop    %eax
403ffe:	2b c1                	sub    %ecx,%eax
404000:	3b d8                	cmp    %eax,%ebx
404002:	77 05                	ja     0x404009
404004:	8d 34 19             	lea    (%ecx,%ebx,1),%esi
404007:	eb 03                	jmp    0x40400c
404009:	6a fe                	push   $0xfffffffe
40400b:	5e                   	pop    %esi
40400c:	33 db                	xor    %ebx,%ebx
40400e:	8d 46 01             	lea    0x1(%esi),%eax
404011:	53                   	push   %ebx
404012:	50                   	push   %eax
404013:	89 5d fc             	mov    %ebx,-0x4(%ebp)
404016:	e8 f3 fd ff ff       	call   0x403e0e
40401b:	59                   	pop    %ecx
40401c:	59                   	pop    %ecx
40401d:	eb 2c                	jmp    0x40404b
40401f:	8b 45 08             	mov    0x8(%ebp),%eax
404022:	89 65 f0             	mov    %esp,-0x10(%ebp)
404025:	89 45 ec             	mov    %eax,-0x14(%ebp)
404028:	40                   	inc    %eax
404029:	6a 00                	push   $0x0
40402b:	50                   	push   %eax
40402c:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
404030:	e8 d9 fd ff ff       	call   0x403e0e
404035:	59                   	pop    %ecx
404036:	89 45 e4             	mov    %eax,-0x1c(%ebp)
404039:	b8 40 40 40 00       	mov    $0x404040,%eax
40403e:	59                   	pop    %ecx
40403f:	c3                   	ret
404040:	8b 7d e8             	mov    -0x18(%ebp),%edi
404043:	33 db                	xor    %ebx,%ebx
404045:	8b 75 ec             	mov    -0x14(%ebp),%esi
404048:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40404b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40404e:	89 45 ec             	mov    %eax,-0x14(%ebp)
404051:	85 c9                	test   %ecx,%ecx
404053:	74 17                	je     0x40406c
404055:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
404059:	72 04                	jb     0x40405f
40405b:	8b 17                	mov    (%edi),%edx
40405d:	eb 02                	jmp    0x404061
40405f:	8b d7                	mov    %edi,%edx
404061:	51                   	push   %ecx
404062:	52                   	push   %edx
404063:	50                   	push   %eax
404064:	e8 40 0a 00 00       	call   0x404aa9
404069:	83 c4 0c             	add    $0xc,%esp
40406c:	53                   	push   %ebx
40406d:	6a 01                	push   $0x1
40406f:	8b cf                	mov    %edi,%ecx
404071:	e8 d0 00 00 00       	call   0x404146
404076:	8b 45 ec             	mov    -0x14(%ebp),%eax
404079:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40407c:	89 07                	mov    %eax,(%edi)
40407e:	89 77 14             	mov    %esi,0x14(%edi)
404081:	89 4f 10             	mov    %ecx,0x10(%edi)
404084:	83 fe 10             	cmp    $0x10,%esi
404087:	73 02                	jae    0x40408b
404089:	8b c7                	mov    %edi,%eax
40408b:	88 1c 08             	mov    %bl,(%eax,%ecx,1)
40408e:	e8 99 09 00 00       	call   0x404a2c
404093:	c2 08 00             	ret    $0x8
404096:	8b 4d e8             	mov    -0x18(%ebp),%ecx
404099:	33 db                	xor    %ebx,%ebx
40409b:	53                   	push   %ebx
40409c:	6a 01                	push   $0x1
40409e:	e8 a3 00 00 00       	call   0x404146
4040a3:	53                   	push   %ebx
4040a4:	53                   	push   %ebx
4040a5:	e8 7c 09 00 00       	call   0x404a26
4040aa:	cc                   	int3
4040ab:	8b ff                	mov    %edi,%edi
4040ad:	55                   	push   %ebp
4040ae:	8b ec                	mov    %esp,%ebp
4040b0:	56                   	push   %esi
4040b1:	8b 75 08             	mov    0x8(%ebp),%esi
4040b4:	83 fe fe             	cmp    $0xfffffffe,%esi
4040b7:	77 4a                	ja     0x404103
4040b9:	39 71 14             	cmp    %esi,0x14(%ecx)
4040bc:	73 0b                	jae    0x4040c9
4040be:	ff 71 10             	push   0x10(%ecx)
4040c1:	56                   	push   %esi
4040c2:	e8 fa fe ff ff       	call   0x403fc1
4040c7:	eb 30                	jmp    0x4040f9
4040c9:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
4040cd:	74 18                	je     0x4040e7
4040cf:	83 fe 10             	cmp    $0x10,%esi
4040d2:	73 13                	jae    0x4040e7
4040d4:	8b 41 10             	mov    0x10(%ecx),%eax
4040d7:	3b f0                	cmp    %eax,%esi
4040d9:	73 02                	jae    0x4040dd
4040db:	8b c6                	mov    %esi,%eax
4040dd:	50                   	push   %eax
4040de:	6a 01                	push   $0x1
4040e0:	e8 61 00 00 00       	call   0x404146
4040e5:	eb 12                	jmp    0x4040f9
4040e7:	85 f6                	test   %esi,%esi
4040e9:	75 10                	jne    0x4040fb
4040eb:	21 71 10             	and    %esi,0x10(%ecx)
4040ee:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
4040f2:	72 02                	jb     0x4040f6
4040f4:	8b 09                	mov    (%ecx),%ecx
4040f6:	c6 01 00             	movb   $0x0,(%ecx)
4040f9:	85 f6                	test   %esi,%esi
4040fb:	0f 95 c0             	setne  %al
4040fe:	5e                   	pop    %esi
4040ff:	5d                   	pop    %ebp
404100:	c2 08 00             	ret    $0x8
404103:	e8 a3 00 00 00       	call   0x4041ab
404108:	cc                   	int3
404109:	8b ff                	mov    %edi,%edi
40410b:	55                   	push   %ebp
40410c:	8b ec                	mov    %esp,%ebp
40410e:	8b 55 08             	mov    0x8(%ebp),%edx
404111:	85 d2                	test   %edx,%edx
404113:	74 2b                	je     0x404140
404115:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
404119:	72 04                	jb     0x40411f
40411b:	8b 01                	mov    (%ecx),%eax
40411d:	eb 02                	jmp    0x404121
40411f:	8b c1                	mov    %ecx,%eax
404121:	3b d0                	cmp    %eax,%edx
404123:	72 1b                	jb     0x404140
404125:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
404129:	56                   	push   %esi
40412a:	72 04                	jb     0x404130
40412c:	8b 31                	mov    (%ecx),%esi
40412e:	eb 02                	jmp    0x404132
404130:	8b f1                	mov    %ecx,%esi
404132:	8b 41 10             	mov    0x10(%ecx),%eax
404135:	03 c6                	add    %esi,%eax
404137:	5e                   	pop    %esi
404138:	3b c2                	cmp    %edx,%eax
40413a:	76 04                	jbe    0x404140
40413c:	b0 01                	mov    $0x1,%al
40413e:	eb 02                	jmp    0x404142
404140:	32 c0                	xor    %al,%al
404142:	5d                   	pop    %ebp
404143:	c2 04 00             	ret    $0x4
404146:	8b ff                	mov    %edi,%edi
404148:	55                   	push   %ebp
404149:	8b ec                	mov    %esp,%ebp
40414b:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
40414f:	56                   	push   %esi
404150:	57                   	push   %edi
404151:	8b 7d 0c             	mov    0xc(%ebp),%edi
404154:	8b f1                	mov    %ecx,%esi
404156:	74 20                	je     0x404178
404158:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
40415c:	72 1a                	jb     0x404178
40415e:	53                   	push   %ebx
40415f:	8b 1e                	mov    (%esi),%ebx
404161:	85 ff                	test   %edi,%edi
404163:	74 0b                	je     0x404170
404165:	57                   	push   %edi
404166:	53                   	push   %ebx
404167:	56                   	push   %esi
404168:	e8 3c 09 00 00       	call   0x404aa9
40416d:	83 c4 0c             	add    $0xc,%esp
404170:	53                   	push   %ebx
404171:	e8 7e e7 ff ff       	call   0x4028f4
404176:	59                   	pop    %ecx
404177:	5b                   	pop    %ebx
404178:	89 7e 10             	mov    %edi,0x10(%esi)
40417b:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
404182:	c6 04 37 00          	movb   $0x0,(%edi,%esi,1)
404186:	5f                   	pop    %edi
404187:	5e                   	pop    %esi
404188:	5d                   	pop    %ebp
404189:	c2 08 00             	ret    $0x8
40418c:	8b ff                	mov    %edi,%edi
40418e:	55                   	push   %ebp
40418f:	8b ec                	mov    %esp,%ebp
404191:	83 ec 0c             	sub    $0xc,%esp
404194:	8d 4d f4             	lea    -0xc(%ebp),%ecx
404197:	e8 e5 fc ff ff       	call   0x403e81
40419c:	68 d8 55 40 00       	push   $0x4055d8
4041a1:	8d 45 f4             	lea    -0xc(%ebp),%eax
4041a4:	50                   	push   %eax
4041a5:	e8 7c 08 00 00       	call   0x404a26
4041aa:	cc                   	int3
4041ab:	68 6c 18 40 00       	push   $0x40186c
4041b0:	e8 01 00 00 00       	call   0x4041b6
4041b5:	cc                   	int3
4041b6:	8b ff                	mov    %edi,%edi
4041b8:	55                   	push   %ebp
4041b9:	8b ec                	mov    %esp,%ebp
4041bb:	83 ec 0c             	sub    $0xc,%esp
4041be:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4041c1:	ff 75 08             	push   0x8(%ebp)
4041c4:	e8 08 fd ff ff       	call   0x403ed1
4041c9:	68 48 56 40 00       	push   $0x405648
4041ce:	8d 45 f4             	lea    -0xc(%ebp),%eax
4041d1:	50                   	push   %eax
4041d2:	e8 4f 08 00 00       	call   0x404a26
4041d7:	cc                   	int3
4041d8:	8b ff                	mov    %edi,%edi
4041da:	55                   	push   %ebp
4041db:	8b ec                	mov    %esp,%ebp
4041dd:	83 ec 0c             	sub    $0xc,%esp
4041e0:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4041e3:	ff 75 08             	push   0x8(%ebp)
4041e6:	e8 e6 fc ff ff       	call   0x403ed1
4041eb:	68 84 56 40 00       	push   $0x405684
4041f0:	8d 45 f4             	lea    -0xc(%ebp),%eax
4041f3:	50                   	push   %eax
4041f4:	e8 2d 08 00 00       	call   0x404a26
4041f9:	cc                   	int3
4041fa:	68 54 18 40 00       	push   $0x401854
4041ff:	e8 d4 ff ff ff       	call   0x4041d8
404204:	cc                   	int3
404205:	8b ff                	mov    %edi,%edi
404207:	55                   	push   %ebp
404208:	8b ec                	mov    %esp,%ebp
40420a:	8b 45 0c             	mov    0xc(%ebp),%eax
40420d:	53                   	push   %ebx
40420e:	8b 5d 08             	mov    0x8(%ebp),%ebx
404211:	56                   	push   %esi
404212:	57                   	push   %edi
404213:	8b f1                	mov    %ecx,%esi
404215:	8b 7b 10             	mov    0x10(%ebx),%edi
404218:	3b f8                	cmp    %eax,%edi
40421a:	72 79                	jb     0x404295
40421c:	2b f8                	sub    %eax,%edi
40421e:	39 7d 10             	cmp    %edi,0x10(%ebp)
404221:	73 03                	jae    0x404226
404223:	8b 7d 10             	mov    0x10(%ebp),%edi
404226:	3b f3                	cmp    %ebx,%esi
404228:	75 17                	jne    0x404241
40422a:	03 c7                	add    %edi,%eax
40422c:	50                   	push   %eax
40422d:	e8 91 01 00 00       	call   0x4043c3
404232:	8b 45 0c             	mov    0xc(%ebp),%eax
404235:	8b ce                	mov    %esi,%ecx
404237:	50                   	push   %eax
404238:	6a 00                	push   $0x0
40423a:	e8 b0 01 00 00       	call   0x4043ef
40423f:	eb 4b                	jmp    0x40428c
404241:	6a 00                	push   $0x0
404243:	57                   	push   %edi
404244:	e8 62 fe ff ff       	call   0x4040ab
404249:	84 c0                	test   %al,%al
40424b:	74 3f                	je     0x40428c
40424d:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
404251:	72 02                	jb     0x404255
404253:	8b 1b                	mov    (%ebx),%ebx
404255:	8b 46 14             	mov    0x14(%esi),%eax
404258:	83 f8 10             	cmp    $0x10,%eax
40425b:	72 04                	jb     0x404261
40425d:	8b 0e                	mov    (%esi),%ecx
40425f:	eb 02                	jmp    0x404263
404261:	8b ce                	mov    %esi,%ecx
404263:	85 ff                	test   %edi,%edi
404265:	74 13                	je     0x40427a
404267:	8b 45 0c             	mov    0xc(%ebp),%eax
40426a:	57                   	push   %edi
40426b:	03 c3                	add    %ebx,%eax
40426d:	50                   	push   %eax
40426e:	51                   	push   %ecx
40426f:	e8 35 08 00 00       	call   0x404aa9
404274:	8b 46 14             	mov    0x14(%esi),%eax
404277:	83 c4 0c             	add    $0xc,%esp
40427a:	89 7e 10             	mov    %edi,0x10(%esi)
40427d:	83 f8 10             	cmp    $0x10,%eax
404280:	72 04                	jb     0x404286
404282:	8b 06                	mov    (%esi),%eax
404284:	eb 02                	jmp    0x404288
404286:	8b c6                	mov    %esi,%eax
404288:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
40428c:	5f                   	pop    %edi
40428d:	8b c6                	mov    %esi,%eax
40428f:	5e                   	pop    %esi
404290:	5b                   	pop    %ebx
404291:	5d                   	pop    %ebp
404292:	c2 0c 00             	ret    $0xc
404295:	e8 60 ff ff ff       	call   0x4041fa
40429a:	cc                   	int3
40429b:	8b ff                	mov    %edi,%edi
40429d:	55                   	push   %ebp
40429e:	8b ec                	mov    %esp,%ebp
4042a0:	53                   	push   %ebx
4042a1:	8b 5d 08             	mov    0x8(%ebp),%ebx
4042a4:	56                   	push   %esi
4042a5:	53                   	push   %ebx
4042a6:	8b f1                	mov    %ecx,%esi
4042a8:	e8 5c fe ff ff       	call   0x404109
4042ad:	84 c0                	test   %al,%al
4042af:	74 1c                	je     0x4042cd
4042b1:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
4042b5:	72 04                	jb     0x4042bb
4042b7:	8b 06                	mov    (%esi),%eax
4042b9:	eb 02                	jmp    0x4042bd
4042bb:	8b c6                	mov    %esi,%eax
4042bd:	ff 75 0c             	push   0xc(%ebp)
4042c0:	2b d8                	sub    %eax,%ebx
4042c2:	8b ce                	mov    %esi,%ecx
4042c4:	53                   	push   %ebx
4042c5:	56                   	push   %esi
4042c6:	e8 3a ff ff ff       	call   0x404205
4042cb:	eb 47                	jmp    0x404314