422f4e:	3b b8 d4 00 00 00    	cmp    0xd4(%eax),%edi
422f54:	0f 82 58 ff ff ff    	jb     0x422eb2
422f5a:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
422f5e:	74 64                	je     0x422fc4
422f60:	6a 00                	push   $0x0
422f62:	68 e4 b7 44 00       	push   $0x44b7e4
422f67:	8d 45 fc             	lea    -0x4(%ebp),%eax
422f6a:	50                   	push   %eax
422f6b:	e8 82 ef fd ff       	call   0x401ef2
422f70:	8b f0                	mov    %eax,%esi
422f72:	85 f6                	test   %esi,%esi
422f74:	79 2e                	jns    0x422fa4
422f76:	68 e4 cd 45 00       	push   $0x45cde4
422f7b:	eb 3f                	jmp    0x422fbc
422f7d:	68 c4 cd 45 00       	push   $0x45cdc4
422f82:	eb 38                	jmp    0x422fbc
422f84:	68 9c cd 45 00       	push   $0x45cd9c
422f89:	eb 31                	jmp    0x422fbc
422f8b:	68 44 cd 45 00       	push   $0x45cd44
422f90:	eb 2a                	jmp    0x422fbc
422f92:	ff 33                	push   (%ebx)
422f94:	68 14 cd 45 00       	push   $0x45cd14
422f99:	56                   	push   %esi
422f9a:	e8 90 d1 01 00       	call   0x44012f
422f9f:	83 c4 0c             	add    $0xc,%esp
422fa2:	eb 20                	jmp    0x422fc4
422fa4:	6a 00                	push   $0x0
422fa6:	ff 75 fc             	push   -0x4(%ebp)
422fa9:	ff 75 10             	push   0x10(%ebp)
422fac:	e8 58 ef fd ff       	call   0x401f09
422fb1:	8b f0                	mov    %eax,%esi
422fb3:	85 f6                	test   %esi,%esi
422fb5:	79 0d                	jns    0x422fc4
422fb7:	68 10 ce 45 00       	push   $0x45ce10
422fbc:	56                   	push   %esi
422fbd:	e8 6d d1 01 00       	call   0x44012f
422fc2:	59                   	pop    %ecx
422fc3:	59                   	pop    %ecx
422fc4:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
422fc8:	5b                   	pop    %ebx
422fc9:	74 08                	je     0x422fd3
422fcb:	ff 75 f8             	push   -0x8(%ebp)
422fce:	e8 1c 25 02 00       	call   0x4454ef
422fd3:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
422fd7:	74 08                	je     0x422fe1
422fd9:	ff 75 f4             	push   -0xc(%ebp)
422fdc:	e8 0e 25 02 00       	call   0x4454ef
422fe1:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
422fe5:	74 08                	je     0x422fef
422fe7:	ff 75 fc             	push   -0x4(%ebp)
422fea:	e8 00 25 02 00       	call   0x4454ef
422fef:	5f                   	pop    %edi
422ff0:	8b c6                	mov    %esi,%eax
422ff2:	5e                   	pop    %esi
422ff3:	8b e5                	mov    %ebp,%esp
422ff5:	5d                   	pop    %ebp
422ff6:	c2 0c 00             	ret    $0xc
422ff9:	55                   	push   %ebp
422ffa:	8b ec                	mov    %esp,%ebp
422ffc:	53                   	push   %ebx
422ffd:	56                   	push   %esi
422ffe:	8b 75 08             	mov    0x8(%ebp),%esi
423001:	33 c0                	xor    %eax,%eax
423003:	57                   	push   %edi
423004:	8b f8                	mov    %eax,%edi
423006:	c7 45 08 22 00 00 00 	movl   $0x22,0x8(%ebp)
42300d:	8b d0                	mov    %eax,%edx
42300f:	8b de                	mov    %esi,%ebx
423011:	0f b7 06             	movzwl (%esi),%eax
423014:	eb 16                	jmp    0x42302c
423016:	0f b7 c8             	movzwl %ax,%ecx
423019:	8d 5b 02             	lea    0x2(%ebx),%ebx
42301c:	47                   	inc    %edi
42301d:	8d 42 01             	lea    0x1(%edx),%eax
423020:	66 39 4d 08          	cmp    %cx,0x8(%ebp)
423024:	0f 45 c2             	cmovne %edx,%eax
423027:	8b d0                	mov    %eax,%edx
423029:	0f b7 03             	movzwl (%ebx),%eax
42302c:	66 85 c0             	test   %ax,%ax
42302f:	75 e5                	jne    0x423016
423031:	8b 5d 0c             	mov    0xc(%ebp),%ebx
423034:	8d 47 01             	lea    0x1(%edi),%eax
423037:	03 c2                	add    %edx,%eax
423039:	50                   	push   %eax
42303a:	53                   	push   %ebx
42303b:	ff 75 10             	push   0x10(%ebp)
42303e:	e8 dc 51 fe ff       	call   0x40821f
423043:	8b f8                	mov    %eax,%edi
423045:	85 ff                	test   %edi,%edi
423047:	79 0f                	jns    0x423058
423049:	68 08 ea 44 00       	push   $0x44ea08
42304e:	57                   	push   %edi
42304f:	e8 db d0 01 00       	call   0x44012f
423054:	59                   	pop    %ecx
423055:	59                   	pop    %ecx
423056:	eb 2d                	jmp    0x423085
423058:	8b 0b                	mov    (%ebx),%ecx
42305a:	33 d2                	xor    %edx,%edx
42305c:	66 39 16             	cmp    %dx,(%esi)
42305f:	74 1f                	je     0x423080
423061:	6a 22                	push   $0x22
423063:	5b                   	pop    %ebx
423064:	0f b7 06             	movzwl (%esi),%eax
423067:	66 89 01             	mov    %ax,(%ecx)
42306a:	66 3b d8             	cmp    %ax,%bx
42306d:	75 06                	jne    0x423075
42306f:	83 c1 02             	add    $0x2,%ecx
423072:	66 89 19             	mov    %bx,(%ecx)
423075:	83 c6 02             	add    $0x2,%esi
423078:	83 c1 02             	add    $0x2,%ecx
42307b:	66 39 16             	cmp    %dx,(%esi)
42307e:	75 e4                	jne    0x423064
423080:	33 c0                	xor    %eax,%eax
423082:	66 89 01             	mov    %ax,(%ecx)
423085:	8b c7                	mov    %edi,%eax
423087:	5f                   	pop    %edi
423088:	5e                   	pop    %esi
423089:	5b                   	pop    %ebx
42308a:	5d                   	pop    %ebp
42308b:	c2 0c 00             	ret    $0xc
42308e:	55                   	push   %ebp
42308f:	8b ec                	mov    %esp,%ebp
423091:	51                   	push   %ecx
423092:	56                   	push   %esi
423093:	33 f6                	xor    %esi,%esi
423095:	89 75 fc             	mov    %esi,-0x4(%ebp)
423098:	39 75 0c             	cmp    %esi,0xc(%ebp)
42309b:	75 18                	jne    0x4230b5
42309d:	8b 45 10             	mov    0x10(%ebp),%eax
4230a0:	85 c0                	test   %eax,%eax
4230a2:	75 4d                	jne    0x4230f1
4230a4:	8b 45 14             	mov    0x14(%ebp),%eax
4230a7:	85 c0                	test   %eax,%eax
4230a9:	75 78                	jne    0x423123
4230ab:	8b 45 18             	mov    0x18(%ebp),%eax
4230ae:	89 30                	mov    %esi,(%eax)
4230b0:	e9 a2 00 00 00       	jmp    0x423157
4230b5:	8d 45 fc             	lea    -0x4(%ebp),%eax
4230b8:	50                   	push   %eax
4230b9:	ff 75 0c             	push   0xc(%ebp)
4230bc:	ff 75 08             	push   0x8(%ebp)
4230bf:	e8 f0 66 fe ff       	call   0x4097b4
4230c4:	8b f0                	mov    %eax,%esi
4230c6:	85 f6                	test   %esi,%esi
4230c8:	79 0f                	jns    0x4230d9
4230ca:	68 a4 ca 45 00       	push   $0x45caa4
4230cf:	56                   	push   %esi
4230d0:	e8 5a d0 01 00       	call   0x44012f
4230d5:	59                   	pop    %ecx
4230d6:	59                   	pop    %ecx
4230d7:	eb 7e                	jmp    0x423157
4230d9:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4230dd:	74 0b                	je     0x4230ea
4230df:	8b 45 18             	mov    0x18(%ebp),%eax
4230e2:	c7 00 03 00 00 00    	movl   $0x3,(%eax)
4230e8:	eb 6d                	jmp    0x423157
4230ea:	8b 45 10             	mov    0x10(%ebp),%eax
4230ed:	85 c0                	test   %eax,%eax
4230ef:	74 2b                	je     0x42311c
4230f1:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4230f4:	51                   	push   %ecx
4230f5:	50                   	push   %eax
4230f6:	ff 75 08             	push   0x8(%ebp)
4230f9:	e8 b6 66 fe ff       	call   0x4097b4
4230fe:	8b f0                	mov    %eax,%esi
423100:	85 f6                	test   %esi,%esi
423102:	79 07                	jns    0x42310b
423104:	68 cc ca 45 00       	push   $0x45cacc
423109:	eb c4                	jmp    0x4230cf
42310b:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
42310f:	74 0b                	je     0x42311c
423111:	8b 45 18             	mov    0x18(%ebp),%eax
423114:	c7 00 04 00 00 00    	movl   $0x4,(%eax)
42311a:	eb 3b                	jmp    0x423157
42311c:	8b 45 14             	mov    0x14(%ebp),%eax
42311f:	85 c0                	test   %eax,%eax
423121:	74 2b                	je     0x42314e
423123:	8d 4d fc             	lea    -0x4(%ebp),%ecx
423126:	51                   	push   %ecx
423127:	50                   	push   %eax
423128:	ff 75 08             	push   0x8(%ebp)
42312b:	e8 84 66 fe ff       	call   0x4097b4
423130:	8b f0                	mov    %eax,%esi
423132:	85 f6                	test   %esi,%esi
423134:	79 07                	jns    0x42313d
423136:	68 f8 ca 45 00       	push   $0x45caf8
42313b:	eb 92                	jmp    0x4230cf
42313d:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
423141:	74 0b                	je     0x42314e
423143:	8b 45 18             	mov    0x18(%ebp),%eax
423146:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
42314c:	eb 09                	jmp    0x423157
42314e:	8b 45 18             	mov    0x18(%ebp),%eax
423151:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
423157:	8b c6                	mov    %esi,%eax
423159:	5e                   	pop    %esi
42315a:	8b e5                	mov    %ebp,%esp
42315c:	5d                   	pop    %ebp
42315d:	c2 14 00             	ret    $0x14
423160:	55                   	push   %ebp
423161:	8b ec                	mov    %esp,%ebp
423163:	83 ec 10             	sub    $0x10,%esp
423166:	53                   	push   %ebx
423167:	8b 5d 08             	mov    0x8(%ebp),%ebx
42316a:	33 c0                	xor    %eax,%eax
42316c:	56                   	push   %esi
42316d:	57                   	push   %edi
42316e:	8b 7d 0c             	mov    0xc(%ebp),%edi
423171:	57                   	push   %edi
423172:	68 64 ca 44 00       	push   $0x44ca64
423177:	53                   	push   %ebx
423178:	89 45 f0             	mov    %eax,-0x10(%ebp)
42317b:	89 45 f4             	mov    %eax,-0xc(%ebp)
42317e:	89 45 f8             	mov    %eax,-0x8(%ebp)
423181:	89 45 fc             	mov    %eax,-0x4(%ebp)
423184:	e8 3e 00 02 00       	call   0x4431c7
423189:	8b f0                	mov    %eax,%esi
42318b:	85 f6                	test   %esi,%esi
42318d:	79 12                	jns    0x4231a1
42318f:	68 6c ca 44 00       	push   $0x44ca6c
423194:	56                   	push   %esi
423195:	e8 95 cf 01 00       	call   0x44012f
42319a:	59                   	pop    %ecx
42319b:	59                   	pop    %ecx
42319c:	e9 e7 01 00 00       	jmp    0x423388
4231a1:	8d 45 fc             	lea    -0x4(%ebp),%eax
4231a4:	50                   	push   %eax
4231a5:	68 7c c8 45 00       	push   $0x45c87c
4231aa:	53                   	push   %ebx
4231ab:	e8 17 00 02 00       	call   0x4431c7
4231b0:	8b f0                	mov    %eax,%esi
4231b2:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
4231b8:	74 58                	je     0x423212
4231ba:	85 f6                	test   %esi,%esi
4231bc:	79 07                	jns    0x4231c5
4231be:	68 94 c8 45 00       	push   $0x45c894
4231c3:	eb cf                	jmp    0x423194
4231c5:	8d 47 08             	lea    0x8(%edi),%eax
4231c8:	50                   	push   %eax
4231c9:	6a 00                	push   $0x0
4231cb:	ff 75 fc             	push   -0x4(%ebp)
4231ce:	e8 87 19 02 00       	call   0x444b5a
4231d3:	8b f0                	mov    %eax,%esi
4231d5:	85 f6                	test   %esi,%esi
4231d7:	79 16                	jns    0x4231ef
4231d9:	ff 75 fc             	push   -0x4(%ebp)
4231dc:	68 b0 c8 45 00       	push   $0x45c8b0
4231e1:	56                   	push   %esi
4231e2:	e8 48 cf 01 00       	call   0x44012f
4231e7:	83 c4 0c             	add    $0xc,%esp
4231ea:	e9 99 01 00 00       	jmp    0x423388
4231ef:	8d 47 20             	lea    0x20(%edi),%eax
4231f2:	c7 47 18 01 00 00 00 	movl   $0x1,0x18(%edi)
4231f9:	50                   	push   %eax
4231fa:	68 d4 c8 45 00       	push   $0x45c8d4
4231ff:	53                   	push   %ebx
423200:	e8 d6 01 02 00       	call   0x4433db
423205:	8b f0                	mov    %eax,%esi
423207:	85 f6                	test   %esi,%esi
423209:	79 07                	jns    0x423212
42320b:	68 f0 c8 45 00       	push   $0x45c8f0
423210:	eb 82                	jmp    0x423194
423212:	8d 45 fc             	lea    -0x4(%ebp),%eax
423215:	50                   	push   %eax
423216:	68 10 c9 45 00       	push   $0x45c910
42321b:	53                   	push   %ebx
42321c:	e8 a6 ff 01 00       	call   0x4431c7
423221:	8b f0                	mov    %eax,%esi
423223:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
423229:	74 52                	je     0x42327d
42322b:	85 f6                	test   %esi,%esi
42322d:	79 0a                	jns    0x423239
42322f:	68 28 c9 45 00       	push   $0x45c928
423234:	e9 5b ff ff ff       	jmp    0x423194
423239:	8d 47 10             	lea    0x10(%edi),%eax
42323c:	50                   	push   %eax
42323d:	6a 00                	push   $0x0
42323f:	ff 75 fc             	push   -0x4(%ebp)
423242:	e8 13 19 02 00       	call   0x444b5a
423247:	8b f0                	mov    %eax,%esi
423249:	85 f6                	test   %esi,%esi
42324b:	79 0a                	jns    0x423257
42324d:	ff 75 fc             	push   -0x4(%ebp)
423250:	68 44 c9 45 00       	push   $0x45c944
423255:	eb 8a                	jmp    0x4231e1
423257:	8d 47 24             	lea    0x24(%edi),%eax
42325a:	c7 47 1c 01 00 00 00 	movl   $0x1,0x1c(%edi)
423261:	50                   	push   %eax
423262:	68 68 c9 45 00       	push   $0x45c968
423267:	53                   	push   %ebx
423268:	e8 6e 01 02 00       	call   0x4433db
42326d:	8b f0                	mov    %eax,%esi
42326f:	85 f6                	test   %esi,%esi
423271:	79 0a                	jns    0x42327d
423273:	68 84 c9 45 00       	push   $0x45c984
423278:	e9 17 ff ff ff       	jmp    0x423194
42327d:	8d 47 28             	lea    0x28(%edi),%eax
423280:	50                   	push   %eax
423281:	68 a4 c9 45 00       	push   $0x45c9a4
423286:	53                   	push   %ebx
423287:	e8 4f 01 02 00       	call   0x4433db
42328c:	8b f0                	mov    %eax,%esi
42328e:	85 f6                	test   %esi,%esi
423290:	79 0a                	jns    0x42329c
423292:	68 bc c9 45 00       	push   $0x45c9bc
423297:	e9 f8 fe ff ff       	jmp    0x423194
42329c:	8d 45 f0             	lea    -0x10(%ebp),%eax
42329f:	50                   	push   %eax
4232a0:	68 c4 eb 44 00       	push   $0x44ebc4
4232a5:	53                   	push   %ebx
4232a6:	e8 58 05 02 00       	call   0x443803
4232ab:	8b f0                	mov    %eax,%esi
4232ad:	85 f6                	test   %esi,%esi
4232af:	79 0a                	jns    0x4232bb
4232b1:	68 d8 c9 45 00       	push   $0x45c9d8
4232b6:	e9 d9 fe ff ff       	jmp    0x423194
4232bb:	8b 45 f0             	mov    -0x10(%ebp),%eax
4232be:	8d 55 f8             	lea    -0x8(%ebp),%edx
4232c1:	52                   	push   %edx
4232c2:	50                   	push   %eax
4232c3:	8b 08                	mov    (%eax),%ecx
4232c5:	ff 51 20             	call   *0x20(%ecx)
4232c8:	8b f0                	mov    %eax,%esi
4232ca:	85 f6                	test   %esi,%esi
4232cc:	79 0a                	jns    0x4232d8
4232ce:	68 fc c9 45 00       	push   $0x45c9fc
4232d3:	e9 bc fe ff ff       	jmp    0x423194
4232d8:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4232dc:	0f 84 a4 00 00 00    	je     0x423386
4232e2:	8d 47 2c             	lea    0x2c(%edi),%eax
4232e5:	50                   	push   %eax
4232e6:	68 20 ca 45 00       	push   $0x45ca20
4232eb:	53                   	push   %ebx
4232ec:	e8 ea 00 02 00       	call   0x4433db
4232f1:	8b f0                	mov    %eax,%esi
4232f3:	85 f6                	test   %esi,%esi
4232f5:	79 0a                	jns    0x423301
4232f7:	68 3c ca 45 00       	push   $0x45ca3c
4232fc:	e9 93 fe ff ff       	jmp    0x423194
423301:	8b 45 f8             	mov    -0x8(%ebp),%eax
423304:	6a 01                	push   $0x1
423306:	c1 e0 02             	shl    $0x2,%eax
423309:	50                   	push   %eax
42330a:	e8 c5 05 fe ff       	call   0x4038d4
42330f:	89 47 30             	mov    %eax,0x30(%edi)
423312:	85 c0                	test   %eax,%eax
423314:	75 1f                	jne    0x423335
423316:	be 0e 00 07 80       	mov    $0x8007000e,%esi
42331b:	56                   	push   %esi
42331c:	68 a2 05 00 00       	push   $0x5a2