436eaf:	41                   	inc    %ecx
436eb0:	83 cf ff             	or     $0xffffffff,%edi
436eb3:	89 4d c8             	mov    %ecx,-0x38(%ebp)
436eb6:	6a 20                	push   $0x20
436eb8:	d3 e7                	shl    %cl,%edi
436eba:	58                   	pop    %eax
436ebb:	2b c1                	sub    %ecx,%eax
436ebd:	89 5d e0             	mov    %ebx,-0x20(%ebp)
436ec0:	f7 d7                	not    %edi
436ec2:	89 45 d8             	mov    %eax,-0x28(%ebp)
436ec5:	8b 54 9d f0          	mov    -0x10(%ebp,%ebx,4),%edx
436ec9:	8b c2                	mov    %edx,%eax
436ecb:	d3 ea                	shr    %cl,%edx
436ecd:	23 c7                	and    %edi,%eax
436ecf:	0b 55 e0             	or     -0x20(%ebp),%edx
436ed2:	8b 4d d8             	mov    -0x28(%ebp),%ecx
436ed5:	d3 e0                	shl    %cl,%eax
436ed7:	8b 4d c8             	mov    -0x38(%ebp),%ecx
436eda:	89 54 9d f0          	mov    %edx,-0x10(%ebp,%ebx,4)
436ede:	43                   	inc    %ebx
436edf:	89 45 e0             	mov    %eax,-0x20(%ebp)
436ee2:	3b de                	cmp    %esi,%ebx
436ee4:	7c df                	jl     0x436ec5
436ee6:	8b 75 cc             	mov    -0x34(%ebp),%esi
436ee9:	8d 55 f8             	lea    -0x8(%ebp),%edx
436eec:	8b c6                	mov    %esi,%eax
436eee:	c1 e0 02             	shl    $0x2,%eax
436ef1:	6a 02                	push   $0x2
436ef3:	2b d0                	sub    %eax,%edx
436ef5:	33 db                	xor    %ebx,%ebx
436ef7:	59                   	pop    %ecx
436ef8:	3b ce                	cmp    %esi,%ecx
436efa:	7c 08                	jl     0x436f04
436efc:	8b 02                	mov    (%edx),%eax
436efe:	89 44 8d f0          	mov    %eax,-0x10(%ebp,%ecx,4)
436f02:	eb 04                	jmp    0x436f08
436f04:	89 5c 8d f0          	mov    %ebx,-0x10(%ebp,%ecx,4)
436f08:	83 ea 04             	sub    $0x4,%edx
436f0b:	49                   	dec    %ecx
436f0c:	79 ea                	jns    0x436ef8
436f0e:	8b 35 3c 01 4c 00    	mov    0x4c013c,%esi
436f14:	33 db                	xor    %ebx,%ebx
436f16:	03 35 28 01 4c 00    	add    0x4c0128,%esi
436f1c:	43                   	inc    %ebx
436f1d:	e9 95 00 00 00       	jmp    0x436fb7
436f22:	8b 35 3c 01 4c 00    	mov    0x4c013c,%esi
436f28:	81 65 f0 ff ff ff 7f 	andl   $0x7fffffff,-0x10(%ebp)
436f2f:	03 f1                	add    %ecx,%esi
436f31:	8b 0d 34 01 4c 00    	mov    0x4c0134,%ecx
436f37:	8b c1                	mov    %ecx,%eax
436f39:	99                   	cltd
436f3a:	83 e2 1f             	and    $0x1f,%edx
436f3d:	89 75 c8             	mov    %esi,-0x38(%ebp)
436f40:	03 c2                	add    %edx,%eax
436f42:	c1 f8 05             	sar    $0x5,%eax
436f45:	89 45 d8             	mov    %eax,-0x28(%ebp)
436f48:	81 e1 1f 00 00 80    	and    $0x8000001f,%ecx
436f4e:	79 05                	jns    0x436f55
436f50:	49                   	dec    %ecx
436f51:	83 c9 e0             	or     $0xffffffe0,%ecx
436f54:	41                   	inc    %ecx
436f55:	6a 20                	push   $0x20
436f57:	89 5d e0             	mov    %ebx,-0x20(%ebp)
436f5a:	8b f3                	mov    %ebx,%esi
436f5c:	d3 e7                	shl    %cl,%edi
436f5e:	8b d9                	mov    %ecx,%ebx
436f60:	58                   	pop    %eax
436f61:	2b c3                	sub    %ebx,%eax
436f63:	89 4d dc             	mov    %ecx,-0x24(%ebp)
436f66:	f7 d7                	not    %edi
436f68:	89 45 dc             	mov    %eax,-0x24(%ebp)
436f6b:	8b 54 b5 f0          	mov    -0x10(%ebp,%esi,4),%edx
436f6f:	8b cb                	mov    %ebx,%ecx
436f71:	8b c2                	mov    %edx,%eax
436f73:	d3 ea                	shr    %cl,%edx
436f75:	0b 55 e0             	or     -0x20(%ebp),%edx
436f78:	23 c7                	and    %edi,%eax
436f7a:	8b 4d dc             	mov    -0x24(%ebp),%ecx
436f7d:	d3 e0                	shl    %cl,%eax
436f7f:	89 54 b5 f0          	mov    %edx,-0x10(%ebp,%esi,4)
436f83:	46                   	inc    %esi
436f84:	89 45 e0             	mov    %eax,-0x20(%ebp)
436f87:	83 fe 03             	cmp    $0x3,%esi
436f8a:	7c df                	jl     0x436f6b
436f8c:	8b 7d d8             	mov    -0x28(%ebp),%edi
436f8f:	8d 55 f8             	lea    -0x8(%ebp),%edx
436f92:	8b 75 c8             	mov    -0x38(%ebp),%esi
436f95:	8b c7                	mov    %edi,%eax
436f97:	c1 e0 02             	shl    $0x2,%eax
436f9a:	6a 02                	push   $0x2
436f9c:	2b d0                	sub    %eax,%edx
436f9e:	33 db                	xor    %ebx,%ebx
436fa0:	59                   	pop    %ecx
436fa1:	3b cf                	cmp    %edi,%ecx
436fa3:	7c 08                	jl     0x436fad
436fa5:	8b 02                	mov    (%edx),%eax
436fa7:	89 44 8d f0          	mov    %eax,-0x10(%ebp,%ecx,4)
436fab:	eb 04                	jmp    0x436fb1
436fad:	89 5c 8d f0          	mov    %ebx,-0x10(%ebp,%ecx,4)
436fb1:	83 ea 04             	sub    $0x4,%edx
436fb4:	49                   	dec    %ecx
436fb5:	79 ea                	jns    0x436fa1
436fb7:	8b 7d c0             	mov    -0x40(%ebp),%edi
436fba:	6a 1f                	push   $0x1f
436fbc:	58                   	pop    %eax
436fbd:	2b 05 34 01 4c 00    	sub    0x4c0134,%eax
436fc3:	8b c8                	mov    %eax,%ecx
436fc5:	8b 45 bc             	mov    -0x44(%ebp),%eax
436fc8:	d3 e6                	shl    %cl,%esi
436fca:	f7 d8                	neg    %eax
436fcc:	1b c0                	sbb    %eax,%eax
436fce:	25 00 00 00 80       	and    $0x80000000,%eax
436fd3:	0b f0                	or     %eax,%esi
436fd5:	a1 38 01 4c 00       	mov    0x4c0138,%eax
436fda:	0b 75 f0             	or     -0x10(%ebp),%esi
436fdd:	83 f8 40             	cmp    $0x40,%eax
436fe0:	75 0a                	jne    0x436fec
436fe2:	8b 45 f4             	mov    -0xc(%ebp),%eax
436fe5:	89 77 04             	mov    %esi,0x4(%edi)
436fe8:	89 07                	mov    %eax,(%edi)
436fea:	eb 07                	jmp    0x436ff3
436fec:	83 f8 20             	cmp    $0x20,%eax
436fef:	75 02                	jne    0x436ff3
436ff1:	89 37                	mov    %esi,(%edi)
436ff3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
436ff6:	8b c3                	mov    %ebx,%eax
436ff8:	5f                   	pop    %edi
436ff9:	5e                   	pop    %esi
436ffa:	33 cd                	xor    %ebp,%ecx
436ffc:	5b                   	pop    %ebx
436ffd:	e8 34 58 ff ff       	call   0x42c836
437002:	8b e5                	mov    %ebp,%esp
437004:	5d                   	pop    %ebp
437005:	c3                   	ret
437006:	55                   	push   %ebp
437007:	8b ec                	mov    %esp,%ebp
437009:	83 ec 1c             	sub    $0x1c,%esp
43700c:	53                   	push   %ebx
43700d:	8b 5d 10             	mov    0x10(%ebp),%ebx
437010:	33 d2                	xor    %edx,%edx
437012:	b8 4e 40 00 00       	mov    $0x404e,%eax
437017:	56                   	push   %esi
437018:	57                   	push   %edi
437019:	89 45 fc             	mov    %eax,-0x4(%ebp)
43701c:	89 13                	mov    %edx,(%ebx)
43701e:	89 53 04             	mov    %edx,0x4(%ebx)
437021:	89 53 08             	mov    %edx,0x8(%ebx)
437024:	39 55 0c             	cmp    %edx,0xc(%ebp)
437027:	0f 86 3c 01 00 00    	jbe    0x437169
43702d:	8b ca                	mov    %edx,%ecx
43702f:	89 55 10             	mov    %edx,0x10(%ebp)
437032:	89 4d f4             	mov    %ecx,-0xc(%ebp)
437035:	89 55 f8             	mov    %edx,-0x8(%ebp)
437038:	8b 55 f4             	mov    -0xc(%ebp),%edx
43703b:	8d 7d e4             	lea    -0x1c(%ebp),%edi
43703e:	8b f3                	mov    %ebx,%esi
437040:	8b c1                	mov    %ecx,%eax
437042:	c1 e8 1f             	shr    $0x1f,%eax
437045:	03 d2                	add    %edx,%edx
437047:	a5                   	movsl  %ds:(%esi),%es:(%edi)
437048:	a5                   	movsl  %ds:(%esi),%es:(%edi)
437049:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43704a:	8b 75 10             	mov    0x10(%ebp),%esi
43704d:	8b ce                	mov    %esi,%ecx
43704f:	8b 7d f8             	mov    -0x8(%ebp),%edi
437052:	03 f6                	add    %esi,%esi
437054:	0b f0                	or     %eax,%esi
437056:	c1 e9 1f             	shr    $0x1f,%ecx
437059:	03 ff                	add    %edi,%edi
43705b:	8b c2                	mov    %edx,%eax
43705d:	0b f9                	or     %ecx,%edi
43705f:	c1 e8 1f             	shr    $0x1f,%eax
437062:	8b ce                	mov    %esi,%ecx
437064:	03 d2                	add    %edx,%edx
437066:	03 f6                	add    %esi,%esi
437068:	c1 e9 1f             	shr    $0x1f,%ecx
43706b:	0b f0                	or     %eax,%esi
43706d:	89 13                	mov    %edx,(%ebx)
43706f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
437072:	03 ff                	add    %edi,%edi
437074:	0b f9                	or     %ecx,%edi
437076:	89 73 04             	mov    %esi,0x4(%ebx)
437079:	03 c2                	add    %edx,%eax
43707b:	89 7b 08             	mov    %edi,0x8(%ebx)
43707e:	33 c9                	xor    %ecx,%ecx
437080:	89 45 10             	mov    %eax,0x10(%ebp)
437083:	3b c2                	cmp    %edx,%eax
437085:	72 05                	jb     0x43708c
437087:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
43708a:	73 03                	jae    0x43708f
43708c:	33 c9                	xor    %ecx,%ecx
43708e:	41                   	inc    %ecx
43708f:	89 03                	mov    %eax,(%ebx)
437091:	85 c9                	test   %ecx,%ecx
437093:	74 1e                	je     0x4370b3
437095:	8b c6                	mov    %esi,%eax
437097:	33 c9                	xor    %ecx,%ecx
437099:	8d 70 01             	lea    0x1(%eax),%esi
43709c:	3b f0                	cmp    %eax,%esi
43709e:	72 05                	jb     0x4370a5
4370a0:	83 fe 01             	cmp    $0x1,%esi
4370a3:	73 03                	jae    0x4370a8
4370a5:	33 c9                	xor    %ecx,%ecx
4370a7:	41                   	inc    %ecx
4370a8:	89 73 04             	mov    %esi,0x4(%ebx)
4370ab:	85 c9                	test   %ecx,%ecx
4370ad:	74 04                	je     0x4370b3
4370af:	47                   	inc    %edi
4370b0:	89 7b 08             	mov    %edi,0x8(%ebx)
4370b3:	8b 55 e8             	mov    -0x18(%ebp),%edx
4370b6:	33 c0                	xor    %eax,%eax
4370b8:	8d 0c 16             	lea    (%esi,%edx,1),%ecx
4370bb:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4370be:	3b ce                	cmp    %esi,%ecx
4370c0:	72 04                	jb     0x4370c6
4370c2:	3b ca                	cmp    %edx,%ecx
4370c4:	73 03                	jae    0x4370c9
4370c6:	33 c0                	xor    %eax,%eax
4370c8:	40                   	inc    %eax
4370c9:	89 4b 04             	mov    %ecx,0x4(%ebx)
4370cc:	85 c0                	test   %eax,%eax
4370ce:	74 04                	je     0x4370d4
4370d0:	47                   	inc    %edi
4370d1:	89 7b 08             	mov    %edi,0x8(%ebx)
4370d4:	8b 55 10             	mov    0x10(%ebp),%edx
4370d7:	8b c2                	mov    %edx,%eax
4370d9:	8b 75 f4             	mov    -0xc(%ebp),%esi
4370dc:	03 d2                	add    %edx,%edx
4370de:	03 7d ec             	add    -0x14(%ebp),%edi
4370e1:	03 f6                	add    %esi,%esi
4370e3:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
4370e7:	03 ff                	add    %edi,%edi
4370e9:	c1 e8 1f             	shr    $0x1f,%eax
4370ec:	0b f0                	or     %eax,%esi
4370ee:	c1 e9 1f             	shr    $0x1f,%ecx
4370f1:	8b 45 08             	mov    0x8(%ebp),%eax
4370f4:	0b f9                	or     %ecx,%edi
4370f6:	89 13                	mov    %edx,(%ebx)
4370f8:	89 73 04             	mov    %esi,0x4(%ebx)
4370fb:	89 7b 08             	mov    %edi,0x8(%ebx)
4370fe:	0f be 00             	movsbl (%eax),%eax
437101:	89 75 10             	mov    %esi,0x10(%ebp)
437104:	89 7d f8             	mov    %edi,-0x8(%ebp)
437107:	89 45 e4             	mov    %eax,-0x1c(%ebp)
43710a:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
43710d:	89 4d f4             	mov    %ecx,-0xc(%ebp)
437110:	3b ca                	cmp    %edx,%ecx
437112:	72 04                	jb     0x437118
437114:	3b c8                	cmp    %eax,%ecx
437116:	73 05                	jae    0x43711d
437118:	33 c0                	xor    %eax,%eax
43711a:	40                   	inc    %eax
43711b:	eb 03                	jmp    0x437120
43711d:	8b 45 f0             	mov    -0x10(%ebp),%eax
437120:	89 0b                	mov    %ecx,(%ebx)
437122:	85 c0                	test   %eax,%eax
437124:	74 24                	je     0x43714a
437126:	8b c6                	mov    %esi,%eax
437128:	33 d2                	xor    %edx,%edx
43712a:	8d 70 01             	lea    0x1(%eax),%esi
43712d:	89 75 10             	mov    %esi,0x10(%ebp)
437130:	3b f0                	cmp    %eax,%esi
437132:	72 05                	jb     0x437139
437134:	83 fe 01             	cmp    $0x1,%esi
437137:	73 03                	jae    0x43713c
437139:	33 d2                	xor    %edx,%edx
43713b:	42                   	inc    %edx
43713c:	89 73 04             	mov    %esi,0x4(%ebx)
43713f:	85 d2                	test   %edx,%edx
437141:	74 07                	je     0x43714a
437143:	47                   	inc    %edi
437144:	89 7d f8             	mov    %edi,-0x8(%ebp)
437147:	89 7b 08             	mov    %edi,0x8(%ebx)
43714a:	8b 45 0c             	mov    0xc(%ebp),%eax
43714d:	48                   	dec    %eax
43714e:	89 73 04             	mov    %esi,0x4(%ebx)
437151:	ff 45 08             	incl   0x8(%ebp)
437154:	89 7b 08             	mov    %edi,0x8(%ebx)
437157:	89 45 0c             	mov    %eax,0xc(%ebp)
43715a:	85 c0                	test   %eax,%eax
43715c:	0f 85 d6 fe ff ff    	jne    0x437038
437162:	b8 4e 40 00 00       	mov    $0x404e,%eax
437167:	33 d2                	xor    %edx,%edx
437169:	39 53 08             	cmp    %edx,0x8(%ebx)
43716c:	75 2e                	jne    0x43719c
43716e:	8b 53 04             	mov    0x4(%ebx),%edx
437171:	8b 0b                	mov    (%ebx),%ecx
437173:	8b f2                	mov    %edx,%esi
437175:	8b c1                	mov    %ecx,%eax
437177:	c1 e2 10             	shl    $0x10,%edx
43717a:	c1 e8 10             	shr    $0x10,%eax
43717d:	0b d0                	or     %eax,%edx
43717f:	c1 ee 10             	shr    $0x10,%esi
437182:	8b 45 fc             	mov    -0x4(%ebp),%eax
437185:	c1 e1 10             	shl    $0x10,%ecx
437188:	05 f0 ff 00 00       	add    $0xfff0,%eax
43718d:	89 0b                	mov    %ecx,(%ebx)
43718f:	89 45 fc             	mov    %eax,-0x4(%ebp)
437192:	85 f6                	test   %esi,%esi
437194:	74 db                	je     0x437171
437196:	89 53 04             	mov    %edx,0x4(%ebx)
437199:	89 73 08             	mov    %esi,0x8(%ebx)
43719c:	8b 53 08             	mov    0x8(%ebx),%edx
43719f:	f7 c2 00 80 00 00    	test   $0x8000,%edx
4371a5:	75 34                	jne    0x4371db
4371a7:	8b 3b                	mov    (%ebx),%edi
4371a9:	8b 73 04             	mov    0x4(%ebx),%esi
4371ac:	8b c7                	mov    %edi,%eax
4371ae:	8b ce                	mov    %esi,%ecx
4371b0:	c1 e8 1f             	shr    $0x1f,%eax
4371b3:	03 f6                	add    %esi,%esi
4371b5:	0b f0                	or     %eax,%esi
4371b7:	c1 e9 1f             	shr    $0x1f,%ecx
4371ba:	8b 45 fc             	mov    -0x4(%ebp),%eax
4371bd:	03 d2                	add    %edx,%edx
4371bf:	0b d1                	or     %ecx,%edx
4371c1:	05 ff ff 00 00       	add    $0xffff,%eax
4371c6:	03 ff                	add    %edi,%edi
4371c8:	89 45 fc             	mov    %eax,-0x4(%ebp)
4371cb:	f7 c2 00 80 00 00    	test   $0x8000,%edx
4371d1:	74 d9                	je     0x4371ac
4371d3:	89 3b                	mov    %edi,(%ebx)
4371d5:	89 73 04             	mov    %esi,0x4(%ebx)
4371d8:	89 53 08             	mov    %edx,0x8(%ebx)
4371db:	5f                   	pop    %edi
4371dc:	5e                   	pop    %esi
4371dd:	66 89 43 0a          	mov    %ax,0xa(%ebx)
4371e1:	5b                   	pop    %ebx
4371e2:	8b e5                	mov    %ebp,%esp
4371e4:	5d                   	pop    %ebp
4371e5:	c3                   	ret
4371e6:	55                   	push   %ebp
4371e7:	8b ec                	mov    %esp,%ebp
4371e9:	6a 00                	push   $0x0
4371eb:	ff 75 1c             	push   0x1c(%ebp)
4371ee:	ff 75 18             	push   0x18(%ebp)
4371f1:	ff 75 14             	push   0x14(%ebp)
4371f4:	ff 75 10             	push   0x10(%ebp)
4371f7:	ff 75 0c             	push   0xc(%ebp)
4371fa:	ff 75 08             	push   0x8(%ebp)
4371fd:	e8 05 00 00 00       	call   0x437207
437202:	83 c4 1c             	add    $0x1c,%esp
437205:	5d                   	pop    %ebp
437206:	c3                   	ret
437207:	55                   	push   %ebp
437208:	8b ec                	mov    %esp,%ebp
43720a:	8b 45 14             	mov    0x14(%ebp),%eax
43720d:	83 f8 65             	cmp    $0x65,%eax
437210:	74 5f                	je     0x437271
437212:	83 f8 45             	cmp    $0x45,%eax