42ccfa:	56                   	push   %esi
42ccfb:	6a 2d                	push   $0x2d
42ccfd:	68 e4 02 46 00       	push   $0x4602e4
42cd02:	e8 cc 6a fd ff       	call   0x4037d3
42cd07:	ff 75 fc             	push   -0x4(%ebp)
42cd0a:	68 2c 03 46 00       	push   $0x46032c
42cd0f:	e9 04 01 00 00       	jmp    0x42ce18
42cd14:	53                   	push   %ebx
42cd15:	8d 45 fc             	lea    -0x4(%ebp),%eax
42cd18:	68 88 03 46 00       	push   $0x460388
42cd1d:	50                   	push   %eax
42cd1e:	e8 fd 51 fd ff       	call   0x401f20
42cd23:	8b f0                	mov    %eax,%esi
42cd25:	83 c4 0c             	add    $0xc,%esp
42cd28:	85 f6                	test   %esi,%esi
42cd2a:	79 0a                	jns    0x42cd36
42cd2c:	68 9c 03 46 00       	push   $0x46039c
42cd31:	e9 0c 01 00 00       	jmp    0x42ce42
42cd36:	ff 75 fc             	push   -0x4(%ebp)
42cd39:	33 f6                	xor    %esi,%esi
42cd3b:	6a 01                	push   $0x1
42cd3d:	56                   	push   %esi
42cd3e:	ff 15 64 b2 44 00    	call   *0x44b264
42cd44:	89 47 0c             	mov    %eax,0xc(%edi)
42cd47:	85 c0                	test   %eax,%eax
42cd49:	75 38                	jne    0x42cd83
42cd4b:	ff 15 e8 b0 44 00    	call   *0x44b0e8
42cd51:	0f b7 f0             	movzwl %ax,%esi
42cd54:	81 ce 00 00 07 80    	or     $0x80070000,%esi
42cd5a:	85 c0                	test   %eax,%eax
42cd5c:	0f 4e f0             	cmovle %eax,%esi
42cd5f:	b8 05 40 00 80       	mov    $0x80004005,%eax
42cd64:	85 f6                	test   %esi,%esi
42cd66:	0f 49 f0             	cmovns %eax,%esi
42cd69:	56                   	push   %esi
42cd6a:	6a 34                	push   $0x34
42cd6c:	68 e4 02 46 00       	push   $0x4602e4
42cd71:	e8 5d 6a fd ff       	call   0x4037d3
42cd76:	ff 75 fc             	push   -0x4(%ebp)
42cd79:	68 c8 03 46 00       	push   $0x4603c8
42cd7e:	e9 95 00 00 00       	jmp    0x42ce18
42cd83:	ff 75 08             	push   0x8(%ebp)
42cd86:	68 00 00 01 00       	push   $0x10000
42cd8b:	56                   	push   %esi
42cd8c:	6a 04                	push   $0x4
42cd8e:	56                   	push   %esi
42cd8f:	6a ff                	push   $0xffffffff
42cd91:	ff 15 68 b2 44 00    	call   *0x44b268
42cd97:	89 07                	mov    %eax,(%edi)
42cd99:	85 c0                	test   %eax,%eax
42cd9b:	75 35                	jne    0x42cdd2
42cd9d:	ff 15 e8 b0 44 00    	call   *0x44b0e8
42cda3:	0f b7 f0             	movzwl %ax,%esi
42cda6:	81 ce 00 00 07 80    	or     $0x80070000,%esi
42cdac:	85 c0                	test   %eax,%eax
42cdae:	0f 4e f0             	cmovle %eax,%esi
42cdb1:	b8 05 40 00 80       	mov    $0x80004005,%eax
42cdb6:	85 f6                	test   %esi,%esi
42cdb8:	0f 49 f0             	cmovns %eax,%esi
42cdbb:	56                   	push   %esi
42cdbc:	6a 3c                	push   $0x3c
42cdbe:	68 e4 02 46 00       	push   $0x4602e4
42cdc3:	e8 0b 6a fd ff       	call   0x4037d3
42cdc8:	ff 75 08             	push   0x8(%ebp)
42cdcb:	68 e4 03 46 00       	push   $0x4603e4
42cdd0:	eb 46                	jmp    0x42ce18
42cdd2:	56                   	push   %esi
42cdd3:	56                   	push   %esi
42cdd4:	56                   	push   %esi
42cdd5:	6a 02                	push   $0x2
42cdd7:	50                   	push   %eax
42cdd8:	ff 15 5c b2 44 00    	call   *0x44b25c
42cdde:	89 47 10             	mov    %eax,0x10(%edi)
42cde1:	85 c0                	test   %eax,%eax
42cde3:	75 41                	jne    0x42ce26
42cde5:	ff 15 e8 b0 44 00    	call   *0x44b0e8
42cdeb:	0f b7 f0             	movzwl %ax,%esi
42cdee:	81 ce 00 00 07 80    	or     $0x80070000,%esi
42cdf4:	85 c0                	test   %eax,%eax
42cdf6:	0f 4e f0             	cmovle %eax,%esi
42cdf9:	b8 05 40 00 80       	mov    $0x80004005,%eax
42cdfe:	85 f6                	test   %esi,%esi
42ce00:	0f 49 f0             	cmovns %eax,%esi
42ce03:	56                   	push   %esi
42ce04:	6a 43                	push   $0x43
42ce06:	68 e4 02 46 00       	push   $0x4602e4
42ce0b:	e8 c3 69 fd ff       	call   0x4037d3
42ce10:	ff 75 08             	push   0x8(%ebp)
42ce13:	68 0c 04 46 00       	push   $0x46040c
42ce18:	56                   	push   %esi
42ce19:	e8 11 33 01 00       	call   0x44012f
42ce1e:	83 c4 0c             	add    $0xc,%esp
42ce21:	e9 9d 00 00 00       	jmp    0x42cec3
42ce26:	53                   	push   %ebx
42ce27:	68 04 01 00 00       	push   $0x104
42ce2c:	05 1a 02 00 00       	add    $0x21a,%eax
42ce31:	50                   	push   %eax
42ce32:	e8 b3 4d fd ff       	call   0x401bea
42ce37:	8b f0                	mov    %eax,%esi
42ce39:	85 f6                	test   %esi,%esi
42ce3b:	79 0f                	jns    0x42ce4c
42ce3d:	68 30 04 46 00       	push   $0x460430
42ce42:	56                   	push   %esi
42ce43:	e8 e7 32 01 00       	call   0x44012f
42ce48:	59                   	pop    %ecx
42ce49:	59                   	pop    %ecx
42ce4a:	eb 77                	jmp    0x42cec3
42ce4c:	8b 47 10             	mov    0x10(%edi),%eax
42ce4f:	33 db                	xor    %ebx,%ebx
42ce51:	b9 0a 00 00 80       	mov    $0x8000000a,%ecx
42ce56:	88 18                	mov    %bl,(%eax)
42ce58:	8b 47 10             	mov    0x10(%edi),%eax
42ce5b:	88 98 18 02 00 00    	mov    %bl,0x218(%eax)
42ce61:	8b 47 10             	mov    0x10(%edi),%eax
42ce64:	89 48 04             	mov    %ecx,0x4(%eax)
42ce67:	8b 47 10             	mov    0x10(%edi),%eax
42ce6a:	88 58 02             	mov    %bl,0x2(%eax)
42ce6d:	8b 47 10             	mov    0x10(%edi),%eax
42ce70:	88 58 01             	mov    %bl,0x1(%eax)
42ce73:	8b 47 10             	mov    0x10(%edi),%eax
42ce76:	88 98 19 02 00 00    	mov    %bl,0x219(%eax)
42ce7c:	8b 47 10             	mov    0x10(%edi),%eax
42ce7f:	89 48 08             	mov    %ecx,0x8(%eax)
42ce82:	8b 47 10             	mov    0x10(%edi),%eax
42ce85:	88 58 03             	mov    %bl,0x3(%eax)
42ce88:	8b 47 10             	mov    0x10(%edi),%eax
42ce8b:	89 58 0c             	mov    %ebx,0xc(%eax)
42ce8e:	8b 47 10             	mov    0x10(%edi),%eax
42ce91:	c6 80 22 04 00 00 01 	movb   $0x1,0x422(%eax)
42ce98:	8b 47 10             	mov    0x10(%edi),%eax
42ce9b:	89 98 24 04 00 00    	mov    %ebx,0x424(%eax)
42cea1:	8b 47 10             	mov    0x10(%edi),%eax
42cea4:	89 98 28 04 00 00    	mov    %ebx,0x428(%eax)
42ceaa:	8b 47 10             	mov    0x10(%edi),%eax
42cead:	89 98 2c 04 00 00    	mov    %ebx,0x42c(%eax)
42ceb3:	ff 77 0c             	push   0xc(%edi)
42ceb6:	ff 15 90 b1 44 00    	call   *0x44b190
42cebc:	8b 45 10             	mov    0x10(%ebp),%eax
42cebf:	89 38                	mov    %edi,(%eax)
42cec1:	8b fb                	mov    %ebx,%edi
42cec3:	5b                   	pop    %ebx
42cec4:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
42cec8:	74 08                	je     0x42ced2
42ceca:	ff 75 fc             	push   -0x4(%ebp)
42cecd:	e8 1d 86 01 00       	call   0x4454ef
42ced2:	85 ff                	test   %edi,%edi
42ced4:	74 15                	je     0x42ceeb
42ced6:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
42ceda:	74 09                	je     0x42cee5
42cedc:	ff 77 0c             	push   0xc(%edi)
42cedf:	ff 15 90 b1 44 00    	call   *0x44b190
42cee5:	57                   	push   %edi
42cee6:	e8 0a 00 00 00       	call   0x42cef5
42ceeb:	5f                   	pop    %edi
42ceec:	8b c6                	mov    %esi,%eax
42ceee:	5e                   	pop    %esi
42ceef:	8b e5                	mov    %ebp,%esp
42cef1:	5d                   	pop    %ebp
42cef2:	c2 0c 00             	ret    $0xc
42cef5:	55                   	push   %ebp
42cef6:	8b ec                	mov    %esp,%ebp
42cef8:	56                   	push   %esi
42cef9:	8b 75 08             	mov    0x8(%ebp),%esi
42cefc:	85 f6                	test   %esi,%esi
42cefe:	74 51                	je     0x42cf51
42cf00:	53                   	push   %ebx
42cf01:	33 db                	xor    %ebx,%ebx
42cf03:	57                   	push   %edi
42cf04:	8b 3d d4 b0 44 00    	mov    0x44b0d4,%edi
42cf0a:	39 1e                	cmp    %ebx,(%esi)
42cf0c:	74 06                	je     0x42cf14
42cf0e:	ff 36                	push   (%esi)
42cf10:	ff d7                	call   *%edi
42cf12:	89 1e                	mov    %ebx,(%esi)
42cf14:	39 5e 04             	cmp    %ebx,0x4(%esi)
42cf17:	74 08                	je     0x42cf21
42cf19:	ff 76 04             	push   0x4(%esi)
42cf1c:	ff d7                	call   *%edi
42cf1e:	89 5e 04             	mov    %ebx,0x4(%esi)
42cf21:	39 5e 08             	cmp    %ebx,0x8(%esi)
42cf24:	74 08                	je     0x42cf2e
42cf26:	ff 76 08             	push   0x8(%esi)
42cf29:	ff d7                	call   *%edi
42cf2b:	89 5e 08             	mov    %ebx,0x8(%esi)
42cf2e:	39 5e 0c             	cmp    %ebx,0xc(%esi)
42cf31:	74 08                	je     0x42cf3b
42cf33:	ff 76 0c             	push   0xc(%esi)
42cf36:	ff d7                	call   *%edi
42cf38:	89 5e 0c             	mov    %ebx,0xc(%esi)
42cf3b:	39 5e 10             	cmp    %ebx,0x10(%esi)
42cf3e:	5f                   	pop    %edi
42cf3f:	5b                   	pop    %ebx
42cf40:	74 09                	je     0x42cf4b
42cf42:	ff 76 10             	push   0x10(%esi)
42cf45:	ff 15 60 b2 44 00    	call   *0x44b260
42cf4b:	56                   	push   %esi
42cf4c:	e8 48 6a fd ff       	call   0x403999
42cf51:	5e                   	pop    %esi
42cf52:	5d                   	pop    %ebp
42cf53:	c2 04 00             	ret    $0x4
42cf56:	55                   	push   %ebp
42cf57:	8b ec                	mov    %esp,%ebp
42cf59:	53                   	push   %ebx
42cf5a:	56                   	push   %esi
42cf5b:	57                   	push   %edi
42cf5c:	8b 7d 08             	mov    0x8(%ebp),%edi
42cf5f:	33 f6                	xor    %esi,%esi
42cf61:	6a ff                	push   $0xffffffff
42cf63:	ff 77 0c             	push   0xc(%edi)
42cf66:	ff 15 10 b2 44 00    	call   *0x44b210
42cf6c:	8b 47 10             	mov    0x10(%edi),%eax
42cf6f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42cf72:	8b 5d 10             	mov    0x10(%ebp),%ebx
42cf75:	8b 80 24 04 00 00    	mov    0x424(%eax),%eax
42cf7b:	89 01                	mov    %eax,(%ecx)
42cf7d:	8b 45 14             	mov    0x14(%ebp),%eax
42cf80:	89 33                	mov    %esi,(%ebx)
42cf82:	89 30                	mov    %esi,(%eax)
42cf84:	39 31                	cmp    %esi,(%ecx)
42cf86:	74 62                	je     0x42cfea
42cf88:	8b 47 10             	mov    0x10(%edi),%eax
42cf8b:	6a 01                	push   $0x1
42cf8d:	ff b0 2c 04 00 00    	push   0x42c(%eax)
42cf93:	e8 3c 69 fd ff       	call   0x4038d4
42cf98:	8b c8                	mov    %eax,%ecx
42cf9a:	89 0b                	mov    %ecx,(%ebx)
42cf9c:	85 c9                	test   %ecx,%ecx
42cf9e:	75 24                	jne    0x42cfc4
42cfa0:	be 0e 00 07 80       	mov    $0x8007000e,%esi
42cfa5:	56                   	push   %esi
42cfa6:	68 9b 00 00 00       	push   $0x9b
42cfab:	68 e4 02 46 00       	push   $0x4602e4
42cfb0:	e8 1e 68 fd ff       	call   0x4037d3
42cfb5:	68 68 04 46 00       	push   $0x460468
42cfba:	56                   	push   %esi
42cfbb:	e8 6f 31 01 00       	call   0x44012f
42cfc0:	59                   	pop    %ecx
42cfc1:	59                   	pop    %ecx
42cfc2:	eb 26                	jmp    0x42cfea
42cfc4:	8b 47 10             	mov    0x10(%edi),%eax
42cfc7:	ff b0 2c 04 00 00    	push   0x42c(%eax)
42cfcd:	05 30 04 00 00       	add    $0x430,%eax
42cfd2:	50                   	push   %eax
42cfd3:	51                   	push   %ecx
42cfd4:	e8 17 21 00 00       	call   0x42f0f0
42cfd9:	8b 4f 10             	mov    0x10(%edi),%ecx
42cfdc:	83 c4 0c             	add    $0xc,%esp
42cfdf:	8b 45 14             	mov    0x14(%ebp),%eax
42cfe2:	8b 89 2c 04 00 00    	mov    0x42c(%ecx),%ecx
42cfe8:	89 08                	mov    %ecx,(%eax)
42cfea:	ff 77 0c             	push   0xc(%edi)
42cfed:	ff 15 90 b1 44 00    	call   *0x44b190
42cff3:	5f                   	pop    %edi
42cff4:	8b c6                	mov    %esi,%eax
42cff6:	5e                   	pop    %esi
42cff7:	5b                   	pop    %ebx
42cff8:	5d                   	pop    %ebp
42cff9:	c2 10 00             	ret    $0x10
42cffc:	55                   	push   %ebp
42cffd:	8b ec                	mov    %esp,%ebp
42cfff:	56                   	push   %esi
42d000:	57                   	push   %edi
42d001:	8b 7d 08             	mov    0x8(%ebp),%edi
42d004:	6a ff                	push   $0xffffffff
42d006:	ff 77 0c             	push   0xc(%edi)
42d009:	ff 15 10 b2 44 00    	call   *0x44b210
42d00f:	8b 4f 10             	mov    0x10(%edi),%ecx
42d012:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
42d016:	8b 71 08             	mov    0x8(%ecx),%esi
42d019:	7d 0f                	jge    0x42d02a
42d01b:	85 f6                	test   %esi,%esi
42d01d:	74 08                	je     0x42d027
42d01f:	81 fe 04 40 00 80    	cmp    $0x80004004,%esi
42d025:	75 03                	jne    0x42d02a
42d027:	8b 71 04             	mov    0x4(%ecx),%esi
42d02a:	8b 45 0c             	mov    0xc(%ebp),%eax
42d02d:	85 c0                	test   %eax,%eax
42d02f:	74 05                	je     0x42d036
42d031:	8b 49 0c             	mov    0xc(%ecx),%ecx
42d034:	89 08                	mov    %ecx,(%eax)
42d036:	ff 77 0c             	push   0xc(%edi)
42d039:	ff 15 90 b1 44 00    	call   *0x44b190
42d03f:	5f                   	pop    %edi
42d040:	8b c6                	mov    %esi,%eax
42d042:	5e                   	pop    %esi
42d043:	5d                   	pop    %ebp
42d044:	c2 08 00             	ret    $0x8
42d047:	55                   	push   %ebp
42d048:	8b ec                	mov    %esp,%ebp
42d04a:	83 ec 10             	sub    $0x10,%esp
42d04d:	53                   	push   %ebx
42d04e:	56                   	push   %esi
42d04f:	8b 75 0c             	mov    0xc(%ebp),%esi
42d052:	33 c0                	xor    %eax,%eax
42d054:	57                   	push   %edi
42d055:	8d 7d f0             	lea    -0x10(%ebp),%edi
42d058:	33 db                	xor    %ebx,%ebx
42d05a:	ab                   	stos   %eax,%es:(%edi)
42d05b:	6a 01                	push   $0x1
42d05d:	ab                   	stos   %eax,%es:(%edi)
42d05e:	ab                   	stos   %eax,%es:(%edi)
42d05f:	ab                   	stos   %eax,%es:(%edi)
42d060:	8b 3e                	mov    (%esi),%edi
42d062:	8b c7                	mov    %edi,%eax
42d064:	c1 e0 02             	shl    $0x2,%eax
42d067:	50                   	push   %eax
42d068:	e8 67 68 fd ff       	call   0x4038d4
42d06d:	8b d0                	mov    %eax,%edx
42d06f:	89 55 0c             	mov    %edx,0xc(%ebp)
42d072:	85 d2                	test   %edx,%edx
42d074:	75 27                	jne    0x42d09d
42d076:	bb 0e 00 07 80       	mov    $0x8007000e,%ebx
42d07b:	53                   	push   %ebx
42d07c:	68 e4 00 00 00       	push   $0xe4
42d081:	68 e4 02 46 00       	push   $0x4602e4
42d086:	e8 48 67 fd ff       	call   0x4037d3
42d08b:	68 94 04 46 00       	push   $0x460494
42d090:	53                   	push   %ebx
42d091:	e8 99 30 01 00       	call   0x44012f
42d096:	59                   	pop    %ecx
42d097:	59                   	pop    %ecx
42d098:	e9 84 00 00 00       	jmp    0x42d121
42d09d:	8b c3                	mov    %ebx,%eax
42d09f:	39 1e                	cmp    %ebx,(%esi)
42d0a1:	76 11                	jbe    0x42d0b4
42d0a3:	8d 4e 04             	lea    0x4(%esi),%ecx
42d0a6:	89 0c 82             	mov    %ecx,(%edx,%eax,4)
42d0a9:	40                   	inc    %eax
42d0aa:	81 c1 0c 02 00 00    	add    $0x20c,%ecx
42d0b0:	3b 06                	cmp    (%esi),%eax
42d0b2:	72 f2                	jb     0x42d0a6
42d0b4:	ff 75 14             	push   0x14(%ebp)
42d0b7:	8d 45 f0             	lea    -0x10(%ebp),%eax
42d0ba:	c7 45 f0 03 00 00 00 	movl   $0x3,-0x10(%ebp)
42d0c1:	50                   	push   %eax
42d0c2:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
42d0c9:	89 7d f8             	mov    %edi,-0x8(%ebp)
42d0cc:	89 55 fc             	mov    %edx,-0x4(%ebp)
42d0cf:	ff 55 10             	call   *0x10(%ebp)
42d0d2:	8b 7d 08             	mov    0x8(%ebp),%edi
42d0d5:	8b f0                	mov    %eax,%esi
42d0d7:	6a ff                	push   $0xffffffff
42d0d9:	ff 77 0c             	push   0xc(%edi)
42d0dc:	ff 15 10 b2 44 00    	call   *0x44b210
42d0e2:	8b 47 10             	mov    0x10(%edi),%eax
42d0e5:	89 98 24 04 00 00    	mov    %ebx,0x424(%eax)
42d0eb:	8b 47 10             	mov    0x10(%edi),%eax
42d0ee:	89 b0 28 04 00 00    	mov    %esi,0x428(%eax)
42d0f4:	83 fe 02             	cmp    $0x2,%esi
42d0f7:	75 0e                	jne    0x42d107