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
4a218b:	e8 b0 4f 00 00       	call   0x4a7140
4a2190:	89 45 00             	mov    %eax,0x0(%ebp)
4a2193:	83 c4 08             	add    $0x8,%esp
4a2196:	83 c6 08             	add    $0x8,%esi
4a2199:	83 c5 04             	add    $0x4,%ebp
4a219c:	4f                   	dec    %edi
4a219d:	75 e5                	jne    0x4a2184
4a219f:	8b 44 24 10          	mov    0x10(%esp),%eax
4a21a3:	85 c0                	test   %eax,%eax
4a21a5:	74 09                	je     0x4a21b0
4a21a7:	50                   	push   %eax
4a21a8:	e8 20 63 00 00       	call   0x4a84cd
4a21ad:	83 c4 04             	add    $0x4,%esp
4a21b0:	5f                   	pop    %edi
4a21b1:	5e                   	pop    %esi
4a21b2:	8b c3                	mov    %ebx,%eax
4a21b4:	5d                   	pop    %ebp
4a21b5:	5b                   	pop    %ebx
4a21b6:	83 c4 08             	add    $0x8,%esp
4a21b9:	c3                   	ret
4a21ba:	e8 31 ed ff ff       	call   0x4a0ef0
4a21bf:	5f                   	pop    %edi
4a21c0:	5e                   	pop    %esi
4a21c1:	5d                   	pop    %ebp
4a21c2:	5b                   	pop    %ebx
4a21c3:	83 c4 08             	add    $0x8,%esp
4a21c6:	c3                   	ret
4a21c7:	90                   	nop
4a21c8:	90                   	nop
4a21c9:	90                   	nop
4a21ca:	90                   	nop
4a21cb:	90                   	nop
4a21cc:	90                   	nop
4a21cd:	90                   	nop
4a21ce:	90                   	nop
4a21cf:	90                   	nop
4a21d0:	8b 44 24 08          	mov    0x8(%esp),%eax
4a21d4:	8a 08                	mov    (%eax),%cl
4a21d6:	84 c9                	test   %cl,%cl
4a21d8:	74 18                	je     0x4a21f2
4a21da:	80 f9 20             	cmp    $0x20,%cl
4a21dd:	75 03                	jne    0x4a21e2
4a21df:	40                   	inc    %eax
4a21e0:	eb 0a                	jmp    0x4a21ec
4a21e2:	66 81 38 a1 a1       	cmpw   $0xa1a1,(%eax)
4a21e7:	75 09                	jne    0x4a21f2
4a21e9:	83 c0 02             	add    $0x2,%eax
4a21ec:	8a 08                	mov    (%eax),%cl
4a21ee:	84 c9                	test   %cl,%cl
4a21f0:	75 e8                	jne    0x4a21da
4a21f2:	8a 10                	mov    (%eax),%dl
4a21f4:	56                   	push   %esi
4a21f5:	84 d2                	test   %dl,%dl
4a21f7:	75 04                	jne    0x4a21fd
4a21f9:	33 c0                	xor    %eax,%eax
4a21fb:	5e                   	pop    %esi
4a21fc:	c3                   	ret
4a21fd:	8b f0                	mov    %eax,%esi
4a21ff:	33 c9                	xor    %ecx,%ecx
4a2201:	66 81 38 a1 a1       	cmpw   $0xa1a1,(%eax)
4a2206:	75 03                	jne    0x4a220b
4a2208:	40                   	inc    %eax
4a2209:	eb 12                	jmp    0x4a221d
4a220b:	80 fa 20             	cmp    $0x20,%dl
4a220e:	74 0d                	je     0x4a221d
4a2210:	84 d2                	test   %dl,%dl
4a2212:	7d 07                	jge    0x4a221b
4a2214:	8d 48 01             	lea    0x1(%eax),%ecx
4a2217:	8b c1                	mov    %ecx,%eax
4a2219:	eb 02                	jmp    0x4a221d
4a221b:	8b c8                	mov    %eax,%ecx
4a221d:	8a 50 01             	mov    0x1(%eax),%dl
4a2220:	40                   	inc    %eax
4a2221:	84 d2                	test   %dl,%dl
4a2223:	75 dc                	jne    0x4a2201
4a2225:	85 c9                	test   %ecx,%ecx
4a2227:	75 04                	jne    0x4a222d
4a2229:	33 c0                	xor    %eax,%eax
4a222b:	5e                   	pop    %esi
4a222c:	c3                   	ret
4a222d:	2b ce                	sub    %esi,%ecx
4a222f:	53                   	push   %ebx
4a2230:	41                   	inc    %ecx
4a2231:	57                   	push   %edi
4a2232:	8b d9                	mov    %ecx,%ebx
4a2234:	8d 43 01             	lea    0x1(%ebx),%eax
4a2237:	50                   	push   %eax
4a2238:	e8 03 eb ff ff       	call   0x4a0d40
4a223d:	8b cb                	mov    %ebx,%ecx
4a223f:	8b f8                	mov    %eax,%edi
4a2241:	8b d1                	mov    %ecx,%edx
4a2243:	83 c4 04             	add    $0x4,%esp
4a2246:	c1 e9 02             	shr    $0x2,%ecx
4a2249:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4a224b:	8b ca                	mov    %edx,%ecx
4a224d:	83 e1 03             	and    $0x3,%ecx
4a2250:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4a2252:	c6 04 18 00          	movb   $0x0,(%eax,%ebx,1)
4a2256:	5f                   	pop    %edi
4a2257:	5b                   	pop    %ebx
4a2258:	5e                   	pop    %esi
4a2259:	c3                   	ret
4a225a:	90                   	nop
4a225b:	90                   	nop
4a225c:	90                   	nop
4a225d:	90                   	nop
4a225e:	90                   	nop
4a225f:	90                   	nop
4a2260:	53                   	push   %ebx
4a2261:	56                   	push   %esi
4a2262:	8b 74 24 10          	mov    0x10(%esp),%esi
4a2266:	56                   	push   %esi
4a2267:	ff 15 40 a1 50 00    	call   *0x50a140
4a226d:	8b d8                	mov    %eax,%ebx
4a226f:	83 c4 04             	add    $0x4,%esp
4a2272:	85 db                	test   %ebx,%ebx
4a2274:	74 35                	je     0x4a22ab
4a2276:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4a227a:	85 c0                	test   %eax,%eax
4a227c:	7e 2d                	jle    0x4a22ab
4a227e:	3b c3                	cmp    %ebx,%eax
4a2280:	7d 02                	jge    0x4a2284
4a2282:	8b d8                	mov    %eax,%ebx
4a2284:	8d 43 01             	lea    0x1(%ebx),%eax
4a2287:	57                   	push   %edi
4a2288:	50                   	push   %eax
4a2289:	e8 b2 ea ff ff       	call   0x4a0d40
4a228e:	8b cb                	mov    %ebx,%ecx
4a2290:	8b f8                	mov    %eax,%edi
4a2292:	8b d1                	mov    %ecx,%edx
4a2294:	83 c4 04             	add    $0x4,%esp
4a2297:	c1 e9 02             	shr    $0x2,%ecx
4a229a:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4a229c:	8b ca                	mov    %edx,%ecx
4a229e:	83 e1 03             	and    $0x3,%ecx
4a22a1:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4a22a3:	5f                   	pop    %edi
4a22a4:	c6 04 18 00          	movb   $0x0,(%eax,%ebx,1)
4a22a8:	5e                   	pop    %esi
4a22a9:	5b                   	pop    %ebx
4a22aa:	c3                   	ret
4a22ab:	5e                   	pop    %esi
4a22ac:	33 c0                	xor    %eax,%eax
4a22ae:	5b                   	pop    %ebx
4a22af:	c3                   	ret
4a22b0:	8b 44 24 20          	mov    0x20(%esp),%eax
4a22b4:	85 c0                	test   %eax,%eax
4a22b6:	74 3b                	je     0x4a22f3
4a22b8:	8b 44 24 08          	mov    0x8(%esp),%eax
4a22bc:	53                   	push   %ebx
4a22bd:	56                   	push   %esi
4a22be:	8b 74 24 1c          	mov    0x1c(%esp),%esi
4a22c2:	8a 10                	mov    (%eax),%dl
4a22c4:	8a 1e                	mov    (%esi),%bl
4a22c6:	8a ca                	mov    %dl,%cl
4a22c8:	3a d3                	cmp    %bl,%dl
4a22ca:	75 1f                	jne    0x4a22eb
4a22cc:	84 c9                	test   %cl,%cl
4a22ce:	74 16                	je     0x4a22e6
4a22d0:	8a 50 01             	mov    0x1(%eax),%dl
4a22d3:	8a 5e 01             	mov    0x1(%esi),%bl
4a22d6:	8a ca                	mov    %dl,%cl
4a22d8:	3a d3                	cmp    %bl,%dl
4a22da:	75 0f                	jne    0x4a22eb
4a22dc:	83 c0 02             	add    $0x2,%eax
4a22df:	83 c6 02             	add    $0x2,%esi
4a22e2:	84 c9                	test   %cl,%cl
4a22e4:	75 dc                	jne    0x4a22c2
4a22e6:	5e                   	pop    %esi
4a22e7:	33 c0                	xor    %eax,%eax
4a22e9:	5b                   	pop    %ebx
4a22ea:	c3                   	ret
4a22eb:	1b c0                	sbb    %eax,%eax
4a22ed:	5e                   	pop    %esi
4a22ee:	83 d8 ff             	sbb    $0xffffffff,%eax