41be5c:	8b 56 08             	mov    0x8(%esi),%edx
41be5f:	2b d1                	sub    %ecx,%edx
41be61:	52                   	push   %edx
41be62:	50                   	push   %eax
41be63:	51                   	push   %ecx
41be64:	6a 00                	push   $0x0
41be66:	53                   	push   %ebx
41be67:	ff 37                	push   (%edi)
41be69:	ff 15 70 98 43 00    	call   *0x439870
41be6f:	89 07                	mov    %eax,(%edi)
41be71:	eb 14                	jmp    0x41be87
41be73:	2b d0                	sub    %eax,%edx
41be75:	52                   	push   %edx
41be76:	8b 56 08             	mov    0x8(%esi),%edx
41be79:	2b d1                	sub    %ecx,%edx
41be7b:	52                   	push   %edx
41be7c:	50                   	push   %eax
41be7d:	51                   	push   %ecx
41be7e:	6a 00                	push   $0x0
41be80:	53                   	push   %ebx
41be81:	ff 15 2c 99 43 00    	call   *0x43992c
41be87:	5f                   	pop    %edi
41be88:	5e                   	pop    %esi
41be89:	5b                   	pop    %ebx
41be8a:	c9                   	leave
41be8b:	c2 0c 00             	ret    $0xc
41be8e:	56                   	push   %esi
41be8f:	8b f1                	mov    %ecx,%esi
41be91:	e8 5c 18 00 00       	call   0x41d6f2
41be96:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
41be9b:	75 03                	jne    0x41bea0
41be9d:	80 e4 fd             	and    $0xfd,%ah
41bea0:	50                   	push   %eax
41bea1:	6a 00                	push   $0x0
41bea3:	8b ce                	mov    %esi,%ecx
41bea5:	e8 2e 18 00 00       	call   0x41d6d8
41beaa:	50                   	push   %eax
41beab:	ff 74 24 14          	push   0x14(%esp)
41beaf:	ff 15 68 98 43 00    	call   *0x439868
41beb5:	5e                   	pop    %esi
41beb6:	c2 08 00             	ret    $0x8
41beb9:	56                   	push   %esi
41beba:	57                   	push   %edi
41bebb:	8b 7c 24 10          	mov    0x10(%esp),%edi
41bebf:	8b 37                	mov    (%edi),%esi
41bec1:	85 f6                	test   %esi,%esi
41bec3:	74 2f                	je     0x41bef4
41bec5:	56                   	push   %esi
41bec6:	e8 1d e4 ff ff       	call   0x41a2e8
41becb:	85 c0                	test   %eax,%eax
41becd:	74 0f                	je     0x41bede
41becf:	8b 10                	mov    (%eax),%edx
41bed1:	57                   	push   %edi
41bed2:	8b c8                	mov    %eax,%ecx
41bed4:	ff 92 98 00 00 00    	call   *0x98(%edx)
41beda:	85 c0                	test   %eax,%eax
41bedc:	75 11                	jne    0x41beef
41bede:	3b 74 24 0c          	cmp    0xc(%esp),%esi
41bee2:	74 10                	je     0x41bef4
41bee4:	56                   	push   %esi
41bee5:	ff 15 a8 98 43 00    	call   *0x4398a8
41beeb:	8b f0                	mov    %eax,%esi
41beed:	eb d2                	jmp    0x41bec1
41beef:	6a 01                	push   $0x1
41bef1:	58                   	pop    %eax
41bef2:	eb 02                	jmp    0x41bef6
41bef4:	33 c0                	xor    %eax,%eax
41bef6:	5f                   	pop    %edi
41bef7:	5e                   	pop    %esi
41bef8:	c2 08 00             	ret    $0x8
41befb:	56                   	push   %esi
41befc:	8b f1                	mov    %ecx,%esi
41befe:	68 ce b1 40 00       	push   $0x40b1ce
41bf03:	b9 b4 6a 43 00       	mov    $0x436ab4,%ecx
41bf08:	e8 81 91 00 00       	call   0x42508e
41bf0d:	ff 74 24 08          	push   0x8(%esp)
41bf11:	8b 16                	mov    (%esi),%edx
41bf13:	8b ce                	mov    %esi,%ecx
41bf15:	ff 70 40             	push   0x40(%eax)
41bf18:	ff 70 3c             	push   0x3c(%eax)
41bf1b:	ff 70 38             	push   0x38(%eax)
41bf1e:	ff 92 b0 00 00 00    	call   *0xb0(%edx)
41bf24:	5e                   	pop    %esi
41bf25:	c2 04 00             	ret    $0x4
41bf28:	b8 80 78 42 00       	mov    $0x427880,%eax
41bf2d:	e8 fe fc fe ff       	call   0x40bc30
41bf32:	83 ec 3c             	sub    $0x3c,%esp
41bf35:	56                   	push   %esi
41bf36:	57                   	push   %edi
41bf37:	6a 00                	push   $0x0
41bf39:	e8 12 e3 ff ff       	call   0x41a250
41bf3e:	8b f0                	mov    %eax,%esi
41bf40:	59                   	pop    %ecx
41bf41:	85 f6                	test   %esi,%esi
41bf43:	74 69                	je     0x41bfae
41bf45:	8b 7d 08             	mov    0x8(%ebp),%edi
41bf48:	8b ce                	mov    %esi,%ecx
41bf4a:	57                   	push   %edi
41bf4b:	e8 1c dc ff ff       	call   0x419b6c
41bf50:	85 c0                	test   %eax,%eax
41bf52:	75 5e                	jne    0x41bfb2
41bf54:	57                   	push   %edi
41bf55:	ff 15 a8 98 43 00    	call   *0x4398a8
41bf5b:	50                   	push   %eax
41bf5c:	8b ce                	mov    %esi,%ecx
41bf5e:	e8 09 dc ff ff       	call   0x419b6c
41bf63:	85 c0                	test   %eax,%eax
41bf65:	74 47                	je     0x41bfae
41bf67:	8b 40 34             	mov    0x34(%eax),%eax
41bf6a:	85 c0                	test   %eax,%eax
41bf6c:	74 40                	je     0x41bfae
41bf6e:	57                   	push   %edi
41bf6f:	8d 48 20             	lea    0x20(%eax),%ecx
41bf72:	e8 f5 db ff ff       	call   0x419b6c
41bf77:	8b f0                	mov    %eax,%esi
41bf79:	85 f6                	test   %esi,%esi
41bf7b:	74 31                	je     0x41bfae
41bf7d:	57                   	push   %edi
41bf7e:	8d 4d b8             	lea    -0x48(%ebp),%ecx
41bf81:	e8 17 e0 ff ff       	call   0x419f9d
41bf86:	ff 75 0c             	push   0xc(%ebp)
41bf89:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41bf8d:	8d 4d b8             	lea    -0x48(%ebp),%ecx
41bf90:	89 75 f0             	mov    %esi,-0x10(%ebp)
41bf93:	e8 63 ff ff ff       	call   0x41befb
41bf98:	83 65 d4 00          	andl   $0x0,-0x2c(%ebp)
41bf9c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41bfa0:	8d 4d b8             	lea    -0x48(%ebp),%ecx
41bfa3:	8b f0                	mov    %eax,%esi
41bfa5:	e8 f7 e9 ff ff       	call   0x41a9a1
41bfaa:	8b c6                	mov    %esi,%eax
41bfac:	eb 0e                	jmp    0x41bfbc
41bfae:	33 c0                	xor    %eax,%eax
41bfb0:	eb 0a                	jmp    0x41bfbc
41bfb2:	ff 75 0c             	push   0xc(%ebp)
41bfb5:	8b c8                	mov    %eax,%ecx
41bfb7:	e8 3f ff ff ff       	call   0x41befb
41bfbc:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41bfbf:	5f                   	pop    %edi
41bfc0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41bfc7:	5e                   	pop    %esi
41bfc8:	c9                   	leave
41bfc9:	c2 08 00             	ret    $0x8
41bfcc:	55                   	push   %ebp
41bfcd:	8b ec                	mov    %esp,%ebp
41bfcf:	83 79 38 00          	cmpl   $0x0,0x38(%ecx)
41bfd3:	56                   	push   %esi
41bfd4:	74 3b                	je     0x41c011
41bfd6:	ff 75 10             	push   0x10(%ebp)
41bfd9:	8b 75 08             	mov    0x8(%ebp),%esi
41bfdc:	ff 75 0c             	push   0xc(%ebp)
41bfdf:	8d 86 00 20 00 00    	lea    0x2000(%esi),%eax
41bfe5:	50                   	push   %eax
41bfe6:	ff 71 1c             	push   0x1c(%ecx)
41bfe9:	ff 15 88 99 43 00    	call   *0x439988
41bfef:	81 fe 32 01 00 00    	cmp    $0x132,%esi
41bff5:	72 0c                	jb     0x41c003
41bff7:	81 fe 38 01 00 00    	cmp    $0x138,%esi
41bffd:	77 04                	ja     0x41c003
41bfff:	85 c0                	test   %eax,%eax
41c001:	74 1f                	je     0x41c022
41c003:	8b 4d 14             	mov    0x14(%ebp),%ecx
41c006:	85 c9                	test   %ecx,%ecx
41c008:	74 02                	je     0x41c00c
41c00a:	89 01                	mov    %eax,(%ecx)
41c00c:	6a 01                	push   $0x1
41c00e:	58                   	pop    %eax
41c00f:	eb 11                	jmp    0x41c022
41c011:	ff 75 14             	push   0x14(%ebp)
41c014:	ff 75 10             	push   0x10(%ebp)
41c017:	ff 75 0c             	push   0xc(%ebp)
41c01a:	ff 75 08             	push   0x8(%ebp)
41c01d:	e8 05 00 00 00       	call   0x41c027
41c022:	5e                   	pop    %esi
41c023:	5d                   	pop    %ebp
41c024:	c2 10 00             	ret    $0x10
41c027:	55                   	push   %ebp
41c028:	8b ec                	mov    %esp,%ebp
41c02a:	83 ec 0c             	sub    $0xc,%esp
41c02d:	8b 45 08             	mov    0x8(%ebp),%eax
41c030:	56                   	push   %esi
41c031:	83 f8 39             	cmp    $0x39,%eax
41c034:	57                   	push   %edi
41c035:	0f 87 a3 00 00 00    	ja     0x41c0de
41c03b:	0f 84 c6 00 00 00    	je     0x41c107
41c041:	83 f8 2b             	cmp    $0x2b,%eax
41c044:	72 09                	jb     0x41c04f
41c046:	83 f8 2f             	cmp    $0x2f,%eax
41c049:	0f 86 b8 00 00 00    	jbe    0x41c107
41c04f:	3d 32 01 00 00       	cmp    $0x132,%eax
41c054:	72 2e                	jb     0x41c084
41c056:	3d 38 01 00 00       	cmp    $0x138,%eax
41c05b:	77 27                	ja     0x41c084
41c05d:	8b 7d 14             	mov    0x14(%ebp),%edi
41c060:	8b 55 0c             	mov    0xc(%ebp),%edx
41c063:	05 ce fe ff ff       	add    $0xfffffece,%eax
41c068:	57                   	push   %edi
41c069:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c06c:	8d 45 f4             	lea    -0xc(%ebp),%eax
41c06f:	33 f6                	xor    %esi,%esi
41c071:	50                   	push   %eax
41c072:	56                   	push   %esi
41c073:	68 19 bc 00 00       	push   $0xbc19
41c078:	89 55 f8             	mov    %edx,-0x8(%ebp)
41c07b:	e8 23 f1 ff ff       	call   0x41b1a3
41c080:	39 37                	cmp    %esi,(%edi)
41c082:	75 54                	jne    0x41c0d8
41c084:	33 c0                	xor    %eax,%eax
41c086:	eb 50                	jmp    0x41c0d8
41c088:	8b 45 0c             	mov    0xc(%ebp),%eax
41c08b:	33 f6                	xor    %esi,%esi
41c08d:	c1 e8 10             	shr    $0x10,%eax
41c090:	0f b7 c0             	movzwl %ax,%eax
41c093:	56                   	push   %esi
41c094:	0d 00 00 11 bd       	or     $0xbd110000,%eax
41c099:	56                   	push   %esi
41c09a:	50                   	push   %eax
41c09b:	56                   	push   %esi
41c09c:	e8 c0 18 00 00       	call   0x41d961
41c0a1:	85 c0                	test   %eax,%eax
41c0a3:	74 df                	je     0x41c084
41c0a5:	8b 4d 14             	mov    0x14(%ebp),%ecx
41c0a8:	6a 01                	push   $0x1
41c0aa:	3b ce                	cmp    %esi,%ecx
41c0ac:	58                   	pop    %eax
41c0ad:	74 29                	je     0x41c0d8
41c0af:	89 01                	mov    %eax,(%ecx)
41c0b1:	eb 25                	jmp    0x41c0d8
41c0b3:	8b 45 10             	mov    0x10(%ebp),%eax
41c0b6:	8b 75 14             	mov    0x14(%ebp),%esi
41c0b9:	89 75 f8             	mov    %esi,-0x8(%ebp)
41c0bc:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c0bf:	8b 50 08             	mov    0x8(%eax),%edx
41c0c2:	33 f6                	xor    %esi,%esi
41c0c4:	8d 45 f8             	lea    -0x8(%ebp),%eax
41c0c7:	56                   	push   %esi
41c0c8:	50                   	push   %eax
41c0c9:	0f b7 c2             	movzwl %dx,%eax
41c0cc:	0d 00 00 4e bc       	or     $0xbc4e0000,%eax
41c0d1:	50                   	push   %eax
41c0d2:	56                   	push   %esi
41c0d3:	e8 89 18 00 00       	call   0x41d961
41c0d8:	5f                   	pop    %edi
41c0d9:	5e                   	pop    %esi
41c0da:	c9                   	leave
41c0db:	c2 10 00             	ret    $0x10
41c0de:	83 f8 4e             	cmp    $0x4e,%eax
41c0e1:	74 d0                	je     0x41c0b3
41c0e3:	3d 11 01 00 00       	cmp    $0x111,%eax
41c0e8:	74 9e                	je     0x41c088
41c0ea:	3d 13 01 00 00       	cmp    $0x113,%eax
41c0ef:	0f 86 5a ff ff ff    	jbe    0x41c04f
41c0f5:	3d 15 01 00 00       	cmp    $0x115,%eax
41c0fa:	76 0b                	jbe    0x41c107
41c0fc:	3d 10 02 00 00       	cmp    $0x210,%eax
41c101:	0f 85 48 ff ff ff    	jne    0x41c04f
41c107:	ff 75 14             	push   0x14(%ebp)
41c10a:	05 00 bc 00 00       	add    $0xbc00,%eax
41c10f:	ff 75 10             	push   0x10(%ebp)
41c112:	ff 75 0c             	push   0xc(%ebp)
41c115:	50                   	push   %eax
41c116:	e8 88 f0 ff ff       	call   0x41b1a3
41c11b:	eb bb                	jmp    0x41c0d8
41c11d:	66 83 7c 24 04 01    	cmpw   $0x1,0x4(%esp)
41c123:	56                   	push   %esi
41c124:	8b f1                	mov    %ecx,%esi
41c126:	74 08                	je     0x41c130
41c128:	66 83 7c 24 08 02    	cmpw   $0x2,0x8(%esp)
41c12e:	75 0f                	jne    0x41c13f
41c130:	6a 00                	push   $0x0
41c132:	ff 74 24 10          	push   0x10(%esp)
41c136:	e8 ed fd ff ff       	call   0x41bf28
41c13b:	85 c0                	test   %eax,%eax
41c13d:	75 07                	jne    0x41c146
41c13f:	8b ce                	mov    %esi,%ecx
41c141:	e8 cf e0 ff ff       	call   0x41a215
41c146:	5e                   	pop    %esi
41c147:	c2 08 00             	ret    $0x8
41c14a:	66 83 7c 24 04 00    	cmpw   $0x0,0x4(%esp)
41c150:	75 15                	jne    0x41c167
41c152:	e8 9d 82 00 00       	call   0x4243f4
41c157:	f6 80 df 00 00 00 40 	testb  $0x40,0xdf(%eax)
41c15e:	75 07                	jne    0x41c167
41c160:	6a 01                	push   $0x1
41c162:	e8 b4 ea ff ff       	call   0x41ac1b
41c167:	33 c0                	xor    %eax,%eax
41c169:	c2 08 00             	ret    $0x8
41c16c:	56                   	push   %esi
41c16d:	57                   	push   %edi
41c16e:	8b f1                	mov    %ecx,%esi
41c170:	e8 d2 85 00 00       	call   0x424747
41c175:	8b 78 04             	mov    0x4(%eax),%edi
41c178:	68 9d b1 40 00       	push   $0x40b19d
41c17d:	b9 f4 6b 43 00       	mov    $0x436bf4,%ecx
41c182:	e8 c9 8f 00 00       	call   0x425150
41c187:	39 77 1c             	cmp    %esi,0x1c(%edi)
41c18a:	75 0a                	jne    0x41c196
41c18c:	b9 80 6d 43 00       	mov    $0x436d80,%ecx
41c191:	e8 9f 2e 00 00       	call   0x41f035
41c196:	e8 ac 85 00 00       	call   0x424747
41c19b:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
41c19f:	75 2b                	jne    0x41c1cc
41c1a1:	e8 16 1e 00 00       	call   0x41dfbc
41c1a6:	85 c0                	test   %eax,%eax
41c1a8:	74 22                	je     0x41c1cc
41c1aa:	e8 0d 1e 00 00       	call   0x41dfbc
41c1af:	39 70 1c             	cmp    %esi,0x1c(%eax)
41c1b2:	75 18                	jne    0x41c1cc
41c1b4:	68 3f b2 40 00       	push   $0x40b23f
41c1b9:	b9 78 6d 43 00       	mov    $0x436d78,%ecx
41c1be:	e8 8d 8f 00 00       	call   0x425150
41c1c3:	8b 40 1c             	mov    0x1c(%eax),%eax
41c1c6:	85 c0                	test   %eax,%eax
41c1c8:	74 02                	je     0x41c1cc
41c1ca:	ff d0                	call   *%eax
41c1cc:	8b ce                	mov    %esi,%ecx
41c1ce:	e8 05 15 00 00       	call   0x41d6d8
41c1d3:	a9 00 00 00 40       	test   $0x40000000,%eax
41c1d8:	75 12                	jne    0x41c1ec
41c1da:	6a 01                	push   $0x1
41c1dc:	6a 01                	push   $0x1
41c1de:	6a 00                	push   $0x0
41c1e0:	6a 00                	push   $0x0
41c1e2:	6a 15                	push   $0x15
41c1e4:	ff 76 1c             	push   0x1c(%esi)
41c1e7:	e8 74 f8 ff ff       	call   0x41ba60
41c1ec:	8b ce                	mov    %esi,%ecx
41c1ee:	e8 22 e0 ff ff       	call   0x41a215
41c1f3:	5f                   	pop    %edi
41c1f4:	5e                   	pop    %esi
41c1f5:	c3                   	ret
41c1f6:	56                   	push   %esi
41c1f7:	57                   	push   %edi
41c1f8:	8b f9                	mov    %ecx,%edi
41c1fa:	e8 48 85 00 00       	call   0x424747
41c1ff:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
41c203:	75 2d                	jne    0x41c232
41c205:	68 3f b2 40 00       	push   $0x40b23f
41c20a:	b9 78 6d 43 00       	mov    $0x436d78,%ecx
41c20f:	e8 3c 8f 00 00       	call   0x425150
41c214:	8b f0                	mov    %eax,%esi
41c216:	e8 a1 1d 00 00       	call   0x41dfbc
41c21b:	85 c0                	test   %eax,%eax
41c21d:	74 13                	je     0x41c232
41c21f:	e8 98 1d 00 00       	call   0x41dfbc
41c224:	39 78 1c             	cmp    %edi,0x1c(%eax)
41c227:	75 09                	jne    0x41c232
41c229:	8b 46 24             	mov    0x24(%esi),%eax
41c22c:	85 c0                	test   %eax,%eax
41c22e:	74 02                	je     0x41c232