46cd95:	6a 01                	push   $0x1
46cd97:	eb 08                	jmp    0x46cda1
46cd99:	81 ce 00 00 01 00    	or     $0x10000,%esi
46cd9f:	6a 00                	push   $0x0
46cda1:	68 cf 00 00 00       	push   $0xcf
46cda6:	53                   	push   %ebx
46cda7:	ff d1                	call   *%ecx
46cda9:	81 ce 00 00 00 50    	or     $0x50000000,%esi
46cdaf:	56                   	push   %esi
46cdb0:	6a f0                	push   $0xfffffff0
46cdb2:	53                   	push   %ebx
46cdb3:	ff 15 f0 d4 48 00    	call   *0x48d4f0
46cdb9:	89 45 fc             	mov    %eax,-0x4(%ebp)
46cdbc:	8b 75 10             	mov    0x10(%ebp),%esi
46cdbf:	83 fe ff             	cmp    $0xffffffff,%esi
46cdc2:	74 35                	je     0x46cdf9
46cdc4:	56                   	push   %esi
46cdc5:	6a ec                	push   $0xffffffec
46cdc7:	53                   	push   %ebx
46cdc8:	ff 15 f0 d4 48 00    	call   *0x48d4f0
46cdce:	8b 4d f8             	mov    -0x8(%ebp),%ecx
46cdd1:	89 45 fc             	mov    %eax,-0x4(%ebp)
46cdd4:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46cdd9:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46cddc:	8b 00                	mov    (%eax),%eax
46cdde:	80 b8 90 00 00 00 13 	cmpb   $0x13,0x90(%eax)
46cde5:	75 12                	jne    0x46cdf9
46cde7:	56                   	push   %esi
46cde8:	6a 00                	push   $0x0
46cdea:	68 36 10 00 00       	push   $0x1036
46cdef:	53                   	push   %ebx
46cdf0:	ff 15 70 d6 48 00    	call   *0x48d670
46cdf6:	89 45 fc             	mov    %eax,-0x4(%ebp)
46cdf9:	8a 87 93 00 00 00    	mov    0x93(%edi),%al
46cdff:	8b 4d 08             	mov    0x8(%ebp),%ecx
46ce02:	3c ff                	cmp    $0xff,%al
46ce04:	74 16                	je     0x46ce1c
46ce06:	0f b6 c0             	movzbl %al,%eax
46ce09:	3b 81 90 01 00 00    	cmp    0x190(%ecx),%eax
46ce0f:	74 0b                	je     0x46ce1c
46ce11:	6a 00                	push   $0x0
46ce13:	53                   	push   %ebx
46ce14:	ff 15 04 d7 48 00    	call   *0x48d704
46ce1a:	eb 09                	jmp    0x46ce25
46ce1c:	6a 01                	push   $0x1
46ce1e:	57                   	push   %edi
46ce1f:	51                   	push   %ecx
46ce20:	e8 b9 11 00 00       	call   0x46dfde
46ce25:	8a 87 90 00 00 00    	mov    0x90(%edi),%al
46ce2b:	3c 02                	cmp    $0x2,%al
46ce2d:	74 09                	je     0x46ce38
46ce2f:	3c 03                	cmp    $0x3,%al
46ce31:	74 05                	je     0x46ce38
46ce33:	83 fe ff             	cmp    $0xffffffff,%esi
46ce36:	74 11                	je     0x46ce49
46ce38:	6a 27                	push   $0x27
46ce3a:	33 c0                	xor    %eax,%eax
46ce3c:	50                   	push   %eax
46ce3d:	50                   	push   %eax
46ce3e:	50                   	push   %eax
46ce3f:	50                   	push   %eax
46ce40:	50                   	push   %eax
46ce41:	ff 37                	push   (%edi)
46ce43:	ff 15 b4 d4 48 00    	call   *0x48d4b4
46ce49:	33 c0                	xor    %eax,%eax
46ce4b:	39 45 fc             	cmp    %eax,-0x4(%ebp)
46ce4e:	0f 95 c0             	setne  %al
46ce51:	5f                   	pop    %edi
46ce52:	5e                   	pop    %esi
46ce53:	5b                   	pop    %ebx
46ce54:	c9                   	leave
46ce55:	c2 0c 00             	ret    $0xc
46ce58:	55                   	push   %ebp
46ce59:	8b ec                	mov    %esp,%ebp
46ce5b:	83 e4 f8             	and    $0xfffffff8,%esp
46ce5e:	83 ec 4c             	sub    $0x4c,%esp
46ce61:	8d 44 24 04          	lea    0x4(%esp),%eax
46ce65:	53                   	push   %ebx
46ce66:	56                   	push   %esi
46ce67:	57                   	push   %edi
46ce68:	50                   	push   %eax
46ce69:	8d 44 24 18          	lea    0x18(%esp),%eax
46ce6d:	50                   	push   %eax
46ce6e:	ff 75 08             	push   0x8(%ebp)
46ce71:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46ce76:	e8 83 05 fa ff       	call   0x40d3fe
46ce7b:	84 c0                	test   %al,%al
46ce7d:	0f 84 5e 02 00 00    	je     0x46d0e1
46ce83:	8b 4c 24 14          	mov    0x14(%esp),%ecx
46ce87:	a1 88 16 4c 00       	mov    0x4c1688,%eax
46ce8c:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46ce8f:	8b 4c 24 10          	mov    0x10(%esp),%ecx
46ce93:	8b 18                	mov    (%eax),%ebx
46ce95:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46ce9a:	89 5c 24 14          	mov    %ebx,0x14(%esp)
46ce9e:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46cea1:	8b 30                	mov    (%eax),%esi
46cea3:	8a 86 90 00 00 00    	mov    0x90(%esi),%al
46cea9:	3c 0e                	cmp    $0xe,%al
46ceab:	0f 84 30 02 00 00    	je     0x46d0e1
46ceb1:	3c 0f                	cmp    $0xf,%al
46ceb3:	0f 84 28 02 00 00    	je     0x46d0e1
46ceb9:	3c 0c                	cmp    $0xc,%al
46cebb:	0f 84 20 02 00 00    	je     0x46d0e1
46cec1:	3c 09                	cmp    $0x9,%al
46cec3:	0f 84 18 02 00 00    	je     0x46d0e1
46cec9:	3c 14                	cmp    $0x14,%al
46cecb:	0f 84 10 02 00 00    	je     0x46d0e1
46ced1:	3c 11                	cmp    $0x11,%al
46ced3:	0f 84 08 02 00 00    	je     0x46d0e1
46ced9:	3c 1d                	cmp    $0x1d,%al
46cedb:	0f 84 00 02 00 00    	je     0x46d0e1
46cee1:	3c 1b                	cmp    $0x1b,%al
46cee3:	0f 84 f8 01 00 00    	je     0x46d0e1
46cee9:	3c 15                	cmp    $0x15,%al
46ceeb:	0f 84 f0 01 00 00    	je     0x46d0e1
46cef1:	6a 2c                	push   $0x2c
46cef3:	33 ff                	xor    %edi,%edi
46cef5:	8d 44 24 30          	lea    0x30(%esp),%eax
46cef9:	57                   	push   %edi
46cefa:	50                   	push   %eax
46cefb:	e8 50 3e fb ff       	call   0x420d50
46cf00:	0f b6 45 1c          	movzbl 0x1c(%ebp),%eax
46cf04:	8b 15 7c 16 4c 00    	mov    0x4c167c,%edx
46cf0a:	83 c4 0c             	add    $0xc,%esp
46cf0d:	f7 d8                	neg    %eax
46cf0f:	1b c0                	sbb    %eax,%eax
46cf11:	83 e0 02             	and    $0x2,%eax
46cf14:	83 c8 11             	or     $0x11,%eax
46cf17:	89 44 24 2c          	mov    %eax,0x2c(%esp)
46cf1b:	c7 44 24 28 30 00 00 	movl   $0x30,0x28(%esp)
46cf22:	00
46cf23:	8b 06                	mov    (%esi),%eax
46cf25:	89 44 24 30          	mov    %eax,0x30(%esp)
46cf29:	89 54 24 48          	mov    %edx,0x48(%esp)
46cf2d:	8b 06                	mov    (%esi),%eax
46cf2f:	89 44 24 34          	mov    %eax,0x34(%esp)
46cf33:	8b 45 0c             	mov    0xc(%ebp),%eax
46cf36:	89 44 24 4c          	mov    %eax,0x4c(%esp)
46cf3a:	80 be 90 00 00 00 0b 	cmpb   $0xb,0x90(%esi)
46cf41:	0f 85 f3 00 00 00    	jne    0x46d03a
46cf47:	ff b3 88 01 00 00    	push   0x188(%ebx)
46cf4d:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46cf52:	e8 cf e5 fa ff       	call   0x41b526
46cf57:	8b 0d 9c 16 4c 00    	mov    0x4c169c,%ecx
46cf5d:	8b f8                	mov    %eax,%edi
46cf5f:	8b 0c b9             	mov    (%ecx,%edi,4),%ecx
46cf62:	8b 09                	mov    (%ecx),%ecx
46cf64:	83 79 50 00          	cmpl   $0x0,0x50(%ecx)
46cf68:	74 34                	je     0x46cf9e
46cf6a:	83 79 58 00          	cmpl   $0x0,0x58(%ecx)
46cf6e:	74 2e                	je     0x46cf9e
46cf70:	ff 71 50             	push   0x50(%ecx)
46cf73:	ff 15 24 d6 48 00    	call   *0x48d624
46cf79:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46cf7e:	68 00 dc 49 00       	push   $0x49dc00
46cf83:	8b 04 b8             	mov    (%eax,%edi,4),%eax
46cf86:	8b 00                	mov    (%eax),%eax
46cf88:	83 60 50 00          	andl   $0x0,0x50(%eax)
46cf8c:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46cf91:	8b 04 b8             	mov    (%eax,%edi,4),%eax
46cf94:	8b 08                	mov    (%eax),%ecx
46cf96:	83 c1 54             	add    $0x54,%ecx
46cf99:	e8 c5 9a f9 ff       	call   0x406a63
46cf9e:	8b 83 88 01 00 00    	mov    0x188(%ebx),%eax
46cfa4:	8b 7e 50             	mov    0x50(%esi),%edi
46cfa7:	8b 1d 70 d6 48 00    	mov    0x48d670,%ebx
46cfad:	89 44 24 30          	mov    %eax,0x30(%esp)
46cfb1:	8b 44 24 10          	mov    0x10(%esp),%eax
46cfb5:	89 44 24 34          	mov    %eax,0x34(%esp)
46cfb9:	85 ff                	test   %edi,%edi
46cfbb:	75 4c                	jne    0x46d009
46cfbd:	8b 4c 24 14          	mov    0x14(%esp),%ecx
46cfc1:	0f b6 45 18          	movzbl 0x18(%ebp),%eax
46cfc5:	6a 00                	push   $0x0
46cfc7:	ff 35 7c 16 4c 00    	push   0x4c167c
46cfcd:	f7 d8                	neg    %eax
46cfcf:	6a 00                	push   $0x0
46cfd1:	ff b1 88 01 00 00    	push   0x188(%ecx)
46cfd7:	b9 00 00 00 80       	mov    $0x80000000,%ecx
46cfdc:	51                   	push   %ecx
46cfdd:	51                   	push   %ecx
46cfde:	51                   	push   %ecx
46cfdf:	1b c0                	sbb    %eax,%eax
46cfe1:	51                   	push   %ecx
46cfe2:	83 e0 40             	and    $0x40,%eax
46cfe5:	0d 13 00 00 80       	or     $0x80000013,%eax
46cfea:	50                   	push   %eax
46cfeb:	6a 00                	push   $0x0
46cfed:	68 94 4a 4b 00       	push   $0x4b4a94
46cff2:	6a 08                	push   $0x8
46cff4:	ff 15 08 d7 48 00    	call   *0x48d708
46cffa:	8b f8                	mov    %eax,%edi
46cffc:	85 ff                	test   %edi,%edi
46cffe:	0f 84 dd 00 00 00    	je     0x46d0e1
46d004:	89 7e 50             	mov    %edi,0x50(%esi)
46d007:	eb 0f                	jmp    0x46d018
46d009:	8d 44 24 28          	lea    0x28(%esp),%eax
46d00d:	50                   	push   %eax
46d00e:	6a 00                	push   $0x0
46d010:	68 33 04 00 00       	push   $0x433
46d015:	57                   	push   %edi
46d016:	ff d3                	call   *%ebx
46d018:	8d 44 24 28          	lea    0x28(%esp),%eax
46d01c:	50                   	push   %eax
46d01d:	6a 00                	push   $0x0
46d01f:	68 32 04 00 00       	push   $0x432
46d024:	57                   	push   %edi
46d025:	ff d3                	call   *%ebx
46d027:	ff 75 0c             	push   0xc(%ebp)
46d02a:	8d 4e 54             	lea    0x54(%esi),%ecx
46d02d:	e8 31 9a f9 ff       	call   0x406a63
46d032:	33 c0                	xor    %eax,%eax
46d034:	40                   	inc    %eax
46d035:	e9 a9 00 00 00       	jmp    0x46d0e3
46d03a:	39 7e 50             	cmp    %edi,0x50(%esi)
46d03d:	74 0f                	je     0x46d04e
46d03f:	ff 76 50             	push   0x50(%esi)
46d042:	ff 15 24 d6 48 00    	call   *0x48d624
46d048:	8b 15 7c 16 4c 00    	mov    0x4c167c,%edx
46d04e:	0f b6 45 18          	movzbl 0x18(%ebp),%eax
46d052:	57                   	push   %edi
46d053:	52                   	push   %edx
46d054:	57                   	push   %edi
46d055:	ff 36                	push   (%esi)
46d057:	b9 00 00 00 80       	mov    $0x80000000,%ecx
46d05c:	51                   	push   %ecx
46d05d:	51                   	push   %ecx
46d05e:	f7 d8                	neg    %eax
46d060:	51                   	push   %ecx
46d061:	1b c0                	sbb    %eax,%eax
46d063:	51                   	push   %ecx
46d064:	83 e0 40             	and    $0x40,%eax
46d067:	0d 13 00 00 80       	or     $0x80000013,%eax
46d06c:	50                   	push   %eax
46d06d:	57                   	push   %edi
46d06e:	68 94 4a 4b 00       	push   $0x4b4a94
46d073:	6a 08                	push   $0x8
46d075:	ff 15 08 d7 48 00    	call   *0x48d708
46d07b:	8b f8                	mov    %eax,%edi
46d07d:	85 ff                	test   %edi,%edi
46d07f:	74 60                	je     0x46d0e1
46d081:	8b 1d 70 d6 48 00    	mov    0x48d670,%ebx
46d087:	8d 44 24 28          	lea    0x28(%esp),%eax
46d08b:	50                   	push   %eax
46d08c:	6a 00                	push   $0x0
46d08e:	68 32 04 00 00       	push   $0x432
46d093:	57                   	push   %edi
46d094:	ff d3                	call   *%ebx
46d096:	ff 75 0c             	push   0xc(%ebp)
46d099:	8d 4e 54             	lea    0x54(%esi),%ecx
46d09c:	89 7e 50             	mov    %edi,0x50(%esi)
46d09f:	e8 bf 99 f9 ff       	call   0x406a63
46d0a4:	8d 44 24 18          	lea    0x18(%esp),%eax
46d0a8:	50                   	push   %eax
46d0a9:	ff 15 2c d6 48 00    	call   *0x48d62c
46d0af:	50                   	push   %eax
46d0b0:	ff 15 7c d6 48 00    	call   *0x48d67c
46d0b6:	ff 74 24 20          	push   0x20(%esp)
46d0ba:	6a 00                	push   $0x0
46d0bc:	68 18 04 00 00       	push   $0x418
46d0c1:	57                   	push   %edi
46d0c2:	ff d3                	call   *%ebx
46d0c4:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
46d0c8:	0f 84 64 ff ff ff    	je     0x46d032
46d0ce:	ff 75 10             	push   0x10(%ebp)
46d0d1:	ff 75 14             	push   0x14(%ebp)
46d0d4:	68 21 04 00 00       	push   $0x421
46d0d9:	57                   	push   %edi
46d0da:	ff d3                	call   *%ebx
46d0dc:	e9 51 ff ff ff       	jmp    0x46d032
46d0e1:	33 c0                	xor    %eax,%eax
46d0e3:	5f                   	pop    %edi
46d0e4:	5e                   	pop    %esi
46d0e5:	5b                   	pop    %ebx
46d0e6:	8b e5                	mov    %ebp,%esp
46d0e8:	5d                   	pop    %ebp
46d0e9:	c2 18 00             	ret    $0x18
46d0ec:	55                   	push   %ebp
46d0ed:	8b ec                	mov    %esp,%ebp
46d0ef:	53                   	push   %ebx
46d0f0:	56                   	push   %esi
46d0f1:	8b 75 0c             	mov    0xc(%ebp),%esi
46d0f4:	8b d9                	mov    %ecx,%ebx
46d0f6:	83 be cc 01 00 00 00 	cmpl   $0x0,0x1cc(%esi)
46d0fd:	74 39                	je     0x46d138
46d0ff:	57                   	push   %edi
46d100:	8b 7d 08             	mov    0x8(%ebp),%edi
46d103:	57                   	push   %edi
46d104:	e8 96 12 fd ff       	call   0x43e39f
46d109:	ff b3 84 00 00 00    	push   0x84(%ebx)
46d10f:	8d 43 70             	lea    0x70(%ebx),%eax
46d112:	50                   	push   %eax
46d113:	56                   	push   %esi
46d114:	e8 35 12 fd ff       	call   0x43e34e
46d119:	85 c0                	test   %eax,%eax
46d11b:	75 17                	jne    0x46d134
46d11d:	8b 8e cc 01 00 00    	mov    0x1cc(%esi),%ecx
46d123:	85 c9                	test   %ecx,%ecx
46d125:	74 06                	je     0x46d12d
46d127:	51                   	push   %ecx
46d128:	e8 4f bc ff ff       	call   0x468d7c
46d12d:	83 a6 cc 01 00 00 00 	andl   $0x0,0x1cc(%esi)
46d134:	83 27 00             	andl   $0x0,(%edi)
46d137:	5f                   	pop    %edi
46d138:	5e                   	pop    %esi
46d139:	5b                   	pop    %ebx
46d13a:	5d                   	pop    %ebp
46d13b:	c2 08 00             	ret    $0x8
46d13e:	55                   	push   %ebp
46d13f:	8b ec                	mov    %esp,%ebp
46d141:	51                   	push   %ecx
46d142:	51                   	push   %ecx
46d143:	a1 b0 16 4c 00       	mov    0x4c16b0,%eax
46d148:	56                   	push   %esi
46d149:	89 45 f8             	mov    %eax,-0x8(%ebp)
46d14c:	57                   	push   %edi
46d14d:	8d 45 f8             	lea    -0x8(%ebp),%eax
46d150:	33 f6                	xor    %esi,%esi
46d152:	50                   	push   %eax
46d153:	8d 4d fc             	lea    -0x4(%ebp),%ecx
46d156:	89 75 fc             	mov    %esi,-0x4(%ebp)
46d159:	e8 85 41 f9 ff       	call   0x4012e3
46d15e:	8b 7d 08             	mov    0x8(%ebp),%edi
46d161:	51                   	push   %ecx
46d162:	8b c4                	mov    %esp,%eax
46d164:	8d 4d fc             	lea    -0x4(%ebp),%ecx
46d167:	89 30                	mov    %esi,(%eax)
46d169:	e8 a8 57 f9 ff       	call   0x402916
46d16e:	84 c0                	test   %al,%al
46d170:	74 3b                	je     0x46d1ad
46d172:	8b 45 fc             	mov    -0x4(%ebp),%eax
46d175:	8b 08                	mov    (%eax),%ecx
46d177:	39 39                	cmp    %edi,(%ecx)
46d179:	74 0e                	je     0x46d189
46d17b:	8d 45 08             	lea    0x8(%ebp),%eax
46d17e:	50                   	push   %eax
46d17f:	8d 4d fc             	lea    -0x4(%ebp),%ecx
46d182:	e8 f7 f7 fd ff       	call   0x44c97e
46d187:	eb d8                	jmp    0x46d161
46d189:	ff 49 04             	decl   0x4(%ecx)
46d18c:	8b 00                	mov    (%eax),%eax
46d18e:	39 70 04             	cmp    %esi,0x4(%eax)
46d191:	75 17                	jne    0x46d1aa
46d193:	ff 70 08             	push   0x8(%eax)
46d196:	ff 15 c8 d0 48 00    	call   *0x48d0c8
46d19c:	8d 45 fc             	lea    -0x4(%ebp),%eax
46d19f:	50                   	push   %eax
46d1a0:	b9 b0 16 4c 00       	mov    $0x4c16b0,%ecx
46d1a5:	e8 85 17 00 00       	call   0x46e92f