41cd2b:	85 f6                	test   %esi,%esi
41cd2d:	74 08                	je     0x41cd37
41cd2f:	53                   	push   %ebx
41cd30:	ff d6                	call   *%esi
41cd32:	85 c0                	test   %eax,%eax
41cd34:	59                   	pop    %ecx
41cd35:	75 d7                	jne    0x41cd0e
41cd37:	8b c7                	mov    %edi,%eax
41cd39:	5f                   	pop    %edi
41cd3a:	5e                   	pop    %esi
41cd3b:	5b                   	pop    %ebx
41cd3c:	c3                   	ret
41cd3d:	ff 74 24 04          	push   0x4(%esp)
41cd41:	e8 4a f8 fe ff       	call   0x40c590
41cd46:	59                   	pop    %ecx
41cd47:	c3                   	ret
41cd48:	b8 a0 a3 42 00       	mov    $0x42a3a0,%eax
41cd4d:	c3                   	ret
41cd4e:	8b 01                	mov    (%ecx),%eax
41cd50:	ff 10                	call   *(%eax)
41cd52:	ff 74 24 04          	push   0x4(%esp)
41cd56:	8b c8                	mov    %eax,%ecx
41cd58:	e8 69 00 00 00       	call   0x41cdc6
41cd5d:	c2 04 00             	ret    $0x4
41cd60:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
41cd65:	74 16                	je     0x41cd7d
41cd67:	ff 74 24 04          	push   0x4(%esp)
41cd6b:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
41cd6f:	e8 da ff ff ff       	call   0x41cd4e
41cd74:	85 c0                	test   %eax,%eax
41cd76:	74 05                	je     0x41cd7d
41cd78:	8b 44 24 08          	mov    0x8(%esp),%eax
41cd7c:	c3                   	ret
41cd7d:	33 c0                	xor    %eax,%eax
41cd7f:	c3                   	ret
41cd80:	b8 04 79 42 00       	mov    $0x427904,%eax
41cd85:	e8 a6 ee fe ff       	call   0x40bc30
41cd8a:	51                   	push   %ecx
41cd8b:	51                   	push   %ecx
41cd8c:	51                   	push   %ecx
41cd8d:	53                   	push   %ebx
41cd8e:	56                   	push   %esi
41cd8f:	33 c0                	xor    %eax,%eax
41cd91:	57                   	push   %edi
41cd92:	39 41 0c             	cmp    %eax,0xc(%ecx)
41cd95:	89 65 f0             	mov    %esp,-0x10(%ebp)
41cd98:	74 0f                	je     0x41cda9
41cd9a:	89 45 ec             	mov    %eax,-0x14(%ebp)
41cd9d:	89 45 fc             	mov    %eax,-0x4(%ebp)
41cda0:	ff 51 0c             	call   *0xc(%ecx)
41cda3:	89 45 ec             	mov    %eax,-0x14(%ebp)
41cda6:	8b 45 ec             	mov    -0x14(%ebp),%eax
41cda9:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41cdac:	5f                   	pop    %edi
41cdad:	5e                   	pop    %esi
41cdae:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41cdb5:	5b                   	pop    %ebx
41cdb6:	c9                   	leave
41cdb7:	c3                   	ret
41cdb8:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41cdbb:	e8 5e 1f 00 00       	call   0x41ed1e
41cdc0:	b8 a6 cd 41 00       	mov    $0x41cda6,%eax
41cdc5:	c3                   	ret
41cdc6:	85 c9                	test   %ecx,%ecx
41cdc8:	74 10                	je     0x41cdda
41cdca:	3b 4c 24 04          	cmp    0x4(%esp),%ecx
41cdce:	74 05                	je     0x41cdd5
41cdd0:	8b 49 10             	mov    0x10(%ecx),%ecx
41cdd3:	eb f1                	jmp    0x41cdc6
41cdd5:	6a 01                	push   $0x1
41cdd7:	58                   	pop    %eax
41cdd8:	eb 02                	jmp    0x41cddc
41cdda:	33 c0                	xor    %eax,%eax
41cddc:	c2 04 00             	ret    $0x4
41cddf:	81 7c 24 08 10 01 00 	cmpl   $0x110,0x8(%esp)
41cde6:	00
41cde7:	75 2b                	jne    0x41ce14
41cde9:	ff 74 24 04          	push   0x4(%esp)
41cded:	e8 f6 d4 ff ff       	call   0x41a2e8
41cdf2:	50                   	push   %eax
41cdf3:	68 30 aa 42 00       	push   $0x42aa30
41cdf8:	e8 63 ff ff ff       	call   0x41cd60
41cdfd:	59                   	pop    %ecx
41cdfe:	85 c0                	test   %eax,%eax
41ce00:	59                   	pop    %ecx
41ce01:	74 0c                	je     0x41ce0f
41ce03:	8b 10                	mov    (%eax),%edx
41ce05:	8b c8                	mov    %eax,%ecx
41ce07:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
41ce0d:	eb 07                	jmp    0x41ce16
41ce0f:	6a 01                	push   $0x1
41ce11:	58                   	pop    %eax
41ce12:	eb 02                	jmp    0x41ce16
41ce14:	33 c0                	xor    %eax,%eax
41ce16:	c2 10 00             	ret    $0x10
41ce19:	b8 50 a9 42 00       	mov    $0x42a950,%eax
41ce1e:	c3                   	ret
41ce1f:	56                   	push   %esi
41ce20:	57                   	push   %edi
41ce21:	8b 7c 24 0c          	mov    0xc(%esp),%edi
41ce25:	8b f1                	mov    %ecx,%esi
41ce27:	57                   	push   %edi
41ce28:	e8 cf dd ff ff       	call   0x41abfc
41ce2d:	85 c0                	test   %eax,%eax
41ce2f:	75 75                	jne    0x41cea6
41ce31:	8b ce                	mov    %esi,%ecx
41ce33:	e8 cb ea ff ff       	call   0x41b903
41ce38:	85 c0                	test   %eax,%eax
41ce3a:	74 0a                	je     0x41ce46
41ce3c:	83 78 50 00          	cmpl   $0x0,0x50(%eax)
41ce40:	74 04                	je     0x41ce46
41ce42:	33 c0                	xor    %eax,%eax
41ce44:	eb 6d                	jmp    0x41ceb3
41ce46:	81 7f 04 00 01 00 00 	cmpl   $0x100,0x4(%edi)
41ce4d:	75 5c                	jne    0x41ceab
41ce4f:	8b 47 08             	mov    0x8(%edi),%eax
41ce52:	83 f8 1b             	cmp    $0x1b,%eax
41ce55:	74 05                	je     0x41ce5c
41ce57:	83 f8 03             	cmp    $0x3,%eax
41ce5a:	75 4f                	jne    0x41ceab
41ce5c:	6a f0                	push   $0xfffffff0
41ce5e:	ff 37                	push   (%edi)
41ce60:	ff 15 20 99 43 00    	call   *0x439920
41ce66:	a8 04                	test   $0x4,%al
41ce68:	74 41                	je     0x41ceab
41ce6a:	68 50 aa 42 00       	push   $0x42aa50
41ce6f:	ff 37                	push   (%edi)
41ce71:	e8 5e 31 00 00       	call   0x41ffd4
41ce76:	85 c0                	test   %eax,%eax
41ce78:	74 31                	je     0x41ceab
41ce7a:	6a 02                	push   $0x2
41ce7c:	ff 76 1c             	push   0x1c(%esi)
41ce7f:	ff 15 d0 98 43 00    	call   *0x4398d0
41ce85:	85 c0                	test   %eax,%eax
41ce87:	74 0b                	je     0x41ce94
41ce89:	50                   	push   %eax
41ce8a:	ff 15 a0 98 43 00    	call   *0x4398a0
41ce90:	85 c0                	test   %eax,%eax
41ce92:	74 17                	je     0x41ceab
41ce94:	6a 00                	push   $0x0
41ce96:	6a 02                	push   $0x2
41ce98:	68 11 01 00 00       	push   $0x111
41ce9d:	ff 76 1c             	push   0x1c(%esi)
41cea0:	ff 15 88 99 43 00    	call   *0x439988
41cea6:	6a 01                	push   $0x1
41cea8:	58                   	pop    %eax
41cea9:	eb 08                	jmp    0x41ceb3
41ceab:	57                   	push   %edi
41ceac:	8b ce                	mov    %esi,%ecx
41ceae:	e8 6b f9 ff ff       	call   0x41c81e
41ceb3:	5f                   	pop    %edi
41ceb4:	5e                   	pop    %esi
41ceb5:	c2 04 00             	ret    $0x4
41ceb8:	55                   	push   %ebp
41ceb9:	8b ec                	mov    %esp,%ebp
41cebb:	53                   	push   %ebx
41cebc:	56                   	push   %esi
41cebd:	8b 5d 08             	mov    0x8(%ebp),%ebx
41cec0:	57                   	push   %edi
41cec1:	ff 75 14             	push   0x14(%ebp)
41cec4:	8b 7d 0c             	mov    0xc(%ebp),%edi
41cec7:	8b f1                	mov    %ecx,%esi
41cec9:	ff 75 10             	push   0x10(%ebp)
41cecc:	57                   	push   %edi
41cecd:	53                   	push   %ebx
41cece:	e8 8e 0a 00 00       	call   0x41d961
41ced3:	85 c0                	test   %eax,%eax
41ced5:	75 58                	jne    0x41cf2f
41ced7:	85 ff                	test   %edi,%edi
41ced9:	74 05                	je     0x41cee0
41cedb:	83 ff ff             	cmp    $0xffffffff,%edi
41cede:	75 54                	jne    0x41cf34
41cee0:	f6 c7 80             	test   $0x80,%bh
41cee3:	74 4f                	je     0x41cf34
41cee5:	81 fb 00 f0 00 00    	cmp    $0xf000,%ebx
41ceeb:	73 47                	jae    0x41cf34
41ceed:	ff 76 1c             	push   0x1c(%esi)
41cef0:	ff 15 a8 98 43 00    	call   *0x4398a8
41cef6:	50                   	push   %eax
41cef7:	e8 c4 d3 ff ff       	call   0x41a2c0
41cefc:	85 c0                	test   %eax,%eax
41cefe:	74 13                	je     0x41cf13
41cf00:	ff 75 14             	push   0x14(%ebp)
41cf03:	8b 10                	mov    (%eax),%edx
41cf05:	8b c8                	mov    %eax,%ecx
41cf07:	ff 75 10             	push   0x10(%ebp)
41cf0a:	57                   	push   %edi
41cf0b:	53                   	push   %ebx
41cf0c:	ff 52 14             	call   *0x14(%edx)
41cf0f:	85 c0                	test   %eax,%eax
41cf11:	75 1c                	jne    0x41cf2f
41cf13:	e8 a4 10 00 00       	call   0x41dfbc
41cf18:	85 c0                	test   %eax,%eax
41cf1a:	74 18                	je     0x41cf34
41cf1c:	ff 75 14             	push   0x14(%ebp)
41cf1f:	8b 10                	mov    (%eax),%edx
41cf21:	8b c8                	mov    %eax,%ecx
41cf23:	ff 75 10             	push   0x10(%ebp)
41cf26:	57                   	push   %edi
41cf27:	53                   	push   %ebx
41cf28:	ff 52 14             	call   *0x14(%edx)
41cf2b:	85 c0                	test   %eax,%eax
41cf2d:	74 05                	je     0x41cf34
41cf2f:	6a 01                	push   $0x1
41cf31:	58                   	pop    %eax
41cf32:	eb 02                	jmp    0x41cf36
41cf34:	33 c0                	xor    %eax,%eax
41cf36:	5f                   	pop    %edi
41cf37:	5e                   	pop    %esi
41cf38:	5b                   	pop    %ebx
41cf39:	5d                   	pop    %ebp
41cf3a:	c2 10 00             	ret    $0x10
41cf3d:	56                   	push   %esi
41cf3e:	8b f1                	mov    %ecx,%esi
41cf40:	e8 14 00 00 00       	call   0x41cf59
41cf45:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
41cf4a:	74 07                	je     0x41cf53
41cf4c:	56                   	push   %esi
41cf4d:	e8 eb fd ff ff       	call   0x41cd3d
41cf52:	59                   	pop    %ecx
41cf53:	8b c6                	mov    %esi,%eax
41cf55:	5e                   	pop    %esi
41cf56:	c2 04 00             	ret    $0x4
41cf59:	b8 e8 79 42 00       	mov    $0x4279e8,%eax
41cf5e:	e8 cd ec fe ff       	call   0x40bc30
41cf63:	51                   	push   %ecx
41cf64:	56                   	push   %esi
41cf65:	8b f1                	mov    %ecx,%esi
41cf67:	89 75 f0             	mov    %esi,-0x10(%ebp)
41cf6a:	c7 06 5c aa 42 00    	movl   $0x42aa5c,(%esi)
41cf70:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41cf74:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
41cf78:	74 05                	je     0x41cf7f
41cf7a:	e8 e5 db ff ff       	call   0x41ab64
41cf7f:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41cf83:	8b ce                	mov    %esi,%ecx
41cf85:	e8 17 da ff ff       	call   0x41a9a1
41cf8a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41cf8d:	5e                   	pop    %esi
41cf8e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41cf95:	c9                   	leave
41cf96:	c3                   	ret
41cf97:	b8 04 7a 42 00       	mov    $0x427a04,%eax
41cf9c:	e8 8f ec fe ff       	call   0x40bc30
41cfa1:	51                   	push   %ecx
41cfa2:	83 ec 30             	sub    $0x30,%esp
41cfa5:	53                   	push   %ebx
41cfa6:	56                   	push   %esi
41cfa7:	57                   	push   %edi
41cfa8:	33 db                	xor    %ebx,%ebx
41cfaa:	39 5d 10             	cmp    %ebx,0x10(%ebp)
41cfad:	8b f9                	mov    %ecx,%edi
41cfaf:	89 65 f0             	mov    %esp,-0x10(%ebp)
41cfb2:	89 7d dc             	mov    %edi,-0x24(%ebp)
41cfb5:	75 0b                	jne    0x41cfc2
41cfb7:	e8 8b 77 00 00       	call   0x424747
41cfbc:	8b 40 08             	mov    0x8(%eax),%eax
41cfbf:	89 45 10             	mov    %eax,0x10(%ebp)
41cfc2:	e8 80 77 00 00       	call   0x424747
41cfc7:	8b b0 38 10 00 00    	mov    0x1038(%eax),%esi
41cfcd:	89 5d ec             	mov    %ebx,-0x14(%ebp)
41cfd0:	89 75 d8             	mov    %esi,-0x28(%ebp)
41cfd3:	89 5d e0             	mov    %ebx,-0x20(%ebp)
41cfd6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41cfd9:	e8 69 77 00 00       	call   0x424747
41cfde:	f6 40 18 10          	testb  $0x10,0x18(%eax)
41cfe2:	75 07                	jne    0x41cfeb
41cfe4:	6a 10                	push   $0x10
41cfe6:	e8 ed f9 ff ff       	call   0x41c9d8
41cfeb:	3b f3                	cmp    %ebx,%esi
41cfed:	74 23                	je     0x41d012
41cfef:	8b 07                	mov    (%edi),%eax
41cff1:	8d 4d cc             	lea    -0x34(%ebp),%ecx
41cff4:	51                   	push   %ecx
41cff5:	8b cf                	mov    %edi,%ecx
41cff7:	ff 90 bc 00 00 00    	call   *0xbc(%eax)
41cffd:	3b c3                	cmp    %ebx,%eax
41cfff:	74 16                	je     0x41d017
41d001:	ff 75 08             	push   0x8(%ebp)
41d004:	8b 06                	mov    (%esi),%eax
41d006:	8d 4d cc             	lea    -0x34(%ebp),%ecx
41d009:	51                   	push   %ecx
41d00a:	8b ce                	mov    %esi,%ecx
41d00c:	ff 50 10             	call   *0x10(%eax)
41d00f:	89 45 08             	mov    %eax,0x8(%ebp)
41d012:	39 5d 08             	cmp    %ebx,0x8(%ebp)
41d015:	75 07                	jne    0x41d01e
41d017:	33 c0                	xor    %eax,%eax
41d019:	e9 86 01 00 00       	jmp    0x41d1a4
41d01e:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
41d021:	e8 66 19 00 00       	call   0x41e98c
41d026:	8d 45 e8             	lea    -0x18(%ebp),%eax
41d029:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41d02d:	50                   	push   %eax
41d02e:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41d031:	50                   	push   %eax
41d032:	89 5d e8             	mov    %ebx,-0x18(%ebp)
41d035:	ff 75 08             	push   0x8(%ebp)
41d038:	e8 44 22 00 00       	call   0x41f281
41d03d:	83 c4 0c             	add    $0xc,%esp
41d040:	33 c9                	xor    %ecx,%ecx
41d042:	3b c3                	cmp    %ebx,%eax
41d044:	0f 94 c1             	sete   %cl
41d047:	8b f1                	mov    %ecx,%esi
41d049:	3b f3                	cmp    %ebx,%esi
41d04b:	75 51                	jne    0x41d09e
41d04d:	6a 2a                	push   $0x2a
41d04f:	ff 15 74 99 43 00    	call   *0x439974
41d055:	3b c3                	cmp    %ebx,%eax
41d057:	74 41                	je     0x41d09a
41d059:	68 3c ab 42 00       	push   $0x42ab3c
41d05e:	ff 75 e4             	push   -0x1c(%ebp)
41d061:	e8 6a f6 fe ff       	call   0x40c6d0
41d066:	f7 d8                	neg    %eax
41d068:	1b c0                	sbb    %eax,%eax
41d06a:	59                   	pop    %ecx
41d06b:	40                   	inc    %eax
41d06c:	59                   	pop    %ecx
41d06d:	84 c0                	test   %al,%al
41d06f:	75 1c                	jne    0x41d08d
41d071:	68 34 ab 42 00       	push   $0x42ab34
41d076:	ff 75 e4             	push   -0x1c(%ebp)
41d079:	e8 52 f6 fe ff       	call   0x40c6d0
41d07e:	f7 d8                	neg    %eax
41d080:	1b c0                	sbb    %eax,%eax
41d082:	59                   	pop    %ecx
41d083:	40                   	inc    %eax
41d084:	59                   	pop    %ecx
41d085:	84 c0                	test   %al,%al
41d087:	75 04                	jne    0x41d08d
41d089:	33 f6                	xor    %esi,%esi
41d08b:	eb 0d                	jmp    0x41d09a
41d08d:	66 83 7d e8 08       	cmpw   $0x8,-0x18(%ebp)
41d092:	6a 01                	push   $0x1
41d094:	5e                   	pop    %esi
41d095:	75 03                	jne    0x41d09a
41d097:	89 5d e8             	mov    %ebx,-0x18(%ebp)
41d09a:	3b f3                	cmp    %ebx,%esi
41d09c:	74 31                	je     0x41d0cf
41d09e:	ff 75 08             	push   0x8(%ebp)
41d0a1:	8d 4d c0             	lea    -0x40(%ebp),%ecx
41d0a4:	e8 28 20 00 00       	call   0x41f0d1
41d0a9:	ff 75 e8             	push   -0x18(%ebp)
41d0ac:	8d 4d c0             	lea    -0x40(%ebp),%ecx
41d0af:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
41d0b3:	e8 4f 23 00 00       	call   0x41f407
41d0b8:	8d 4d c0             	lea    -0x40(%ebp),%ecx
41d0bb:	e8 ae 20 00 00       	call   0x41f16e
41d0c0:	8d 4d c0             	lea    -0x40(%ebp),%ecx
41d0c3:	89 45 ec             	mov    %eax,-0x14(%ebp)