40bc4c:	74 10                	je     0x40bc5e
40bc4e:	56                   	push   %esi
40bc4f:	6a 00                	push   $0x0
40bc51:	ff 70 04             	push   0x4(%eax)
40bc54:	ff 15 70 10 45 00    	call   *0x451070
40bc5a:	85 c0                	test   %eax,%eax
40bc5c:	74 16                	je     0x40bc74
40bc5e:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40bc62:	8b c6                	mov    %esi,%eax
40bc64:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40bc67:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40bc6e:	59                   	pop    %ecx
40bc6f:	5e                   	pop    %esi
40bc70:	c9                   	leave
40bc71:	c2 04 00             	ret    $0x4
40bc74:	ff 15 54 10 45 00    	call   *0x451054
40bc7a:	eb e2                	jmp    0x40bc5e
40bc7c:	cc                   	int3
40bc7d:	cc                   	int3
40bc7e:	cc                   	int3
40bc7f:	cc                   	int3
40bc80:	cc                   	int3
40bc81:	cc                   	int3
40bc82:	cc                   	int3
40bc83:	cc                   	int3
40bc84:	cc                   	int3
40bc85:	cc                   	int3
40bc86:	cc                   	int3
40bc87:	cc                   	int3
40bc88:	cc                   	int3
40bc89:	cc                   	int3
40bc8a:	cc                   	int3
40bc8b:	cc                   	int3
40bc8c:	cc                   	int3
40bc8d:	cc                   	int3
40bc8e:	cc                   	int3
40bc8f:	cc                   	int3
40bc90:	cc                   	int3
40bc91:	cc                   	int3
40bc92:	cc                   	int3
40bc93:	cc                   	int3
40bc94:	cc                   	int3
40bc95:	cc                   	int3
40bc96:	cc                   	int3
40bc97:	cc                   	int3
40bc98:	cc                   	int3
40bc99:	cc                   	int3
40bc9a:	cc                   	int3
40bc9b:	cc                   	int3
40bc9c:	cc                   	int3
40bc9d:	cc                   	int3
40bc9e:	cc                   	int3
40bc9f:	cc                   	int3
40bca0:	8b ff                	mov    %edi,%edi
40bca2:	55                   	push   %ebp
40bca3:	8b ec                	mov    %esp,%ebp
40bca5:	6a ff                	push   $0xffffffff
40bca7:	68 f0 2b 42 00       	push   $0x422bf0
40bcac:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40bcb2:	50                   	push   %eax
40bcb3:	83 ec 0c             	sub    $0xc,%esp
40bcb6:	53                   	push   %ebx
40bcb7:	56                   	push   %esi
40bcb8:	57                   	push   %edi
40bcb9:	a1 54 02 45 00       	mov    0x450254,%eax
40bcbe:	33 c5                	xor    %ebp,%eax
40bcc0:	50                   	push   %eax
40bcc1:	8d 45 f4             	lea    -0xc(%ebp),%eax
40bcc4:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40bcca:	8b f9                	mov    %ecx,%edi
40bccc:	89 7d ec             	mov    %edi,-0x14(%ebp)
40bccf:	8b 87 34 01 00 00    	mov    0x134(%edi),%eax
40bcd5:	6a 00                	push   $0x0
40bcd7:	ff b7 38 01 00 00    	push   0x138(%edi)
40bcdd:	c7 07 6c 14 40 00    	movl   $0x40146c,(%edi)
40bce3:	ff b7 3c 01 00 00    	push   0x13c(%edi)
40bce9:	c7 47 04 d8 14 40 00 	movl   $0x4014d8,0x4(%edi)
40bcf0:	c7 47 08 f0 14 40 00 	movl   $0x4014f0,0x8(%edi)
40bcf7:	c7 47 0c 04 15 40 00 	movl   $0x401504,0xc(%edi)
40bcfe:	c7 47 10 1c 15 40 00 	movl   $0x40151c,0x10(%edi)
40bd05:	c7 47 14 30 15 40 00 	movl   $0x401530,0x14(%edi)
40bd0c:	c7 47 18 44 15 40 00 	movl   $0x401544,0x18(%edi)
40bd13:	c7 47 1c 5c 15 40 00 	movl   $0x40155c,0x1c(%edi)
40bd1a:	c7 47 20 70 15 40 00 	movl   $0x401570,0x20(%edi)
40bd21:	c7 47 24 98 15 40 00 	movl   $0x401598,0x24(%edi)
40bd28:	c7 47 28 04 16 40 00 	movl   $0x401604,0x28(%edi)
40bd2f:	c7 47 2c 1c 16 40 00 	movl   $0x40161c,0x2c(%edi)
40bd36:	c7 47 30 30 16 40 00 	movl   $0x401630,0x30(%edi)
40bd3d:	c7 47 34 48 16 40 00 	movl   $0x401648,0x34(%edi)
40bd44:	c7 47 38 5c 16 40 00 	movl   $0x40165c,0x38(%edi)
40bd4b:	c7 47 3c 74 16 40 00 	movl   $0x401674,0x3c(%edi)
40bd52:	c7 47 40 88 16 40 00 	movl   $0x401688,0x40(%edi)
40bd59:	c7 47 44 b8 16 40 00 	movl   $0x4016b8,0x44(%edi)
40bd60:	c7 47 48 cc 16 40 00 	movl   $0x4016cc,0x48(%edi)
40bd67:	c7 47 4c e0 16 40 00 	movl   $0x4016e0,0x4c(%edi)
40bd6e:	c7 47 50 f8 16 40 00 	movl   $0x4016f8,0x50(%edi)
40bd75:	c7 47 54 24 17 40 00 	movl   $0x401724,0x54(%edi)
40bd7c:	c7 47 58 50 17 40 00 	movl   $0x401750,0x58(%edi)
40bd83:	c7 87 84 00 00 00 80 	movl   $0x401780,0x84(%edi)
40bd8a:	17 40 00
40bd8d:	ff b0 b4 06 00 00    	push   0x6b4(%eax)
40bd93:	ff b7 40 01 00 00    	push   0x140(%edi)
40bd99:	6a 01                	push   $0x1
40bd9b:	ff 35 98 09 45 00    	push   0x450998
40bda1:	ff 15 24 10 45 00    	call   *0x451024
40bda7:	8b 8f e8 00 00 00    	mov    0xe8(%edi),%ecx
40bdad:	83 c4 1c             	add    $0x1c,%esp
40bdb0:	85 c9                	test   %ecx,%ecx
40bdb2:	0f 85 5e 8c 01 00    	jne    0x424a16
40bdb8:	8b 8f b4 00 00 00    	mov    0xb4(%edi),%ecx
40bdbe:	85 c9                	test   %ecx,%ecx
40bdc0:	74 10                	je     0x40bdd2
40bdc2:	8b 01                	mov    (%ecx),%eax
40bdc4:	51                   	push   %ecx
40bdc5:	8b 70 08             	mov    0x8(%eax),%esi
40bdc8:	8b ce                	mov    %esi,%ecx
40bdca:	ff 15 c4 12 45 00    	call   *0x4512c4
40bdd0:	ff d6                	call   *%esi
40bdd2:	8b 8f b8 00 00 00    	mov    0xb8(%edi),%ecx
40bdd8:	85 c9                	test   %ecx,%ecx
40bdda:	74 10                	je     0x40bdec
40bddc:	8b 01                	mov    (%ecx),%eax
40bdde:	51                   	push   %ecx
40bddf:	8b 70 08             	mov    0x8(%eax),%esi
40bde2:	8b ce                	mov    %esi,%ecx
40bde4:	ff 15 c4 12 45 00    	call   *0x4512c4
40bdea:	ff d6                	call   *%esi
40bdec:	8b 8f bc 00 00 00    	mov    0xbc(%edi),%ecx
40bdf2:	85 c9                	test   %ecx,%ecx
40bdf4:	0f 85 31 8c 01 00    	jne    0x424a2b
40bdfa:	8b 8f c0 00 00 00    	mov    0xc0(%edi),%ecx
40be00:	85 c9                	test   %ecx,%ecx
40be02:	0f 85 38 8c 01 00    	jne    0x424a40
40be08:	8b 8f c4 00 00 00    	mov    0xc4(%edi),%ecx
40be0e:	85 c9                	test   %ecx,%ecx
40be10:	0f 85 53 03 00 00    	jne    0x40c169
40be16:	8b 8f c8 00 00 00    	mov    0xc8(%edi),%ecx
40be1c:	85 c9                	test   %ecx,%ecx
40be1e:	0f 85 5a 03 00 00    	jne    0x40c17e
40be24:	8b 8f cc 00 00 00    	mov    0xcc(%edi),%ecx
40be2a:	85 c9                	test   %ecx,%ecx
40be2c:	0f 85 61 03 00 00    	jne    0x40c193
40be32:	8b 8f d8 00 00 00    	mov    0xd8(%edi),%ecx
40be38:	85 c9                	test   %ecx,%ecx
40be3a:	0f 85 15 8c 01 00    	jne    0x424a55
40be40:	8b 8f d4 00 00 00    	mov    0xd4(%edi),%ecx
40be46:	85 c9                	test   %ecx,%ecx
40be48:	0f 85 1c 8c 01 00    	jne    0x424a6a
40be4e:	8b 8f dc 00 00 00    	mov    0xdc(%edi),%ecx
40be54:	85 c9                	test   %ecx,%ecx
40be56:	0f 85 23 8c 01 00    	jne    0x424a7f
40be5c:	8b 8f e4 00 00 00    	mov    0xe4(%edi),%ecx
40be62:	85 c9                	test   %ecx,%ecx
40be64:	74 10                	je     0x40be76
40be66:	8b 01                	mov    (%ecx),%eax
40be68:	51                   	push   %ecx
40be69:	8b 70 08             	mov    0x8(%eax),%esi
40be6c:	8b ce                	mov    %esi,%ecx
40be6e:	ff 15 c4 12 45 00    	call   *0x4512c4
40be74:	ff d6                	call   *%esi
40be76:	8b 8f e0 00 00 00    	mov    0xe0(%edi),%ecx
40be7c:	85 c9                	test   %ecx,%ecx
40be7e:	74 10                	je     0x40be90
40be80:	8b 01                	mov    (%ecx),%eax
40be82:	51                   	push   %ecx
40be83:	8b 70 08             	mov    0x8(%eax),%esi
40be86:	8b ce                	mov    %esi,%ecx
40be88:	ff 15 c4 12 45 00    	call   *0x4512c4
40be8e:	ff d6                	call   *%esi
40be90:	8b 8f f4 00 00 00    	mov    0xf4(%edi),%ecx
40be96:	85 c9                	test   %ecx,%ecx
40be98:	0f 84 35 01 00 00    	je     0x40bfd3
40be9e:	33 c0                	xor    %eax,%eax
40bea0:	89 45 e8             	mov    %eax,-0x18(%ebp)
40bea3:	39 87 1c 01 00 00    	cmp    %eax,0x11c(%edi)
40bea9:	0f 86 ea 00 00 00    	jbe    0x40bf99
40beaf:	90                   	nop
40beb0:	8b 8f f4 00 00 00    	mov    0xf4(%edi),%ecx
40beb6:	8b 34 81             	mov    (%ecx,%eax,4),%esi
40beb9:	85 f6                	test   %esi,%esi
40bebb:	0f 84 c8 00 00 00    	je     0x40bf89
40bec1:	8d 45 f0             	lea    -0x10(%ebp),%eax
40bec4:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
40becb:	50                   	push   %eax
40becc:	8b ce                	mov    %esi,%ecx
40bece:	e8 dd 02 00 00       	call   0x40c1b0
40bed3:	85 c0                	test   %eax,%eax
40bed5:	0f 84 b9 8b 01 00    	je     0x424a94
40bedb:	8b 5e 08             	mov    0x8(%esi),%ebx
40bede:	85 db                	test   %ebx,%ebx
40bee0:	74 60                	je     0x40bf42
40bee2:	f6 c3 1f             	test   $0x1f,%bl
40bee5:	0f 85 da 8b 01 00    	jne    0x424ac5
40beeb:	33 c0                	xor    %eax,%eax
40beed:	c1 eb 05             	shr    $0x5,%ebx
40bef0:	bf 00 00 00 00       	mov    $0x0,%edi
40bef5:	03 d8                	add    %eax,%ebx
40bef7:	74 38                	je     0x40bf31
40bef9:	8b 0e                	mov    (%esi),%ecx
40befb:	eb 03                	jmp    0x40bf00
40befd:	8d 49 00             	lea    0x0(%ecx),%ecx
40bf00:	85 c9                	test   %ecx,%ecx
40bf02:	74 2d                	je     0x40bf31
40bf04:	8b 01                	mov    (%ecx),%eax
40bf06:	89 45 f0             	mov    %eax,-0x10(%ebp)
40bf09:	8b 46 0c             	mov    0xc(%esi),%eax
40bf0c:	8b 40 04             	mov    0x4(%eax),%eax
40bf0f:	85 c0                	test   %eax,%eax
40bf11:	74 12                	je     0x40bf25
40bf13:	51                   	push   %ecx
40bf14:	6a 00                	push   $0x0
40bf16:	50                   	push   %eax
40bf17:	ff 15 70 10 45 00    	call   *0x451070
40bf1d:	85 c0                	test   %eax,%eax
40bf1f:	0f 84 aa 8b 01 00    	je     0x424acf
40bf25:	8b 45 f0             	mov    -0x10(%ebp),%eax
40bf28:	47                   	inc    %edi
40bf29:	89 06                	mov    %eax,(%esi)
40bf2b:	8b c8                	mov    %eax,%ecx
40bf2d:	3b fb                	cmp    %ebx,%edi
40bf2f:	72 cf                	jb     0x40bf00
40bf31:	8b 7d ec             	mov    -0x14(%ebp),%edi
40bf34:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
40bf3b:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
40bf42:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40bf49:	8b 46 08             	mov    0x8(%esi),%eax
40bf4c:	85 c0                	test   %eax,%eax
40bf4e:	0f 85 86 8b 01 00    	jne    0x424ada
40bf54:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40bf5b:	a1 80 0b 45 00       	mov    0x450b80,%eax
40bf60:	8b 40 04             	mov    0x4(%eax),%eax
40bf63:	85 c0                	test   %eax,%eax
40bf65:	74 12                	je     0x40bf79
40bf67:	56                   	push   %esi
40bf68:	6a 00                	push   $0x0
40bf6a:	50                   	push   %eax
40bf6b:	ff 15 70 10 45 00    	call   *0x451070
40bf71:	85 c0                	test   %eax,%eax
40bf73:	0f 84 7c 8b 01 00    	je     0x424af5
40bf79:	8b 45 e8             	mov    -0x18(%ebp),%eax
40bf7c:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40bf83:	8b 8f f4 00 00 00    	mov    0xf4(%edi),%ecx
40bf89:	40                   	inc    %eax
40bf8a:	89 45 e8             	mov    %eax,-0x18(%ebp)
40bf8d:	3b 87 1c 01 00 00    	cmp    0x11c(%edi),%eax
40bf93:	0f 82 17 ff ff ff    	jb     0x40beb0
40bf99:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
40bfa0:	85 c9                	test   %ecx,%ecx
40bfa2:	74 1e                	je     0x40bfc2
40bfa4:	a1 80 0b 45 00       	mov    0x450b80,%eax
40bfa9:	8b 40 04             	mov    0x4(%eax),%eax
40bfac:	85 c0                	test   %eax,%eax
40bfae:	74 12                	je     0x40bfc2
40bfb0:	51                   	push   %ecx
40bfb1:	6a 00                	push   $0x0
40bfb3:	50                   	push   %eax
40bfb4:	ff 15 70 10 45 00    	call   *0x451070
40bfba:	85 c0                	test   %eax,%eax
40bfbc:	0f 84 3e 8b 01 00    	je     0x424b00
40bfc2:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40bfc9:	c7 87 f4 00 00 00 00 	movl   $0x0,0xf4(%edi)
40bfd0:	00 00 00
40bfd3:	83 bf 20 01 00 00 00 	cmpl   $0x0,0x120(%edi)
40bfda:	74 0a                	je     0x40bfe6
40bfdc:	c7 87 20 01 00 00 00 	movl   $0x0,0x120(%edi)
40bfe3:	00 00 00
40bfe6:	8b 8f 30 01 00 00    	mov    0x130(%edi),%ecx
40bfec:	85 c9                	test   %ecx,%ecx
40bfee:	74 10                	je     0x40c000
40bff0:	8b 01                	mov    (%ecx),%eax
40bff2:	51                   	push   %ecx
40bff3:	8b 70 08             	mov    0x8(%eax),%esi
40bff6:	8b ce                	mov    %esi,%ecx
40bff8:	ff 15 c4 12 45 00    	call   *0x4512c4
40bffe:	ff d6                	call   *%esi
40c000:	8b 87 2c 01 00 00    	mov    0x12c(%edi),%eax
40c006:	85 c0                	test   %eax,%eax
40c008:	74 07                	je     0x40c011
40c00a:	50                   	push   %eax
40c00b:	ff 15 5c 10 45 00    	call   *0x45105c
40c011:	8b 87 40 01 00 00    	mov    0x140(%edi),%eax
40c017:	85 c0                	test   %eax,%eax
40c019:	74 07                	je     0x40c022
40c01b:	50                   	push   %eax
40c01c:	ff 15 0c 30 45 00    	call   *0x45300c
40c022:	8b 87 38 01 00 00    	mov    0x138(%edi),%eax
40c028:	85 c0                	test   %eax,%eax
40c02a:	0f 85 db 8a 01 00    	jne    0x424b0b
40c030:	8b 87 3c 01 00 00    	mov    0x13c(%edi),%eax
40c036:	85 c0                	test   %eax,%eax
40c038:	0f 85 1f 01 00 00    	jne    0x40c15d
40c03e:	8b b7 34 01 00 00    	mov    0x134(%edi),%esi
40c044:	85 f6                	test   %esi,%esi
40c046:	74 1a                	je     0x40c062
40c048:	83 c8 ff             	or     $0xffffffff,%eax
40c04b:	f0 0f c1 06          	lock xadd %eax,(%esi)
40c04f:	48                   	dec    %eax
40c050:	75 10                	jne    0x40c062
40c052:	8b ce                	mov    %esi,%ecx
40c054:	e8 6d 60 01 00       	call   0x4220c6
40c059:	56                   	push   %esi
40c05a:	e8 6b 01 00 00       	call   0x40c1ca
40c05f:	83 c4 04             	add    $0x4,%esp
40c062:	8b 87 a8 00 00 00    	mov    0xa8(%edi),%eax
40c068:	85 c0                	test   %eax,%eax
40c06a:	0f 85 a7 8a 01 00    	jne    0x424b17
40c070:	f0 ff 0d 70 0a 45 00 	lock decl 0x450a70
40c077:	f0 ff 0d 7c 0b 45 00 	lock decl 0x450b7c
40c07e:	83 3d c0 0a 45 00 00 	cmpl   $0x0,0x450ac0
40c085:	0f 84 a7 8a 01 00    	je     0x424b32
40c08b:	a1 5c 09 45 00       	mov    0x45095c,%eax
40c090:	85 c0                	test   %eax,%eax
40c092:	74 09                	je     0x40c09d
40c094:	ff 70 14             	push   0x14(%eax)
40c097:	ff 15 4c 11 45 00    	call   *0x45114c
40c09d:	8d b7 f0 00 00 00    	lea    0xf0(%edi),%esi
40c0a3:	8b ce                	mov    %esi,%ecx
40c0a5:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
40c0ac:	e8 be 01 00 00       	call   0x40c26f
40c0b1:	83 c6 08             	add    $0x8,%esi
40c0b4:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
40c0b8:	80 7e 18 00          	cmpb   $0x0,0x18(%esi)
40c0bc:	74 07                	je     0x40c0c5
40c0be:	56                   	push   %esi
40c0bf:	ff 15 48 11 45 00    	call   *0x451148
40c0c5:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40c0cc:	c7 45 fc 05 00 00 00 	movl   $0x5,-0x4(%ebp)
40c0d3:	c7 87 84 00 00 00 34 	movl   $0x401434,0x84(%edi)
40c0da:	14 40 00
40c0dd:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
40c0e1:	8b 87 a8 00 00 00    	mov    0xa8(%edi),%eax
40c0e7:	85 c0                	test   %eax,%eax
40c0e9:	0f 85 5e 8a 01 00    	jne    0x424b4d
40c0ef:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
40c0f3:	8d 87 8c 00 00 00    	lea    0x8c(%edi),%eax
40c0f9:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
40c0fd:	80 78 18 00          	cmpb   $0x0,0x18(%eax)
40c101:	74 07                	je     0x40c10a
40c103:	50                   	push   %eax
40c104:	ff 15 48 11 45 00    	call   *0x451148
40c10a:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40c111:	c7 45 fc 08 00 00 00 	movl   $0x8,-0x4(%ebp)
40c118:	8b 4f 6c             	mov    0x6c(%edi),%ecx
40c11b:	c7 47 58 04 14 40 00 	movl   $0x401404,0x58(%edi)
40c122:	85 c9                	test   %ecx,%ecx
40c124:	74 1e                	je     0x40c144
40c126:	8b 01                	mov    (%ecx),%eax
40c128:	51                   	push   %ecx
40c129:	8b 70 08             	mov    0x8(%eax),%esi
40c12c:	81 fe 30 c2 40 00    	cmp    $0x40c230,%esi