472da7:	5d                   	pop    %ebp
472da8:	c2 0c 00             	ret    $0xc
472dab:	56                   	push   %esi
472dac:	8b 74 24 08          	mov    0x8(%esp),%esi
472db0:	68 9c 9b 48 00       	push   $0x489b9c
472db5:	8b ce                	mov    %esi,%ecx
472db7:	e8 42 dc fc ff       	call   0x4409fe
472dbc:	85 c0                	test   %eax,%eax
472dbe:	74 05                	je     0x472dc5
472dc0:	8b 46 08             	mov    0x8(%esi),%eax
472dc3:	eb 31                	jmp    0x472df6
472dc5:	68 58 9c 48 00       	push   $0x489c58
472dca:	8b ce                	mov    %esi,%ecx
472dcc:	e8 2d dc fc ff       	call   0x4409fe
472dd1:	85 c0                	test   %eax,%eax
472dd3:	74 07                	je     0x472ddc
472dd5:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
472dda:	eb 1a                	jmp    0x472df6
472ddc:	68 24 9c 48 00       	push   $0x489c24
472de1:	8b ce                	mov    %esi,%ecx
472de3:	e8 16 dc fc ff       	call   0x4409fe
472de8:	f7 d8                	neg    %eax
472dea:	1b c0                	sbb    %eax,%eax
472dec:	25 02 40 ff ff       	and    $0xffff4002,%eax
472df1:	05 ff ff 00 80       	add    $0x8000ffff,%eax
472df6:	5e                   	pop    %esi
472df7:	c2 04 00             	ret    $0x4
472dfa:	51                   	push   %ecx
472dfb:	51                   	push   %ecx
472dfc:	53                   	push   %ebx
472dfd:	56                   	push   %esi
472dfe:	ff 74 24 18          	push   0x18(%esp)
472e02:	8b 35 74 08 4b 00    	mov    0x4b0874,%esi
472e08:	ff d6                	call   *%esi
472e0a:	ff 74 24 14          	push   0x14(%esp)
472e0e:	89 44 24 0c          	mov    %eax,0xc(%esp)
472e12:	ff d6                	call   *%esi
472e14:	8b d8                	mov    %eax,%ebx
472e16:	4b                   	dec    %ebx
472e17:	0f 88 82 00 00 00    	js     0x472e9f
472e1d:	55                   	push   %ebp
472e1e:	8b 2d 78 08 4b 00    	mov    0x4b0878,%ebp
472e24:	57                   	push   %edi
472e25:	53                   	push   %ebx
472e26:	ff 74 24 20          	push   0x20(%esp)
472e2a:	ff d5                	call   *%ebp
472e2c:	8b f0                	mov    %eax,%esi
472e2e:	33 ff                	xor    %edi,%edi
472e30:	3b f7                	cmp    %edi,%esi
472e32:	74 66                	je     0x472e9a
472e34:	39 7c 24 24          	cmp    %edi,0x24(%esp)
472e38:	74 36                	je     0x472e70
472e3a:	56                   	push   %esi
472e3b:	ff 15 74 08 4b 00    	call   *0x4b0874
472e41:	85 c0                	test   %eax,%eax
472e43:	89 44 24 14          	mov    %eax,0x14(%esp)
472e47:	7e 51                	jle    0x472e9a
472e49:	57                   	push   %edi
472e4a:	56                   	push   %esi
472e4b:	ff d5                	call   *%ebp
472e4d:	3b 44 24 24          	cmp    0x24(%esp),%eax
472e51:	74 09                	je     0x472e5c
472e53:	47                   	inc    %edi
472e54:	3b 7c 24 14          	cmp    0x14(%esp),%edi
472e58:	7c ef                	jl     0x472e49
472e5a:	eb 3e                	jmp    0x472e9a
472e5c:	68 00 04 00 00       	push   $0x400
472e61:	57                   	push   %edi
472e62:	56                   	push   %esi
472e63:	ff 15 7c 08 4b 00    	call   *0x4b087c
472e69:	83 64 24 24 00       	andl   $0x0,0x24(%esp)
472e6e:	eb 2a                	jmp    0x472e9a
472e70:	39 7c 24 10          	cmp    %edi,0x10(%esp)
472e74:	7e 24                	jle    0x472e9a
472e76:	57                   	push   %edi
472e77:	ff 74 24 24          	push   0x24(%esp)
472e7b:	ff d5                	call   *%ebp
472e7d:	3b c6                	cmp    %esi,%eax
472e7f:	74 09                	je     0x472e8a
472e81:	47                   	inc    %edi
472e82:	3b 7c 24 10          	cmp    0x10(%esp),%edi
472e86:	7c ee                	jl     0x472e76
472e88:	eb 10                	jmp    0x472e9a
472e8a:	68 00 04 00 00       	push   $0x400
472e8f:	53                   	push   %ebx
472e90:	ff 74 24 24          	push   0x24(%esp)
472e94:	ff 15 7c 08 4b 00    	call   *0x4b087c
472e9a:	4b                   	dec    %ebx
472e9b:	79 88                	jns    0x472e25
472e9d:	5f                   	pop    %edi
472e9e:	5d                   	pop    %ebp
472e9f:	5e                   	pop    %esi
472ea0:	5b                   	pop    %ebx
472ea1:	59                   	pop    %ecx
472ea2:	59                   	pop    %ecx
472ea3:	c2 0c 00             	ret    $0xc
472ea6:	8b 44 24 04          	mov    0x4(%esp),%eax
472eaa:	85 c0                	test   %eax,%eax
472eac:	75 24                	jne    0x472ed2
472eae:	66 8b 4c 24 08       	mov    0x8(%esp),%cx
472eb3:	66 85 c9             	test   %cx,%cx
472eb6:	74 1a                	je     0x472ed2
472eb8:	8b 44 24 0c          	mov    0xc(%esp),%eax
472ebc:	83 60 04 00          	andl   $0x0,0x4(%eax)
472ec0:	83 48 0c ff          	orl    $0xffffffff,0xc(%eax)
472ec4:	83 48 10 ff          	orl    $0xffffffff,0x10(%eax)
472ec8:	66 89 08             	mov    %cx,(%eax)
472ecb:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
472ed2:	c2 0c 00             	ret    $0xc
472ed5:	55                   	push   %ebp
472ed6:	8b ec                	mov    %esp,%ebp
472ed8:	53                   	push   %ebx
472ed9:	56                   	push   %esi
472eda:	8b 35 3c 03 4b 00    	mov    0x4b033c,%esi
472ee0:	57                   	push   %edi
472ee1:	ff 75 0c             	push   0xc(%ebp)
472ee4:	ff d6                	call   *%esi
472ee6:	8b 7d 08             	mov    0x8(%ebp),%edi
472ee9:	85 ff                	test   %edi,%edi
472eeb:	8b d8                	mov    %eax,%ebx
472eed:	75 47                	jne    0x472f36
472eef:	53                   	push   %ebx
472ef0:	68 02 20 00 00       	push   $0x2002
472ef5:	ff 15 58 03 4b 00    	call   *0x4b0358
472efb:	8b f8                	mov    %eax,%edi
472efd:	85 ff                	test   %edi,%edi
472eff:	74 3c                	je     0x472f3d
472f01:	ff 75 0c             	push   0xc(%ebp)
472f04:	8b 35 40 03 4b 00    	mov    0x4b0340,%esi
472f0a:	ff d6                	call   *%esi
472f0c:	57                   	push   %edi
472f0d:	89 45 08             	mov    %eax,0x8(%ebp)
472f10:	ff d6                	call   *%esi
472f12:	53                   	push   %ebx
472f13:	ff 75 08             	push   0x8(%ebp)
472f16:	50                   	push   %eax
472f17:	e8 54 49 fa ff       	call   0x417870
472f1c:	8b 35 44 03 4b 00    	mov    0x4b0344,%esi
472f22:	83 c4 0c             	add    $0xc,%esp
472f25:	57                   	push   %edi
472f26:	ff d6                	call   *%esi
472f28:	ff 75 0c             	push   0xc(%ebp)
472f2b:	ff d6                	call   *%esi
472f2d:	8b c7                	mov    %edi,%eax
472f2f:	5f                   	pop    %edi
472f30:	5e                   	pop    %esi
472f31:	5b                   	pop    %ebx
472f32:	5d                   	pop    %ebp
472f33:	c2 08 00             	ret    $0x8
472f36:	57                   	push   %edi
472f37:	ff d6                	call   *%esi
472f39:	3b d8                	cmp    %eax,%ebx
472f3b:	76 c4                	jbe    0x472f01
472f3d:	33 c0                	xor    %eax,%eax
472f3f:	eb ee                	jmp    0x472f2f
472f41:	55                   	push   %ebp
472f42:	8b ec                	mov    %esp,%ebp
472f44:	83 ec 20             	sub    $0x20,%esp
472f47:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
472f4c:	56                   	push   %esi
472f4d:	8b 75 08             	mov    0x8(%ebp),%esi
472f50:	89 45 fc             	mov    %eax,-0x4(%ebp)
472f53:	57                   	push   %edi
472f54:	8d 45 ec             	lea    -0x14(%ebp),%eax
472f57:	50                   	push   %eax
472f58:	56                   	push   %esi
472f59:	ff 15 08 0b 4b 00    	call   *0x4b0b08
472f5f:	33 ff                	xor    %edi,%edi
472f61:	3b c7                	cmp    %edi,%eax
472f63:	0f 85 97 00 00 00    	jne    0x473000
472f69:	8d 45 e4             	lea    -0x1c(%ebp),%eax
472f6c:	50                   	push   %eax
472f6d:	8d 45 08             	lea    0x8(%ebp),%eax
472f70:	50                   	push   %eax
472f71:	56                   	push   %esi
472f72:	89 7d e4             	mov    %edi,-0x1c(%ebp)
472f75:	ff 15 04 0b 4b 00    	call   *0x4b0b04
472f7b:	8d 45 e8             	lea    -0x18(%ebp),%eax
472f7e:	50                   	push   %eax
472f7f:	6a 01                	push   $0x1
472f81:	ff 75 0c             	push   0xc(%ebp)
472f84:	89 7d e0             	mov    %edi,-0x20(%ebp)
472f87:	89 7d e8             	mov    %edi,-0x18(%ebp)
472f8a:	ff 15 00 0b 4b 00    	call   *0x4b0b00
472f90:	85 c0                	test   %eax,%eax
472f92:	74 06                	je     0x472f9a
472f94:	8d 45 e0             	lea    -0x20(%ebp),%eax
472f97:	89 45 e8             	mov    %eax,-0x18(%ebp)
472f9a:	53                   	push   %ebx
472f9b:	ff 75 0c             	push   0xc(%ebp)
472f9e:	8b 1d fc 0a 4b 00    	mov    0x4b0afc,%ebx
472fa4:	56                   	push   %esi
472fa5:	ff d3                	call   *%ebx
472fa7:	3b c7                	cmp    %edi,%eax
472fa9:	89 45 0c             	mov    %eax,0xc(%ebp)
472fac:	75 36                	jne    0x472fe4
472fae:	ff 75 e8             	push   -0x18(%ebp)
472fb1:	8b 3d f8 0a 4b 00    	mov    0x4b0af8,%edi
472fb7:	ff 75 08             	push   0x8(%ebp)
472fba:	56                   	push   %esi
472fbb:	ff d7                	call   *%edi
472fbd:	85 c0                	test   %eax,%eax
472fbf:	89 45 0c             	mov    %eax,0xc(%ebp)
472fc2:	75 10                	jne    0x472fd4
472fc4:	6a 01                	push   $0x1
472fc6:	56                   	push   %esi
472fc7:	ff 15 f4 0a 4b 00    	call   *0x4b0af4
472fcd:	85 c0                	test   %eax,%eax
472fcf:	89 45 0c             	mov    %eax,0xc(%ebp)
472fd2:	74 10                	je     0x472fe4
472fd4:	8d 45 ec             	lea    -0x14(%ebp),%eax
472fd7:	50                   	push   %eax
472fd8:	56                   	push   %esi
472fd9:	ff d3                	call   *%ebx
472fdb:	ff 75 e4             	push   -0x1c(%ebp)
472fde:	ff 75 08             	push   0x8(%ebp)
472fe1:	56                   	push   %esi
472fe2:	ff d7                	call   *%edi
472fe4:	8b 35 f0 0a 4b 00    	mov    0x4b0af0,%esi
472fea:	8d 45 e0             	lea    -0x20(%ebp),%eax
472fed:	39 45 e8             	cmp    %eax,-0x18(%ebp)
472ff0:	5b                   	pop    %ebx
472ff1:	74 05                	je     0x472ff8
472ff3:	ff 75 e8             	push   -0x18(%ebp)
472ff6:	ff d6                	call   *%esi
472ff8:	ff 75 e4             	push   -0x1c(%ebp)
472ffb:	ff d6                	call   *%esi
472ffd:	8b 45 0c             	mov    0xc(%ebp),%eax
473000:	8b 4d fc             	mov    -0x4(%ebp),%ecx
473003:	5f                   	pop    %edi
473004:	5e                   	pop    %esi
473005:	e8 d4 4b fa ff       	call   0x417bde
47300a:	c9                   	leave
47300b:	c2 08 00             	ret    $0x8
47300e:	55                   	push   %ebp
47300f:	8b ec                	mov    %esp,%ebp
473011:	51                   	push   %ecx
473012:	51                   	push   %ecx
473013:	56                   	push   %esi
473014:	8b 35 10 0b 4b 00    	mov    0x4b0b10,%esi
47301a:	57                   	push   %edi
47301b:	ff 75 10             	push   0x10(%ebp)
47301e:	ff 75 0c             	push   0xc(%ebp)
473021:	ff d6                	call   *%esi
473023:	8b f8                	mov    %eax,%edi
473025:	85 ff                	test   %edi,%edi
473027:	74 68                	je     0x473091
473029:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
47302d:	74 62                	je     0x473091
47302f:	8d 45 f8             	lea    -0x8(%ebp),%eax
473032:	50                   	push   %eax
473033:	68 c8 9b 48 00       	push   $0x489bc8
473038:	68 00 00 00 80       	push   $0x80000000
47303d:	ff 15 84 fe 4a 00    	call   *0x4afe84
473043:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
473047:	8d 45 fc             	lea    -0x4(%ebp),%eax
47304a:	50                   	push   %eax
47304b:	ff 75 0c             	push   0xc(%ebp)
47304e:	ff 15 0c 0b 4b 00    	call   *0x4b0b0c
473054:	ff 75 fc             	push   -0x4(%ebp)
473057:	e8 f2 ac ff ff       	call   0x46dd4e
47305c:	ff 75 08             	push   0x8(%ebp)
47305f:	8b f8                	mov    %eax,%edi
473061:	ff 15 88 03 4b 00    	call   *0x4b0388
473067:	50                   	push   %eax
473068:	ff 75 08             	push   0x8(%ebp)
47306b:	6a 01                	push   $0x1
47306d:	57                   	push   %edi
47306e:	ff 75 f8             	push   -0x8(%ebp)
473071:	ff 15 80 fe 4a 00    	call   *0x4afe80
473077:	57                   	push   %edi
473078:	ff 15 f0 0a 4b 00    	call   *0x4b0af0
47307e:	ff 75 10             	push   0x10(%ebp)
473081:	ff 75 0c             	push   0xc(%ebp)
473084:	ff d6                	call   *%esi
473086:	ff 75 f8             	push   -0x8(%ebp)
473089:	8b f8                	mov    %eax,%edi
47308b:	ff 15 ac fe 4a 00    	call   *0x4afeac
473091:	8b c7                	mov    %edi,%eax
473093:	5f                   	pop    %edi
473094:	5e                   	pop    %esi
473095:	c9                   	leave
473096:	c2 0c 00             	ret    $0xc
473099:	55                   	push   %ebp
47309a:	8b ec                	mov    %esp,%ebp
47309c:	51                   	push   %ecx
47309d:	51                   	push   %ecx
47309e:	56                   	push   %esi
47309f:	8b 75 08             	mov    0x8(%ebp),%esi
4730a2:	85 f6                	test   %esi,%esi
4730a4:	74 27                	je     0x4730cd
4730a6:	8b 06                	mov    (%esi),%eax
4730a8:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4730ab:	51                   	push   %ecx
4730ac:	56                   	push   %esi
4730ad:	ff 50 58             	call   *0x58(%eax)
4730b0:	85 c0                	test   %eax,%eax
4730b2:	75 40                	jne    0x4730f4
4730b4:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
4730b8:	75 3a                	jne    0x4730f4
4730ba:	21 45 08             	and    %eax,0x8(%ebp)
4730bd:	8b 06                	mov    (%esi),%eax
4730bf:	8d 4d 08             	lea    0x8(%ebp),%ecx
4730c2:	51                   	push   %ecx
4730c3:	6a 01                	push   $0x1
4730c5:	56                   	push   %esi
4730c6:	ff 50 30             	call   *0x30(%eax)
4730c9:	85 c0                	test   %eax,%eax
4730cb:	74 04                	je     0x4730d1
4730cd:	33 c0                	xor    %eax,%eax
4730cf:	eb 2b                	jmp    0x4730fc
4730d1:	8b 45 08             	mov    0x8(%ebp),%eax
4730d4:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4730d8:	8b 08                	mov    (%eax),%ecx
4730da:	6a 00                	push   $0x0
4730dc:	8d 55 fc             	lea    -0x4(%ebp),%edx
4730df:	52                   	push   %edx
4730e0:	6a 01                	push   $0x1
4730e2:	50                   	push   %eax
4730e3:	ff 51 0c             	call   *0xc(%ecx)
4730e6:	8d 45 08             	lea    0x8(%ebp),%eax
4730e9:	50                   	push   %eax
4730ea:	e8 34 0e 00 00       	call   0x473f23
4730ef:	8b 45 fc             	mov    -0x4(%ebp),%eax
4730f2:	eb 08                	jmp    0x4730fc
4730f4:	8b 06                	mov    (%esi),%eax
4730f6:	56                   	push   %esi
4730f7:	ff 50 04             	call   *0x4(%eax)
4730fa:	8b c6                	mov    %esi,%eax
4730fc:	5e                   	pop    %esi
4730fd:	c9                   	leave
4730fe:	c2 04 00             	ret    $0x4
473101:	55                   	push   %ebp
473102:	8b ec                	mov    %esp,%ebp
473104:	83 ec 18             	sub    $0x18,%esp
473107:	53                   	push   %ebx
473108:	56                   	push   %esi
473109:	57                   	push   %edi
47310a:	ff 15 fc 70 4a 00    	call   *0x4a70fc
473110:	33 db                	xor    %ebx,%ebx
473112:	39 5d 08             	cmp    %ebx,0x8(%ebp)
473115:	89 45 ec             	mov    %eax,-0x14(%ebp)
473118:	75 07                	jne    0x473121
47311a:	33 c0                	xor    %eax,%eax
47311c:	e9 b8 00 00 00       	jmp    0x4731d9
473121:	ff 75 08             	push   0x8(%ebp)
473124:	89 5d f4             	mov    %ebx,-0xc(%ebp)
473127:	e8 6d ff ff ff       	call   0x473099
47312c:	3b c3                	cmp    %ebx,%eax
47312e:	89 45 f8             	mov    %eax,-0x8(%ebp)