41bd8d:	8b ce                	mov    %esi,%ecx
41bd8f:	ff 15 c4 12 45 00    	call   *0x4512c4
41bd95:	ff d6                	call   *%esi
41bd97:	85 ff                	test   %edi,%edi
41bd99:	0f 88 95 00 00 00    	js     0x41be34
41bd9f:	a1 00 f0 44 00       	mov    0x44f000,%eax
41bda4:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
41bda9:	74 0a                	je     0x41bdb5
41bdab:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
41bdaf:	0f 85 9c 02 01 00    	jne    0x42c051
41bdb5:	8b c7                	mov    %edi,%eax
41bdb7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41bdba:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41bdc1:	59                   	pop    %ecx
41bdc2:	5f                   	pop    %edi
41bdc3:	5e                   	pop    %esi
41bdc4:	5b                   	pop    %ebx
41bdc5:	8b e5                	mov    %ebp,%esp
41bdc7:	5d                   	pop    %ebp
41bdc8:	c2 18 00             	ret    $0x18
41bdcb:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41bdce:	50                   	push   %eax
41bdcf:	ff 15 1c 30 45 00    	call   *0x45301c
41bdd5:	8b 37                	mov    (%edi),%esi
41bdd7:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41bdda:	50                   	push   %eax
41bddb:	6a 00                	push   $0x0
41bddd:	68 34 6d 40 00       	push   $0x406d34
41bde2:	8b 76 24             	mov    0x24(%esi),%esi
41bde5:	8b ce                	mov    %esi,%ecx
41bde7:	57                   	push   %edi
41bde8:	ff 15 c4 12 45 00    	call   *0x4512c4
41bdee:	ff d6                	call   *%esi
41bdf0:	85 c0                	test   %eax,%eax
41bdf2:	0f 88 be 00 01 00    	js     0x42beb6
41bdf8:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41bdfb:	50                   	push   %eax
41bdfc:	ff 15 1c 30 45 00    	call   *0x45301c
41be02:	6a 00                	push   $0x0
41be04:	68 34 6d 40 00       	push   $0x406d34
41be09:	8b 07                	mov    (%edi),%eax
41be0b:	57                   	push   %edi
41be0c:	8b 70 28             	mov    0x28(%eax),%esi
41be0f:	8b ce                	mov    %esi,%ecx
41be11:	ff 15 c4 12 45 00    	call   *0x4512c4
41be17:	ff d6                	call   *%esi
41be19:	e9 13 fd ff ff       	jmp    0x41bb31
41be1e:	56                   	push   %esi
41be1f:	57                   	push   %edi
41be20:	83 ec 08             	sub    $0x8,%esp
41be23:	8b cb                	mov    %ebx,%ecx
41be25:	68 8c 6e 40 00       	push   $0x406e8c
41be2a:	e8 34 2b 00 00       	call   0x41e963
41be2f:	e9 35 ff ff ff       	jmp    0x41bd69
41be34:	57                   	push   %edi
41be35:	ff 15 a0 12 45 00    	call   *0x4512a0
41be3b:	8b c8                	mov    %eax,%ecx
41be3d:	ff 15 a4 12 45 00    	call   *0x4512a4
41be43:	e9 57 ff ff ff       	jmp    0x41bd9f
41be48:	cc                   	int3
41be49:	cc                   	int3
41be4a:	cc                   	int3
41be4b:	cc                   	int3
41be4c:	cc                   	int3
41be4d:	cc                   	int3
41be4e:	cc                   	int3
41be4f:	cc                   	int3
41be50:	8b ff                	mov    %edi,%edi
41be52:	55                   	push   %ebp
41be53:	8b ec                	mov    %esp,%ebp
41be55:	6a ff                	push   $0xffffffff
41be57:	68 c0 36 42 00       	push   $0x4236c0
41be5c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41be62:	50                   	push   %eax
41be63:	56                   	push   %esi
41be64:	57                   	push   %edi
41be65:	a1 54 02 45 00       	mov    0x450254,%eax
41be6a:	33 c5                	xor    %ebp,%eax
41be6c:	50                   	push   %eax
41be6d:	8d 45 f4             	lea    -0xc(%ebp),%eax
41be70:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41be76:	8b f1                	mov    %ecx,%esi
41be78:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
41be7f:	8b 46 60             	mov    0x60(%esi),%eax
41be82:	c7 06 bc 18 40 00    	movl   $0x4018bc,(%esi)
41be88:	c7 46 04 a8 18 40 00 	movl   $0x4018a8,0x4(%esi)
41be8f:	c7 46 08 78 18 40 00 	movl   $0x401878,0x8(%esi)
41be96:	85 c0                	test   %eax,%eax
41be98:	74 07                	je     0x41bea1
41be9a:	50                   	push   %eax
41be9b:	ff 15 0c 30 45 00    	call   *0x45300c
41bea1:	8b 4e 64             	mov    0x64(%esi),%ecx
41bea4:	85 c9                	test   %ecx,%ecx
41bea6:	74 17                	je     0x41bebf
41bea8:	8b 01                	mov    (%ecx),%eax
41beaa:	51                   	push   %ecx
41beab:	8b 78 08             	mov    0x8(%eax),%edi
41beae:	81 ff 20 41 41 00    	cmp    $0x414120,%edi
41beb4:	0f 85 bc 01 01 00    	jne    0x42c076
41beba:	e8 61 82 ff ff       	call   0x414120
41bebf:	8b ce                	mov    %esi,%ecx
41bec1:	e8 93 01 00 00       	call   0x41c059
41bec6:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
41beca:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
41bed1:	74 28                	je     0x41befb
41bed3:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
41beda:	a1 80 0b 45 00       	mov    0x450b80,%eax
41bedf:	8b 40 04             	mov    0x4(%eax),%eax
41bee2:	85 c0                	test   %eax,%eax
41bee4:	74 0e                	je     0x41bef4
41bee6:	56                   	push   %esi
41bee7:	6a 00                	push   $0x0
41bee9:	50                   	push   %eax
41beea:	ff 15 70 10 45 00    	call   *0x451070
41bef0:	85 c0                	test   %eax,%eax
41bef2:	74 1c                	je     0x41bf10
41bef4:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
41befb:	8b c6                	mov    %esi,%eax
41befd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41bf00:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41bf07:	59                   	pop    %ecx
41bf08:	5f                   	pop    %edi
41bf09:	5e                   	pop    %esi
41bf0a:	8b e5                	mov    %ebp,%esp
41bf0c:	5d                   	pop    %ebp
41bf0d:	c2 04 00             	ret    $0x4
41bf10:	ff 15 54 10 45 00    	call   *0x451054
41bf16:	eb dc                	jmp    0x41bef4
41bf18:	cc                   	int3
41bf19:	cc                   	int3
41bf1a:	cc                   	int3
41bf1b:	cc                   	int3
41bf1c:	cc                   	int3
41bf1d:	cc                   	int3
41bf1e:	cc                   	int3
41bf1f:	cc                   	int3
41bf20:	cc                   	int3
41bf21:	cc                   	int3
41bf22:	cc                   	int3
41bf23:	cc                   	int3
41bf24:	cc                   	int3
41bf25:	cc                   	int3
41bf26:	cc                   	int3
41bf27:	cc                   	int3
41bf28:	cc                   	int3
41bf29:	cc                   	int3
41bf2a:	cc                   	int3
41bf2b:	cc                   	int3
41bf2c:	cc                   	int3
41bf2d:	cc                   	int3
41bf2e:	cc                   	int3
41bf2f:	cc                   	int3
41bf30:	8b ff                	mov    %edi,%edi
41bf32:	55                   	push   %ebp
41bf33:	8b ec                	mov    %esp,%ebp
41bf35:	6a ff                	push   $0xffffffff
41bf37:	68 26 37 42 00       	push   $0x423726
41bf3c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41bf42:	50                   	push   %eax
41bf43:	51                   	push   %ecx
41bf44:	53                   	push   %ebx
41bf45:	56                   	push   %esi
41bf46:	57                   	push   %edi
41bf47:	a1 54 02 45 00       	mov    0x450254,%eax
41bf4c:	33 c5                	xor    %ebp,%eax
41bf4e:	50                   	push   %eax
41bf4f:	8d 45 f4             	lea    -0xc(%ebp),%eax
41bf52:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41bf58:	8b f9                	mov    %ecx,%edi
41bf5a:	89 7d f0             	mov    %edi,-0x10(%ebp)
41bf5d:	8b 4d 14             	mov    0x14(%ebp),%ecx
41bf60:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41bf63:	c7 47 08 48 1a 40 00 	movl   $0x401a48,0x8(%edi)
41bf6a:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
41bf71:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
41bf78:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
41bf7f:	c7 47 18 00 00 00 00 	movl   $0x0,0x18(%edi)
41bf86:	89 4f 1c             	mov    %ecx,0x1c(%edi)
41bf89:	89 5f 20             	mov    %ebx,0x20(%edi)
41bf8c:	c7 47 24 01 00 00 00 	movl   $0x1,0x24(%edi)
41bf93:	85 c9                	test   %ecx,%ecx
41bf95:	74 10                	je     0x41bfa7
41bf97:	8b 01                	mov    (%ecx),%eax
41bf99:	51                   	push   %ecx
41bf9a:	8b 70 04             	mov    0x4(%eax),%esi
41bf9d:	8b ce                	mov    %esi,%ecx
41bf9f:	ff 15 c4 12 45 00    	call   *0x4512c4
41bfa5:	ff d6                	call   *%esi
41bfa7:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
41bfae:	8d 47 3c             	lea    0x3c(%edi),%eax
41bfb1:	6a 00                	push   $0x0
41bfb3:	50                   	push   %eax
41bfb4:	c7 07 a4 19 40 00    	movl   $0x4019a4,(%edi)
41bfba:	c7 47 04 90 19 40 00 	movl   $0x401990,0x4(%edi)
41bfc1:	c7 47 08 60 19 40 00 	movl   $0x401960,0x8(%edi)
41bfc8:	c7 47 28 00 00 00 00 	movl   $0x0,0x28(%edi)
41bfcf:	c7 47 2c 00 00 00 00 	movl   $0x0,0x2c(%edi)
41bfd6:	c7 47 30 01 00 00 00 	movl   $0x1,0x30(%edi)
41bfdd:	89 5f 34             	mov    %ebx,0x34(%edi)
41bfe0:	c7 47 38 00 00 00 00 	movl   $0x0,0x38(%edi)
41bfe7:	ff 15 50 11 45 00    	call   *0x451150
41bfed:	85 c0                	test   %eax,%eax
41bfef:	74 60                	je     0x41c051
41bff1:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41bff5:	8b 45 10             	mov    0x10(%ebp),%eax
41bff8:	89 47 54             	mov    %eax,0x54(%edi)
41bffb:	c7 47 58 00 00 00 00 	movl   $0x0,0x58(%edi)
41c002:	85 c0                	test   %eax,%eax
41c004:	74 17                	je     0x41c01d
41c006:	8b 08                	mov    (%eax),%ecx
41c008:	50                   	push   %eax
41c009:	8b 71 04             	mov    0x4(%ecx),%esi
41c00c:	81 fe 50 51 41 00    	cmp    $0x415150,%esi
41c012:	0f 85 6d 00 01 00    	jne    0x42c085
41c018:	e8 33 91 ff ff       	call   0x415150
41c01d:	8b 4f 34             	mov    0x34(%edi),%ecx
41c020:	85 c9                	test   %ecx,%ecx
41c022:	74 10                	je     0x41c034
41c024:	8b 01                	mov    (%ecx),%eax
41c026:	51                   	push   %ecx
41c027:	8b 70 04             	mov    0x4(%eax),%esi
41c02a:	8b ce                	mov    %esi,%ecx
41c02c:	ff 15 c4 12 45 00    	call   *0x4512c4
41c032:	ff d6                	call   *%esi
41c034:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
41c03b:	8b c7                	mov    %edi,%eax
41c03d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41c040:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41c047:	59                   	pop    %ecx
41c048:	5f                   	pop    %edi
41c049:	5e                   	pop    %esi
41c04a:	5b                   	pop    %ebx
41c04b:	8b e5                	mov    %ebp,%esp
41c04d:	5d                   	pop    %ebp
41c04e:	c2 14 00             	ret    $0x14
41c051:	ff 15 a8 12 45 00    	call   *0x4512a8
41c057:	eb 98                	jmp    0x41bff1
41c059:	8b ff                	mov    %edi,%edi
41c05b:	55                   	push   %ebp
41c05c:	8b ec                	mov    %esp,%ebp
41c05e:	6a ff                	push   $0xffffffff
41c060:	68 57 37 42 00       	push   $0x423757
41c065:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41c06b:	50                   	push   %eax
41c06c:	51                   	push   %ecx
41c06d:	56                   	push   %esi
41c06e:	a1 54 02 45 00       	mov    0x450254,%eax
41c073:	33 c5                	xor    %ebp,%eax
41c075:	50                   	push   %eax
41c076:	8d 45 f4             	lea    -0xc(%ebp),%eax
41c079:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41c07f:	89 4d f0             	mov    %ecx,-0x10(%ebp)
41c082:	8d 71 08             	lea    0x8(%ecx),%esi
41c085:	c7 01 a4 19 40 00    	movl   $0x4019a4,(%ecx)
41c08b:	c7 41 04 90 19 40 00 	movl   $0x401990,0x4(%ecx)
41c092:	c7 06 60 19 40 00    	movl   $0x401960,(%esi)
41c098:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41c09c:	83 c1 3c             	add    $0x3c,%ecx
41c09f:	e8 e9 8f ff ff       	call   0x41508d
41c0a4:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41c0a8:	8b ce                	mov    %esi,%ecx
41c0aa:	e8 81 8f ff ff       	call   0x415030
41c0af:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41c0b2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41c0b9:	59                   	pop    %ecx
41c0ba:	5e                   	pop    %esi
41c0bb:	c9                   	leave
41c0bc:	c3                   	ret
41c0bd:	cc                   	int3
41c0be:	cc                   	int3
41c0bf:	cc                   	int3
41c0c0:	8b ff                	mov    %edi,%edi
41c0c2:	55                   	push   %ebp
41c0c3:	8b ec                	mov    %esp,%ebp
41c0c5:	6a ff                	push   $0xffffffff
41c0c7:	68 48 39 42 00       	push   $0x423948
41c0cc:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41c0d2:	50                   	push   %eax
41c0d3:	83 ec 60             	sub    $0x60,%esp
41c0d6:	a1 54 02 45 00       	mov    0x450254,%eax
41c0db:	33 c5                	xor    %ebp,%eax
41c0dd:	89 45 f0             	mov    %eax,-0x10(%ebp)
41c0e0:	53                   	push   %ebx
41c0e1:	56                   	push   %esi
41c0e2:	57                   	push   %edi
41c0e3:	50                   	push   %eax
41c0e4:	8d 45 f4             	lea    -0xc(%ebp),%eax
41c0e7:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41c0ed:	89 4d a8             	mov    %ecx,-0x58(%ebp)
41c0f0:	8b 7d 10             	mov    0x10(%ebp),%edi
41c0f3:	33 f6                	xor    %esi,%esi
41c0f5:	8b 45 08             	mov    0x8(%ebp),%eax
41c0f8:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41c0fb:	57                   	push   %edi
41c0fc:	89 45 9c             	mov    %eax,-0x64(%ebp)
41c0ff:	89 5d bc             	mov    %ebx,-0x44(%ebp)
41c102:	89 7d 98             	mov    %edi,-0x68(%ebp)
41c105:	89 75 cc             	mov    %esi,-0x34(%ebp)
41c108:	ff 15 04 30 45 00    	call   *0x453004
41c10e:	83 f8 01             	cmp    $0x1,%eax
41c111:	0f 85 3a 0e 01 00    	jne    0x42cf51
41c117:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c11a:	50                   	push   %eax
41c11b:	6a 01                	push   $0x1
41c11d:	57                   	push   %edi
41c11e:	ff 15 08 30 45 00    	call   *0x453008
41c124:	8d 45 ac             	lea    -0x54(%ebp),%eax
41c127:	50                   	push   %eax
41c128:	6a 01                	push   $0x1
41c12a:	57                   	push   %edi
41c12b:	ff 15 14 30 45 00    	call   *0x453014
41c131:	ff 75 ac             	push   -0x54(%ebp)
41c134:	8b 55 c4             	mov    -0x3c(%ebp),%edx
41c137:	8d 4d c8             	lea    -0x38(%ebp),%ecx
41c13a:	e8 32 03 00 00       	call   0x41c471
41c13f:	8b 38                	mov    (%eax),%edi
41c141:	8b c7                	mov    %edi,%eax
41c143:	83 f0 01             	xor    $0x1,%eax
41c146:	7c 10                	jl     0x41c158
41c148:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
41c14d:	2b c7                	sub    %edi,%eax
41c14f:	83 f8 01             	cmp    $0x1,%eax
41c152:	0f 8c fb 0c 01 00    	jl     0x42ce53
41c158:	8b 45 9c             	mov    -0x64(%ebp),%eax
41c15b:	83 c7 01             	add    $0x1,%edi
41c15e:	89 33                	mov    %esi,(%ebx)
41c160:	89 38                	mov    %edi,(%eax)
41c162:	0f 84 3c 02 00 00    	je     0x41c3a4
41c168:	33 c9                	xor    %ecx,%ecx
41c16a:	8b c7                	mov    %edi,%eax
41c16c:	ba 04 00 00 00       	mov    $0x4,%edx
41c171:	f7 e2                	mul    %edx
41c173:	0f 90 c1             	seto   %cl
41c176:	f7 d9                	neg    %ecx
41c178:	0b c8                	or     %eax,%ecx
41c17a:	a1 80 0b 45 00       	mov    0x450b80,%eax
41c17f:	8b 50 08             	mov    0x8(%eax),%edx
41c182:	8b 40 04             	mov    0x4(%eax),%eax
41c185:	83 e2 05             	and    $0x5,%edx
41c188:	83 ca 08             	or     $0x8,%edx
41c18b:	85 c0                	test   %eax,%eax
41c18d:	0f 84 db 0c 01 00    	je     0x42ce6e
41c193:	51                   	push   %ecx
41c194:	52                   	push   %edx
41c195:	50                   	push   %eax
41c196:	ff 15 78 10 45 00    	call   *0x451078
41c19c:	8b c8                	mov    %eax,%ecx
41c19e:	85 c9                	test   %ecx,%ecx
41c1a0:	0f 84 c2 0c 01 00    	je     0x42ce68
41c1a6:	89 0b                	mov    %ecx,(%ebx)