412f93:	5b                   	pop    %ebx
412f94:	8b e5                	mov    %ebp,%esp
412f96:	5d                   	pop    %ebp
412f97:	c3                   	ret
412f98:	53                   	push   %ebx
412f99:	56                   	push   %esi
412f9a:	8b f2                	mov    %edx,%esi
412f9c:	8b d8                	mov    %eax,%ebx
412f9e:	8b d6                	mov    %esi,%edx
412fa0:	8b 43 04             	mov    0x4(%ebx),%eax
412fa3:	e8 a4 10 00 00       	call   0x41404c
412fa8:	85 c0                	test   %eax,%eax
412faa:	0f 9d c0             	setge  %al
412fad:	5e                   	pop    %esi
412fae:	5b                   	pop    %ebx
412faf:	c3                   	ret
412fb0:	53                   	push   %ebx
412fb1:	56                   	push   %esi
412fb2:	8b da                	mov    %edx,%ebx
412fb4:	8b f0                	mov    %eax,%esi
412fb6:	85 db                	test   %ebx,%ebx
412fb8:	74 10                	je     0x412fca
412fba:	8b c6                	mov    %esi,%eax
412fbc:	e8 c7 25 ff ff       	call   0x405588
412fc1:	3b d8                	cmp    %eax,%ebx
412fc3:	74 05                	je     0x412fca
412fc5:	33 c0                	xor    %eax,%eax
412fc7:	5e                   	pop    %esi
412fc8:	5b                   	pop    %ebx
412fc9:	c3                   	ret
412fca:	b0 01                	mov    $0x1,%al
412fcc:	5e                   	pop    %esi
412fcd:	5b                   	pop    %ebx
412fce:	c3                   	ret
412fcf:	90                   	nop
412fd0:	53                   	push   %ebx
412fd1:	56                   	push   %esi
412fd2:	57                   	push   %edi
412fd3:	8b fa                	mov    %edx,%edi
412fd5:	8b f0                	mov    %eax,%esi
412fd7:	8b 46 0c             	mov    0xc(%esi),%eax
412fda:	8b 58 08             	mov    0x8(%eax),%ebx
412fdd:	4b                   	dec    %ebx
412fde:	83 fb 00             	cmp    $0x0,%ebx
412fe1:	7c 25                	jl     0x413008
412fe3:	8b d3                	mov    %ebx,%edx
412fe5:	8b 46 0c             	mov    0xc(%esi),%eax
412fe8:	e8 fb 0f 00 00       	call   0x413fe8
412fed:	8b d7                	mov    %edi,%edx
412fef:	e8 bc ff ff ff       	call   0x412fb0
412ff4:	84 c0                	test   %al,%al
412ff6:	74 0a                	je     0x413002
412ff8:	8b d3                	mov    %ebx,%edx
412ffa:	8b 46 0c             	mov    0xc(%esi),%eax
412ffd:	e8 c2 0e 00 00       	call   0x413ec4
413002:	4b                   	dec    %ebx
413003:	83 fb ff             	cmp    $0xffffffff,%ebx
413006:	75 db                	jne    0x412fe3
413008:	8b 46 04             	mov    0x4(%esi),%eax
41300b:	8b 58 08             	mov    0x8(%eax),%ebx
41300e:	4b                   	dec    %ebx
41300f:	83 fb 00             	cmp    $0x0,%ebx
413012:	7c 25                	jl     0x413039
413014:	8b d3                	mov    %ebx,%edx
413016:	8b 46 04             	mov    0x4(%esi),%eax
413019:	e8 ca 0f 00 00       	call   0x413fe8
41301e:	8b d7                	mov    %edi,%edx
413020:	e8 8b ff ff ff       	call   0x412fb0
413025:	84 c0                	test   %al,%al
413027:	74 0a                	je     0x413033
413029:	8b d3                	mov    %ebx,%edx
41302b:	8b 46 04             	mov    0x4(%esi),%eax
41302e:	e8 91 0e 00 00       	call   0x413ec4
413033:	4b                   	dec    %ebx
413034:	83 fb ff             	cmp    $0xffffffff,%ebx
413037:	75 db                	jne    0x413014
413039:	8b 46 08             	mov    0x8(%esi),%eax
41303c:	8b 10                	mov    (%eax),%edx
41303e:	ff 52 14             	call   *0x14(%edx)
413041:	8b d8                	mov    %eax,%ebx
413043:	4b                   	dec    %ebx
413044:	83 fb 00             	cmp    $0x0,%ebx
413047:	7c 25                	jl     0x41306e
413049:	8b d3                	mov    %ebx,%edx
41304b:	8b 46 08             	mov    0x8(%esi),%eax
41304e:	8b 08                	mov    (%eax),%ecx
413050:	ff 51 18             	call   *0x18(%ecx)
413053:	8b d7                	mov    %edi,%edx
413055:	e8 56 ff ff ff       	call   0x412fb0
41305a:	84 c0                	test   %al,%al
41305c:	74 0a                	je     0x413068
41305e:	8b d3                	mov    %ebx,%edx
413060:	8b 46 08             	mov    0x8(%esi),%eax
413063:	8b 08                	mov    (%eax),%ecx
413065:	ff 51 48             	call   *0x48(%ecx)
413068:	4b                   	dec    %ebx
413069:	83 fb ff             	cmp    $0xffffffff,%ebx
41306c:	75 db                	jne    0x413049
41306e:	5f                   	pop    %edi
41306f:	5e                   	pop    %esi
413070:	5b                   	pop    %ebx
413071:	c3                   	ret
413072:	8b c0                	mov    %eax,%eax
413074:	53                   	push   %ebx
413075:	56                   	push   %esi
413076:	57                   	push   %edi
413077:	55                   	push   %ebp
413078:	51                   	push   %ecx
413079:	89 14 24             	mov    %edx,(%esp)
41307c:	8b f8                	mov    %eax,%edi
41307e:	8b 47 20             	mov    0x20(%edi),%eax
413081:	3b 04 24             	cmp    (%esp),%eax
413084:	74 31                	je     0x4130b7
413086:	8b 04 24             	mov    (%esp),%eax
413089:	89 47 20             	mov    %eax,0x20(%edi)
41308c:	8b 47 04             	mov    0x4(%edi),%eax
41308f:	8b 70 08             	mov    0x8(%eax),%esi
413092:	4e                   	dec    %esi
413093:	85 f6                	test   %esi,%esi
413095:	7c 20                	jl     0x4130b7
413097:	46                   	inc    %esi
413098:	33 ed                	xor    %ebp,%ebp
41309a:	8b 47 04             	mov    0x4(%edi),%eax
41309d:	8b d5                	mov    %ebp,%edx
41309f:	e8 44 0f 00 00       	call   0x413fe8
4130a4:	8b d8                	mov    %eax,%ebx
4130a6:	8b 14 24             	mov    (%esp),%edx
4130a9:	8b c3                	mov    %ebx,%eax
4130ab:	e8 fc fd ff ff       	call   0x412eac
4130b0:	88 43 10             	mov    %al,0x10(%ebx)
4130b3:	45                   	inc    %ebp
4130b4:	4e                   	dec    %esi
4130b5:	75 e3                	jne    0x41309a
4130b7:	5a                   	pop    %edx
4130b8:	5d                   	pop    %ebp
4130b9:	5f                   	pop    %edi
4130ba:	5e                   	pop    %esi
4130bb:	5b                   	pop    %ebx
4130bc:	c3                   	ret
4130bd:	8d 40 00             	lea    0x0(%eax),%eax
4130c0:	53                   	push   %ebx
4130c1:	56                   	push   %esi
4130c2:	57                   	push   %edi
4130c3:	84 d2                	test   %dl,%dl
4130c5:	74 08                	je     0x4130cf
4130c7:	83 c4 f0             	add    $0xfffffff0,%esp
4130ca:	e8 4d 0a ff ff       	call   0x403b1c
4130cf:	8b da                	mov    %edx,%ebx
4130d1:	8b f8                	mov    %eax,%edi
4130d3:	33 d2                	xor    %edx,%edx
4130d5:	8b c7                	mov    %edi,%eax
4130d7:	e8 f0 06 ff ff       	call   0x4037cc
4130dc:	b2 01                	mov    $0x1,%dl
4130de:	a1 6c 1c 41 00       	mov    0x411c6c,%eax
4130e3:	e8 e4 06 ff ff       	call   0x4037cc
4130e8:	89 47 04             	mov    %eax,0x4(%edi)
4130eb:	8d 47 08             	lea    0x8(%edi),%eax
4130ee:	50                   	push   %eax
4130ef:	e8 58 36 ff ff       	call   0x40674c
4130f4:	8b 0d 7c 1d 41 00    	mov    0x411d7c,%ecx
4130fa:	b2 01                	mov    $0x1,%dl
4130fc:	a1 04 2c 41 00       	mov    0x412c04,%eax
413101:	e8 8a fc ff ff       	call   0x412d90
413106:	8b f0                	mov    %eax,%esi
413108:	8b 47 04             	mov    0x4(%edi),%eax
41310b:	8b d6                	mov    %esi,%edx
41310d:	e8 66 0d 00 00       	call   0x413e78
413112:	c6 46 10 01          	movb   $0x1,0x10(%esi)
413116:	8b c7                	mov    %edi,%eax
413118:	84 db                	test   %bl,%bl
41311a:	74 0f                	je     0x41312b
41311c:	e8 53 0a ff ff       	call   0x403b74
413121:	64 8f 05 00 00 00 00 	pop    %fs:0x0
413128:	83 c4 0c             	add    $0xc,%esp
41312b:	8b c7                	mov    %edi,%eax
41312d:	5f                   	pop    %edi
41312e:	5e                   	pop    %esi
41312f:	5b                   	pop    %ebx
413130:	c3                   	ret
413131:	8d 40 00             	lea    0x0(%eax),%eax
413134:	53                   	push   %ebx
413135:	56                   	push   %esi
413136:	57                   	push   %edi
413137:	55                   	push   %ebp
413138:	e8 47 0a ff ff       	call   0x403b84
41313d:	8b da                	mov    %edx,%ebx
41313f:	8b f0                	mov    %eax,%esi
413141:	8d 46 08             	lea    0x8(%esi),%eax
413144:	50                   	push   %eax
413145:	e8 d2 34 ff ff       	call   0x40661c
41314a:	8b 46 04             	mov    0x4(%esi),%eax
41314d:	8b 68 08             	mov    0x8(%eax),%ebp
413150:	4d                   	dec    %ebp
413151:	85 ed                	test   %ebp,%ebp
413153:	7c 16                	jl     0x41316b
413155:	45                   	inc    %ebp
413156:	33 ff                	xor    %edi,%edi
413158:	8b 46 04             	mov    0x4(%esi),%eax
41315b:	8b d7                	mov    %edi,%edx
41315d:	e8 86 0e 00 00       	call   0x413fe8
413162:	e8 95 06 ff ff       	call   0x4037fc
413167:	47                   	inc    %edi
413168:	4d                   	dec    %ebp
413169:	75 ed                	jne    0x413158
41316b:	8b 46 04             	mov    0x4(%esi),%eax
41316e:	e8 89 06 ff ff       	call   0x4037fc
413173:	8b d3                	mov    %ebx,%edx
413175:	80 e2 fc             	and    $0xfc,%dl
413178:	8b c6                	mov    %esi,%eax
41317a:	e8 6d 06 ff ff       	call   0x4037ec
41317f:	84 db                	test   %bl,%bl
413181:	7e 07                	jle    0x41318a
413183:	8b c6                	mov    %esi,%eax
413185:	e8 e2 09 ff ff       	call   0x403b6c
41318a:	5d                   	pop    %ebp
41318b:	5f                   	pop    %edi
41318c:	5e                   	pop    %esi
41318d:	5b                   	pop    %ebx
41318e:	c3                   	ret
41318f:	90                   	nop
413190:	53                   	push   %ebx
413191:	56                   	push   %esi
413192:	57                   	push   %edi
413193:	55                   	push   %ebp
413194:	51                   	push   %ecx
413195:	89 14 24             	mov    %edx,(%esp)
413198:	8b e8                	mov    %eax,%ebp
41319a:	33 f6                	xor    %esi,%esi
41319c:	8b 45 04             	mov    0x4(%ebp),%eax
41319f:	8b 58 08             	mov    0x8(%eax),%ebx
4131a2:	4b                   	dec    %ebx
4131a3:	85 db                	test   %ebx,%ebx
4131a5:	7c 25                	jl     0x4131cc
4131a7:	43                   	inc    %ebx
4131a8:	33 ff                	xor    %edi,%edi
4131aa:	8b 45 04             	mov    0x4(%ebp),%eax
4131ad:	8b d7                	mov    %edi,%edx
4131af:	e8 34 0e 00 00       	call   0x413fe8
4131b4:	8b 14 24             	mov    (%esp),%edx
4131b7:	52                   	push   %edx
4131b8:	8b ce                	mov    %esi,%ecx
4131ba:	8b d0                	mov    %eax,%edx
4131bc:	a1 04 2c 41 00       	mov    0x412c04,%eax
4131c1:	e8 5a fb ff ff       	call   0x412d20
4131c6:	8b f0                	mov    %eax,%esi
4131c8:	47                   	inc    %edi
4131c9:	4b                   	dec    %ebx
4131ca:	75 de                	jne    0x4131aa
4131cc:	8b c6                	mov    %esi,%eax
4131ce:	5a                   	pop    %edx
4131cf:	5d                   	pop    %ebp
4131d0:	5f                   	pop    %edi
4131d1:	5e                   	pop    %esi
4131d2:	5b                   	pop    %ebx
4131d3:	c3                   	ret
4131d4:	53                   	push   %ebx
4131d5:	56                   	push   %esi
4131d6:	57                   	push   %edi
4131d7:	55                   	push   %ebp
4131d8:	51                   	push   %ecx
4131d9:	89 14 24             	mov    %edx,(%esp)
4131dc:	8b e8                	mov    %eax,%ebp
4131de:	33 ff                	xor    %edi,%edi
4131e0:	8b 45 04             	mov    0x4(%ebp),%eax
4131e3:	8b 58 08             	mov    0x8(%eax),%ebx
4131e6:	4b                   	dec    %ebx
4131e7:	85 db                	test   %ebx,%ebx
4131e9:	7c 25                	jl     0x413210
4131eb:	43                   	inc    %ebx
4131ec:	33 f6                	xor    %esi,%esi
4131ee:	8b 45 04             	mov    0x4(%ebp),%eax
4131f1:	8b d6                	mov    %esi,%edx
4131f3:	e8 f0 0d 00 00       	call   0x413fe8
4131f8:	80 78 10 00          	cmpb   $0x0,0x10(%eax)
4131fc:	74 0a                	je     0x413208
4131fe:	8b 14 24             	mov    (%esp),%edx
413201:	e8 46 fc ff ff       	call   0x412e4c
413206:	8b f8                	mov    %eax,%edi
413208:	85 ff                	test   %edi,%edi
41320a:	75 04                	jne    0x413210
41320c:	46                   	inc    %esi
41320d:	4b                   	dec    %ebx
41320e:	75 de                	jne    0x4131ee
413210:	8b c7                	mov    %edi,%eax
413212:	5a                   	pop    %edx
413213:	5d                   	pop    %ebp
413214:	5f                   	pop    %edi
413215:	5e                   	pop    %esi
413216:	5b                   	pop    %ebx
413217:	c3                   	ret
413218:	55                   	push   %ebp
413219:	8b ec                	mov    %esp,%ebp
41321b:	81 c4 f4 fe ff ff    	add    $0xfffffef4,%esp
413221:	33 c0                	xor    %eax,%eax
413223:	89 85 f4 fe ff ff    	mov    %eax,-0x10c(%ebp)
413229:	33 c0                	xor    %eax,%eax
41322b:	55                   	push   %ebp
41322c:	68 9b 32 41 00       	push   $0x41329b
413231:	64 ff 30             	push   %fs:(%eax)
413234:	64 89 20             	mov    %esp,%fs:(%eax)
413237:	8d 95 f8 fe ff ff    	lea    -0x108(%ebp),%edx
41323d:	8b 45 08             	mov    0x8(%ebp),%eax
413240:	8b 40 fc             	mov    -0x4(%eax),%eax
413243:	e8 04 05 ff ff       	call   0x40374c
413248:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
41324e:	89 45 f8             	mov    %eax,-0x8(%ebp)
413251:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
413255:	8d 45 f8             	lea    -0x8(%ebp),%eax
413258:	50                   	push   %eax
413259:	6a 00                	push   $0x0
41325b:	8d 95 f4 fe ff ff    	lea    -0x10c(%ebp),%edx
413261:	a1 ec 0c 46 00       	mov    0x460cec,%eax
413266:	e8 d1 2e ff ff       	call   0x40613c
41326b:	8b 8d f4 fe ff ff    	mov    -0x10c(%ebp),%ecx
413271:	b2 01                	mov    $0x1,%dl
413273:	a1 84 18 41 00       	mov    0x411884,%eax
413278:	e8 d3 87 ff ff       	call   0x40ba50
41327d:	e8 02 0d ff ff       	call   0x403f84
413282:	33 c0                	xor    %eax,%eax
413284:	5a                   	pop    %edx
413285:	59                   	pop    %ecx
413286:	59                   	pop    %ecx
413287:	64 89 10             	mov    %edx,%fs:(%eax)
41328a:	68 a2 32 41 00       	push   $0x4132a2
41328f:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
413295:	e8 d6 12 ff ff       	call   0x404570
41329a:	c3                   	ret
41329b:	e9 ac 0c ff ff       	jmp    0x403f4c
4132a0:	eb ed                	jmp    0x41328f
4132a2:	8b e5                	mov    %ebp,%esp
4132a4:	5d                   	pop    %ebp
4132a5:	c3                   	ret
4132a6:	8b c0                	mov    %eax,%eax
4132a8:	55                   	push   %ebp
4132a9:	8b ec                	mov    %esp,%ebp
4132ab:	83 c4 e8             	add    $0xffffffe8,%esp
4132ae:	53                   	push   %ebx
4132af:	56                   	push   %esi
4132b0:	57                   	push   %edi
4132b1:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4132b4:	89 55 f4             	mov    %edx,-0xc(%ebp)
4132b7:	89 45 f8             	mov    %eax,-0x8(%ebp)
4132ba:	8b 55 fc             	mov    -0x4(%ebp),%edx
4132bd:	8b 45 f8             	mov    -0x8(%ebp),%eax
4132c0:	e8 cb fe ff ff       	call   0x413190
4132c5:	89 45 f0             	mov    %eax,-0x10(%ebp)
4132c8:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4132cc:	75 07                	jne    0x4132d5
4132ce:	55                   	push   %ebp
4132cf:	e8 44 ff ff ff       	call   0x413218