4a1df4:	ff 15 40 a1 50 00    	call   *0x50a140
4a1dfa:	83 c4 04             	add    $0x4,%esp
4a1dfd:	89 44 24 14          	mov    %eax,0x14(%esp)
4a1e01:	8b 44 24 64          	mov    0x64(%esp),%eax
4a1e05:	8b 5c 24 5c          	mov    0x5c(%esp),%ebx
4a1e09:	85 c0                	test   %eax,%eax
4a1e0b:	75 05                	jne    0x4a1e12
4a1e0d:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
4a1e12:	8b 44 24 14          	mov    0x14(%esp),%eax
4a1e16:	85 c0                	test   %eax,%eax
4a1e18:	7e 45                	jle    0x4a1e5f
4a1e1a:	85 db                	test   %ebx,%ebx
4a1e1c:	7e 41                	jle    0x4a1e5f
4a1e1e:	8b 44 24 4c          	mov    0x4c(%esp),%eax
4a1e22:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
4a1e29:	00
4a1e2a:	85 c0                	test   %eax,%eax
4a1e2c:	74 1a                	je     0x4a1e48
4a1e2e:	8b 44 24 44          	mov    0x44(%esp),%eax
4a1e32:	85 c0                	test   %eax,%eax
4a1e34:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4a1e38:	74 0e                	je     0x4a1e48
4a1e3a:	50                   	push   %eax
4a1e3b:	ff 15 40 a1 50 00    	call   *0x50a140
4a1e41:	83 c4 04             	add    $0x4,%esp
4a1e44:	89 44 24 18          	mov    %eax,0x18(%esp)
4a1e48:	68 00 01 00 00       	push   $0x100
4a1e4d:	e8 64 67 00 00       	call   0x4a85b6
4a1e52:	33 c9                	xor    %ecx,%ecx
4a1e54:	83 c4 04             	add    $0x4,%esp
4a1e57:	3b c1                	cmp    %ecx,%eax
4a1e59:	89 44 24 10          	mov    %eax,0x10(%esp)
4a1e5d:	75 12                	jne    0x4a1e71
4a1e5f:	55                   	push   %ebp
4a1e60:	57                   	push   %edi
4a1e61:	e8 da 52 00 00       	call   0x4a7140
4a1e66:	83 c4 08             	add    $0x8,%esp
4a1e69:	5f                   	pop    %edi
4a1e6a:	5e                   	pop    %esi
4a1e6b:	5d                   	pop    %ebp
4a1e6c:	5b                   	pop    %ebx
4a1e6d:	83 c4 14             	add    $0x14,%esp
4a1e70:	c3                   	ret
4a1e71:	c7 00 00 01 00 00    	movl   $0x100,(%eax)
4a1e77:	8b 54 24 10          	mov    0x10(%esp),%edx
4a1e7b:	89 4a 04             	mov    %ecx,0x4(%edx)
4a1e7e:	8b 44 24 10          	mov    0x10(%esp),%eax
4a1e82:	8d 14 2f             	lea    (%edi,%ebp,1),%edx
4a1e85:	89 48 08             	mov    %ecx,0x8(%eax)
4a1e88:	8b 44 24 68          	mov    0x68(%esp),%eax
4a1e8c:	3b c1                	cmp    %ecx,%eax
4a1e8e:	89 54 24 20          	mov    %edx,0x20(%esp)
4a1e92:	74 51                	je     0x4a1ee5
4a1e94:	8b 54 24 38          	mov    0x38(%esp),%edx
4a1e98:	8b ce                	mov    %esi,%ecx
4a1e9a:	e8 c1 4e 00 00       	call   0x4a6d60
4a1e9f:	8b e8                	mov    %eax,%ebp
4a1ea1:	83 fd ff             	cmp    $0xffffffff,%ebp
4a1ea4:	0f 84 89 00 00 00    	je     0x4a1f33
4a1eaa:	2b c7                	sub    %edi,%eax
4a1eac:	03 c6                	add    %esi,%eax
4a1eae:	85 c0                	test   %eax,%eax
4a1eb0:	7e 0c                	jle    0x4a1ebe
4a1eb2:	50                   	push   %eax
4a1eb3:	8b d7                	mov    %edi,%edx
4a1eb5:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4a1eb9:	e8 c2 4d 00 00       	call   0x4a6c80
4a1ebe:	8b 44 24 18          	mov    0x18(%esp),%eax
4a1ec2:	85 c0                	test   %eax,%eax
4a1ec4:	7e 0e                	jle    0x4a1ed4
4a1ec6:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4a1eca:	50                   	push   %eax
4a1ecb:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4a1ecf:	e8 ac 4d 00 00       	call   0x4a6c80
4a1ed4:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4a1ed8:	03 e9                	add    %ecx,%ebp
4a1eda:	03 f5                	add    %ebp,%esi
4a1edc:	4b                   	dec    %ebx
4a1edd:	85 db                	test   %ebx,%ebx
4a1edf:	8b fe                	mov    %esi,%edi
4a1ee1:	7f b1                	jg     0x4a1e94
4a1ee3:	eb 4e                	jmp    0x4a1f33
4a1ee5:	8b 54 24 38          	mov    0x38(%esp),%edx
4a1ee9:	8b ce                	mov    %esi,%ecx
4a1eeb:	e8 f0 4d 00 00       	call   0x4a6ce0
4a1ef0:	8b e8                	mov    %eax,%ebp
4a1ef2:	83 fd ff             	cmp    $0xffffffff,%ebp
4a1ef5:	74 3c                	je     0x4a1f33
4a1ef7:	8b d5                	mov    %ebp,%edx
4a1ef9:	2b d7                	sub    %edi,%edx
4a1efb:	8d 04 32             	lea    (%edx,%esi,1),%eax
4a1efe:	85 c0                	test   %eax,%eax
4a1f00:	7e 0c                	jle    0x4a1f0e
4a1f02:	50                   	push   %eax
4a1f03:	8b d7                	mov    %edi,%edx
4a1f05:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4a1f09:	e8 72 4d 00 00       	call   0x4a6c80
4a1f0e:	8b 44 24 18          	mov    0x18(%esp),%eax
4a1f12:	85 c0                	test   %eax,%eax
4a1f14:	7e 0e                	jle    0x4a1f24
4a1f16:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4a1f1a:	50                   	push   %eax
4a1f1b:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4a1f1f:	e8 5c 4d 00 00       	call   0x4a6c80
4a1f24:	8b 44 24 14          	mov    0x14(%esp),%eax
4a1f28:	03 e8                	add    %eax,%ebp
4a1f2a:	03 f5                	add    %ebp,%esi
4a1f2c:	4b                   	dec    %ebx
4a1f2d:	85 db                	test   %ebx,%ebx
4a1f2f:	8b fe                	mov    %esi,%edi
4a1f31:	7f b2                	jg     0x4a1ee5
4a1f33:	8b 44 24 20          	mov    0x20(%esp),%eax
4a1f37:	2b c7                	sub    %edi,%eax
4a1f39:	85 c0                	test   %eax,%eax
4a1f3b:	7e 0c                	jle    0x4a1f49
4a1f3d:	50                   	push   %eax
4a1f3e:	8b d7                	mov    %edi,%edx
4a1f40:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4a1f44:	e8 37 4d 00 00       	call   0x4a6c80
4a1f49:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4a1f4d:	8b 51 08             	mov    0x8(%ecx),%edx
4a1f50:	42                   	inc    %edx
4a1f51:	52                   	push   %edx
4a1f52:	e8 e9 ed ff ff       	call   0x4a0d40
4a1f57:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4a1f5b:	83 c4 04             	add    $0x4,%esp
4a1f5e:	8b e8                	mov    %eax,%ebp
4a1f60:	8b 51 04             	mov    0x4(%ecx),%edx
4a1f63:	89 6c 24 20          	mov    %ebp,0x20(%esp)
4a1f67:	85 d2                	test   %edx,%edx
4a1f69:	8d 41 0c             	lea    0xc(%ecx),%eax
4a1f6c:	7e 33                	jle    0x4a1fa1
4a1f6e:	89 54 24 2c          	mov    %edx,0x2c(%esp)
4a1f72:	8b 50 04             	mov    0x4(%eax),%edx
4a1f75:	8b 30                	mov    (%eax),%esi
4a1f77:	8b ca                	mov    %edx,%ecx
4a1f79:	8b fd                	mov    %ebp,%edi
4a1f7b:	8b d9                	mov    %ecx,%ebx
4a1f7d:	03 ea                	add    %edx,%ebp
4a1f7f:	c1 e9 02             	shr    $0x2,%ecx
4a1f82:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4a1f84:	8b cb                	mov    %ebx,%ecx
4a1f86:	83 c0 08             	add    $0x8,%eax
4a1f89:	83 e1 03             	and    $0x3,%ecx
4a1f8c:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4a1f8e:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4a1f92:	49                   	dec    %ecx
4a1f93:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
4a1f97:	75 d9                	jne    0x4a1f72
4a1f99:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4a1f9d:	8b 6c 24 20          	mov    0x20(%esp),%ebp
4a1fa1:	8b 41 08             	mov    0x8(%ecx),%eax
4a1fa4:	c6 04 28 00          	movb   $0x0,(%eax,%ebp,1)
4a1fa8:	8b 44 24 10          	mov    0x10(%esp),%eax
4a1fac:	85 c0                	test   %eax,%eax
4a1fae:	74 09                	je     0x4a1fb9
4a1fb0:	50                   	push   %eax
4a1fb1:	e8 17 65 00 00       	call   0x4a84cd
4a1fb6:	83 c4 04             	add    $0x4,%esp
4a1fb9:	5f                   	pop    %edi
4a1fba:	8b c5                	mov    %ebp,%eax
4a1fbc:	5e                   	pop    %esi
4a1fbd:	5d                   	pop    %ebp
4a1fbe:	5b                   	pop    %ebx
4a1fbf:	83 c4 14             	add    $0x14,%esp
4a1fc2:	c3                   	ret
4a1fc3:	5f                   	pop    %edi
4a1fc4:	5e                   	pop    %esi
4a1fc5:	5d                   	pop    %ebp
4a1fc6:	33 c0                	xor    %eax,%eax
4a1fc8:	5b                   	pop    %ebx
4a1fc9:	83 c4 14             	add    $0x14,%esp
4a1fcc:	c3                   	ret
4a1fcd:	90                   	nop
4a1fce:	90                   	nop
4a1fcf:	90                   	nop
4a1fd0:	8b 54 24 08          	mov    0x8(%esp),%edx
4a1fd4:	85 d2                	test   %edx,%edx
4a1fd6:	74 23                	je     0x4a1ffb
4a1fd8:	8b 42 04             	mov    0x4(%edx),%eax
4a1fdb:	85 c0                	test   %eax,%eax
4a1fdd:	74 1c                	je     0x4a1ffb
4a1fdf:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4a1fe3:	85 c9                	test   %ecx,%ecx
4a1fe5:	7e 14                	jle    0x4a1ffb
4a1fe7:	3b c1                	cmp    %ecx,%eax
4a1fe9:	7e 02                	jle    0x4a1fed
4a1feb:	8b c1                	mov    %ecx,%eax
4a1fed:	83 c2 08             	add    $0x8,%edx
4a1ff0:	50                   	push   %eax
4a1ff1:	52                   	push   %edx
4a1ff2:	e8 09 51 00 00       	call   0x4a7100
4a1ff7:	83 c4 08             	add    $0x8,%esp
4a1ffa:	c3                   	ret
4a1ffb:	33 c0                	xor    %eax,%eax
4a1ffd:	c3                   	ret
4a1ffe:	90                   	nop
4a1fff:	90                   	nop
4a2000:	53                   	push   %ebx
4a2001:	56                   	push   %esi
4a2002:	8b 74 24 1c          	mov    0x1c(%esp),%esi
4a2006:	57                   	push   %edi
4a2007:	85 f6                	test   %esi,%esi
4a2009:	7e 54                	jle    0x4a205f
4a200b:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
4a200f:	85 db                	test   %ebx,%ebx
4a2011:	7e 4c                	jle    0x4a205f
4a2013:	8b 7c 24 14          	mov    0x14(%esp),%edi
4a2017:	57                   	push   %edi
4a2018:	ff 15 40 a1 50 00    	call   *0x50a140
4a201e:	83 c4 04             	add    $0x4,%esp
4a2021:	85 c0                	test   %eax,%eax
4a2023:	74 3a                	je     0x4a205f
4a2025:	3b f0                	cmp    %eax,%esi
4a2027:	7f 36                	jg     0x4a205f
4a2029:	8d 0c 33             	lea    (%ebx,%esi,1),%ecx
4a202c:	3b c8                	cmp    %eax,%ecx
4a202e:	7e 05                	jle    0x4a2035
4a2030:	2b c6                	sub    %esi,%eax
4a2032:	40                   	inc    %eax
4a2033:	8b d8                	mov    %eax,%ebx
4a2035:	8d 53 01             	lea    0x1(%ebx),%edx
4a2038:	52                   	push   %edx
4a2039:	e8 02 ed ff ff       	call   0x4a0d40
4a203e:	8b cb                	mov    %ebx,%ecx
4a2040:	8d 74 3e ff          	lea    -0x1(%esi,%edi,1),%esi
4a2044:	8b d1                	mov    %ecx,%edx
4a2046:	8b f8                	mov    %eax,%edi
4a2048:	c1 e9 02             	shr    $0x2,%ecx
4a204b:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4a204d:	8b ca                	mov    %edx,%ecx
4a204f:	83 c4 04             	add    $0x4,%esp
4a2052:	83 e1 03             	and    $0x3,%ecx
4a2055:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4a2057:	5f                   	pop    %edi
4a2058:	c6 04 18 00          	movb   $0x0,(%eax,%ebx,1)
4a205c:	5e                   	pop    %esi
4a205d:	5b                   	pop    %ebx
4a205e:	c3                   	ret
4a205f:	5f                   	pop    %edi
4a2060:	5e                   	pop    %esi
4a2061:	33 c0                	xor    %eax,%eax
4a2063:	5b                   	pop    %ebx
4a2064:	c3                   	ret
4a2065:	90                   	nop
4a2066:	90                   	nop
4a2067:	90                   	nop
4a2068:	90                   	nop
4a2069:	90                   	nop
4a206a:	90                   	nop
4a206b:	90                   	nop
4a206c:	90                   	nop
4a206d:	90                   	nop
4a206e:	90                   	nop
4a206f:	90                   	nop
4a2070:	8b 44 24 28          	mov    0x28(%esp),%eax
4a2074:	83 ec 08             	sub    $0x8,%esp
4a2077:	53                   	push   %ebx
4a2078:	55                   	push   %ebp
4a2079:	56                   	push   %esi
4a207a:	57                   	push   %edi
4a207b:	33 ff                	xor    %edi,%edi
4a207d:	3b c7                	cmp    %edi,%eax
4a207f:	75 07                	jne    0x4a2088
4a2081:	bd ff ff ff 7f       	mov    $0x7fffffff,%ebp
4a2086:	eb 0c                	jmp    0x4a2094
4a2088:	8b 6c 24 38          	mov    0x38(%esp),%ebp
4a208c:	3b ef                	cmp    %edi,%ebp
4a208e:	0f 8e 26 01 00 00    	jle    0x4a21ba
4a2094:	39 7c 24 34          	cmp    %edi,0x34(%esp)
4a2098:	75 0a                	jne    0x4a20a4
4a209a:	c7 44 24 14 28 9e 50 	movl   $0x509e28,0x14(%esp)
4a20a1:	00
4a20a2:	eb 08                	jmp    0x4a20ac
4a20a4:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4a20a8:	89 44 24 14          	mov    %eax,0x14(%esp)
4a20ac:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4a20b0:	51                   	push   %ecx
4a20b1:	ff 15 40 a1 50 00    	call   *0x50a140
4a20b7:	8b 74 24 24          	mov    0x24(%esp),%esi
4a20bb:	83 c4 04             	add    $0x4,%esp
4a20be:	3b f7                	cmp    %edi,%esi
4a20c0:	8b d8                	mov    %eax,%ebx
4a20c2:	0f 84 f2 00 00 00    	je     0x4a21ba
4a20c8:	80 3e 00             	cmpb   $0x0,(%esi)
4a20cb:	0f 84 e9 00 00 00    	je     0x4a21ba
4a20d1:	3b df                	cmp    %edi,%ebx
4a20d3:	75 03                	jne    0x4a20d8
4a20d5:	83 cd ff             	or     $0xffffffff,%ebp
4a20d8:	68 00 01 00 00       	push   $0x100
4a20dd:	e8 d4 64 00 00       	call   0x4a85b6
4a20e2:	83 c4 04             	add    $0x4,%esp
4a20e5:	3b c7                	cmp    %edi,%eax
4a20e7:	89 44 24 10          	mov    %eax,0x10(%esp)
4a20eb:	0f 84 c9 00 00 00    	je     0x4a21ba
4a20f1:	c7 00 00 01 00 00    	movl   $0x100,(%eax)
4a20f7:	8b 54 24 10          	mov    0x10(%esp),%edx
4a20fb:	85 ed                	test   %ebp,%ebp
4a20fd:	89 7a 04             	mov    %edi,0x4(%edx)
4a2100:	8b 44 24 10          	mov    0x10(%esp),%eax
4a2104:	89 78 08             	mov    %edi,0x8(%eax)
4a2107:	8b fe                	mov    %esi,%edi
4a2109:	7e 2b                	jle    0x4a2136
4a210b:	8b 54 24 14          	mov    0x14(%esp),%edx
4a210f:	8b ce                	mov    %esi,%ecx
4a2111:	e8 4a 4c 00 00       	call   0x4a6d60
4a2116:	83 f8 ff             	cmp    $0xffffffff,%eax
4a2119:	74 1b                	je     0x4a2136
4a211b:	03 f0                	add    %eax,%esi
4a211d:	8b d7                	mov    %edi,%edx
4a211f:	8b ce                	mov    %esi,%ecx
4a2121:	2b cf                	sub    %edi,%ecx
4a2123:	51                   	push   %ecx
4a2124:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4a2128:	e8 53 4b 00 00       	call   0x4a6c80
4a212d:	03 f3                	add    %ebx,%esi
4a212f:	4d                   	dec    %ebp
4a2130:	85 ed                	test   %ebp,%ebp
4a2132:	8b fe                	mov    %esi,%edi
4a2134:	7f d5                	jg     0x4a210b
4a2136:	56                   	push   %esi
4a2137:	ff 15 40 a1 50 00    	call   *0x50a140
4a213d:	03 c6                	add    %esi,%eax
4a213f:	83 c4 04             	add    $0x4,%esp
4a2142:	2b c7                	sub    %edi,%eax
4a2144:	85 c0                	test   %eax,%eax
4a2146:	7e 10                	jle    0x4a2158
4a2148:	85 ed                	test   %ebp,%ebp
4a214a:	74 0c                	je     0x4a2158
4a214c:	50                   	push   %eax
4a214d:	8b d7                	mov    %edi,%edx
4a214f:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4a2153:	e8 28 4b 00 00       	call   0x4a6c80
4a2158:	8b 74 24 10          	mov    0x10(%esp),%esi
4a215c:	8b 7e 04             	mov    0x4(%esi),%edi
4a215f:	83 c6 0c             	add    $0xc,%esi
4a2162:	8d 14 bd 08 00 00 00 	lea    0x8(,%edi,4),%edx
4a2169:	52                   	push   %edx
4a216a:	e8 d1 eb ff ff       	call   0x4a0d40
4a216f:	8b d8                	mov    %eax,%ebx
4a2171:	83 c4 04             	add    $0x4,%esp
4a2174:	85 ff                	test   %edi,%edi
4a2176:	c7 03 01 00 00 00    	movl   $0x1,(%ebx)
4a217c:	89 7b 04             	mov    %edi,0x4(%ebx)
4a217f:	8d 6b 08             	lea    0x8(%ebx),%ebp
4a2182:	7e 1b                	jle    0x4a219f
4a2184:	8b 46 04             	mov    0x4(%esi),%eax
4a2187:	8b 0e                	mov    (%esi),%ecx
4a2189:	50                   	push   %eax
4a218a:	51                   	push   %ecx