437ce9:	85 f6                	test   %esi,%esi
437ceb:	75 05                	jne    0x437cf2
437ced:	be 98 aa 40 00       	mov    $0x40aa98,%esi
437cf2:	53                   	push   %ebx
437cf3:	6a 04                	push   $0x4
437cf5:	8d 45 18             	lea    0x18(%ebp),%eax
437cf8:	50                   	push   %eax
437cf9:	6a 04                	push   $0x4
437cfb:	8d 45 14             	lea    0x14(%ebp),%eax
437cfe:	50                   	push   %eax
437cff:	52                   	push   %edx
437d00:	56                   	push   %esi
437d01:	51                   	push   %ecx
437d02:	68 d4 b1 40 00       	push   $0x40b1d4
437d07:	6a 2b                	push   $0x2b
437d09:	ff 75 0c             	push   0xc(%ebp)
437d0c:	ff 75 08             	push   0x8(%ebp)
437d0f:	ff 15 94 12 45 00    	call   *0x451294
437d15:	83 c4 30             	add    $0x30,%esp
437d18:	5e                   	pop    %esi
437d19:	5b                   	pop    %ebx
437d1a:	5d                   	pop    %ebp
437d1b:	c2 14 00             	ret    $0x14
437d1e:	8b ff                	mov    %edi,%edi
437d20:	55                   	push   %ebp
437d21:	8b ec                	mov    %esp,%ebp
437d23:	53                   	push   %ebx
437d24:	56                   	push   %esi
437d25:	8b 75 10             	mov    0x10(%ebp),%esi
437d28:	33 db                	xor    %ebx,%ebx
437d2a:	85 f6                	test   %esi,%esi
437d2c:	74 1f                	je     0x437d4d
437d2e:	8b d6                	mov    %esi,%edx
437d30:	57                   	push   %edi
437d31:	8d 7a 02             	lea    0x2(%edx),%edi
437d34:	66 8b 02             	mov    (%edx),%ax
437d37:	83 c2 02             	add    $0x2,%edx
437d3a:	66 3b c3             	cmp    %bx,%ax
437d3d:	75 f5                	jne    0x437d34
437d3f:	2b d7                	sub    %edi,%edx
437d41:	d1 fa                	sar    $1,%edx
437d43:	5f                   	pop    %edi
437d44:	8d 14 55 02 00 00 00 	lea    0x2(,%edx,2),%edx
437d4b:	eb 03                	jmp    0x437d50
437d4d:	6a 0a                	push   $0xa
437d4f:	5a                   	pop    %edx
437d50:	85 f6                	test   %esi,%esi
437d52:	75 05                	jne    0x437d59
437d54:	be 98 aa 40 00       	mov    $0x40aa98,%esi
437d59:	53                   	push   %ebx
437d5a:	6a 04                	push   $0x4
437d5c:	8d 45 1c             	lea    0x1c(%ebp),%eax
437d5f:	50                   	push   %eax
437d60:	6a 04                	push   $0x4
437d62:	8d 45 18             	lea    0x18(%ebp),%eax
437d65:	50                   	push   %eax
437d66:	6a 04                	push   $0x4
437d68:	8d 45 14             	lea    0x14(%ebp),%eax
437d6b:	50                   	push   %eax
437d6c:	52                   	push   %edx
437d6d:	56                   	push   %esi
437d6e:	51                   	push   %ecx
437d6f:	68 d4 b1 40 00       	push   $0x40b1d4
437d74:	6a 2b                	push   $0x2b
437d76:	ff 75 0c             	push   0xc(%ebp)
437d79:	ff 75 08             	push   0x8(%ebp)
437d7c:	ff 15 94 12 45 00    	call   *0x451294
437d82:	83 c4 38             	add    $0x38,%esp
437d85:	5e                   	pop    %esi
437d86:	5b                   	pop    %ebx
437d87:	5d                   	pop    %ebp
437d88:	c2 18 00             	ret    $0x18
437d8b:	8b ff                	mov    %edi,%edi
437d8d:	55                   	push   %ebp
437d8e:	8b ec                	mov    %esp,%ebp
437d90:	6a 00                	push   $0x0
437d92:	6a 04                	push   $0x4
437d94:	8d 45 18             	lea    0x18(%ebp),%eax
437d97:	50                   	push   %eax
437d98:	6a 04                	push   $0x4
437d9a:	8d 45 14             	lea    0x14(%ebp),%eax
437d9d:	50                   	push   %eax
437d9e:	6a 04                	push   $0x4
437da0:	8d 45 10             	lea    0x10(%ebp),%eax
437da3:	50                   	push   %eax
437da4:	51                   	push   %ecx
437da5:	68 d4 b1 40 00       	push   $0x40b1d4
437daa:	6a 2b                	push   $0x2b
437dac:	ff 75 0c             	push   0xc(%ebp)
437daf:	ff 75 08             	push   0x8(%ebp)
437db2:	ff 15 94 12 45 00    	call   *0x451294
437db8:	83 c4 30             	add    $0x30,%esp
437dbb:	5d                   	pop    %ebp
437dbc:	c2 14 00             	ret    $0x14
437dbf:	8b ff                	mov    %edi,%edi
437dc1:	55                   	push   %ebp
437dc2:	8b ec                	mov    %esp,%ebp
437dc4:	6a 00                	push   $0x0
437dc6:	6a 04                	push   $0x4
437dc8:	8d 45 14             	lea    0x14(%ebp),%eax
437dcb:	50                   	push   %eax
437dcc:	6a 04                	push   $0x4
437dce:	8d 45 10             	lea    0x10(%ebp),%eax
437dd1:	50                   	push   %eax
437dd2:	6a 4b                	push   $0x4b
437dd4:	68 d4 b1 40 00       	push   $0x40b1d4
437dd9:	6a 2b                	push   $0x2b
437ddb:	ff 75 0c             	push   0xc(%ebp)
437dde:	ff 75 08             	push   0x8(%ebp)
437de1:	ff 15 94 12 45 00    	call   *0x451294
437de7:	83 c4 28             	add    $0x28,%esp
437dea:	5d                   	pop    %ebp
437deb:	c2 10 00             	ret    $0x10
437dee:	8b ff                	mov    %edi,%edi
437df0:	55                   	push   %ebp
437df1:	8b ec                	mov    %esp,%ebp
437df3:	6a 00                	push   $0x0
437df5:	6a 04                	push   $0x4
437df7:	5a                   	pop    %edx
437df8:	52                   	push   %edx
437df9:	8d 45 1c             	lea    0x1c(%ebp),%eax
437dfc:	50                   	push   %eax
437dfd:	52                   	push   %edx
437dfe:	8d 45 18             	lea    0x18(%ebp),%eax
437e01:	50                   	push   %eax
437e02:	52                   	push   %edx
437e03:	8d 45 14             	lea    0x14(%ebp),%eax
437e06:	50                   	push   %eax
437e07:	52                   	push   %edx
437e08:	8d 45 10             	lea    0x10(%ebp),%eax
437e0b:	50                   	push   %eax
437e0c:	51                   	push   %ecx
437e0d:	68 d4 b1 40 00       	push   $0x40b1d4
437e12:	6a 2b                	push   $0x2b
437e14:	ff 75 0c             	push   0xc(%ebp)
437e17:	ff 75 08             	push   0x8(%ebp)
437e1a:	ff 15 94 12 45 00    	call   *0x451294
437e20:	83 c4 38             	add    $0x38,%esp
437e23:	5d                   	pop    %ebp
437e24:	c2 18 00             	ret    $0x18
437e27:	6a 08                	push   $0x8
437e29:	b8 af 3c 42 00       	mov    $0x423caf,%eax
437e2e:	e8 3a 78 fe ff       	call   0x41f66d
437e33:	8b f9                	mov    %ecx,%edi
437e35:	89 7d ec             	mov    %edi,-0x14(%ebp)
437e38:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
437e3c:	8d 45 f0             	lea    -0x10(%ebp),%eax
437e3f:	50                   	push   %eax
437e40:	ff 75 10             	push   0x10(%ebp)
437e43:	8d 4f 10             	lea    0x10(%edi),%ecx
437e46:	89 7d f0             	mov    %edi,-0x10(%ebp)
437e49:	e8 49 b0 ff ff       	call   0x432e97
437e4e:	8b 4d 08             	mov    0x8(%ebp),%ecx
437e51:	8b 45 14             	mov    0x14(%ebp),%eax
437e54:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
437e5b:	83 67 38 00          	andl   $0x0,0x38(%edi)
437e5f:	83 67 3c 00          	andl   $0x0,0x3c(%edi)
437e63:	51                   	push   %ecx
437e64:	6a 01                	push   $0x1
437e66:	89 4f 30             	mov    %ecx,0x30(%edi)
437e69:	51                   	push   %ecx
437e6a:	8d 4f 40             	lea    0x40(%edi),%ecx
437e6d:	c7 07 44 50 40 00    	movl   $0x405044,(%edi)
437e73:	c7 47 04 30 50 40 00 	movl   $0x405030,0x4(%edi)
437e7a:	c7 47 08 18 50 40 00 	movl   $0x405018,0x8(%edi)
437e81:	c7 47 0c 04 50 40 00 	movl   $0x405004,0xc(%edi)
437e88:	c7 47 10 d4 4f 40 00 	movl   $0x404fd4,0x10(%edi)
437e8f:	89 47 34             	mov    %eax,0x34(%edi)
437e92:	e8 ed ab ff ff       	call   0x432a84
437e97:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
437e9b:	f0 ff 05 d4 0b 45 00 	lock incl 0x450bd4
437ea2:	f0 ff 05 7c 0b 45 00 	lock incl 0x450b7c
437ea9:	8b 47 34             	mov    0x34(%edi),%eax
437eac:	85 c0                	test   %eax,%eax
437eae:	74 03                	je     0x437eb3
437eb0:	f0 ff 00             	lock incl (%eax)
437eb3:	8b 5d 0c             	mov    0xc(%ebp),%ebx
437eb6:	85 db                	test   %ebx,%ebx
437eb8:	74 5d                	je     0x437f17
437eba:	89 5f 38             	mov    %ebx,0x38(%edi)
437ebd:	8b 03                	mov    (%ebx),%eax
437ebf:	53                   	push   %ebx
437ec0:	8b 70 04             	mov    0x4(%eax),%esi
437ec3:	8b ce                	mov    %esi,%ecx
437ec5:	ff 15 c4 12 45 00    	call   *0x4512c4
437ecb:	ff d6                	call   *%esi
437ecd:	8b 03                	mov    (%ebx),%eax
437ecf:	8d 4f 3c             	lea    0x3c(%edi),%ecx
437ed2:	51                   	push   %ecx
437ed3:	68 c8 6b 40 00       	push   $0x406bc8
437ed8:	53                   	push   %ebx
437ed9:	8b 30                	mov    (%eax),%esi
437edb:	8b ce                	mov    %esi,%ecx
437edd:	ff 15 c4 12 45 00    	call   *0x4512c4
437ee3:	ff d6                	call   *%esi
437ee5:	85 c0                	test   %eax,%eax
437ee7:	79 2e                	jns    0x437f17
437ee9:	8b 0d 00 f0 44 00    	mov    0x44f000,%ecx
437eef:	81 f9 00 f0 44 00    	cmp    $0x44f000,%ecx
437ef5:	74 20                	je     0x437f17
437ef7:	f6 41 1c 04          	testb  $0x4,0x1c(%ecx)
437efb:	74 1a                	je     0x437f17
437efd:	80 79 19 05          	cmpb   $0x5,0x19(%ecx)
437f01:	72 14                	jb     0x437f17
437f03:	50                   	push   %eax
437f04:	ff 71 14             	push   0x14(%ecx)
437f07:	ba a8 7b 40 00       	mov    $0x407ba8,%edx
437f0c:	ff 71 10             	push   0x10(%ecx)
437f0f:	6a 0a                	push   $0xa
437f11:	59                   	pop    %ecx
437f12:	e8 af 88 ff ff       	call   0x4307c6
437f17:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
437f1b:	8b c7                	mov    %edi,%eax
437f1d:	e8 19 77 fe ff       	call   0x41f63b
437f22:	c2 10 00             	ret    $0x10
437f25:	8b ff                	mov    %edi,%edi
437f27:	55                   	push   %ebp
437f28:	8b ec                	mov    %esp,%ebp
437f2a:	6a ff                	push   $0xffffffff
437f2c:	68 ca 3c 42 00       	push   $0x423cca
437f31:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
437f37:	50                   	push   %eax
437f38:	a1 54 02 45 00       	mov    0x450254,%eax
437f3d:	33 c5                	xor    %ebp,%eax
437f3f:	50                   	push   %eax
437f40:	8d 45 f4             	lea    -0xc(%ebp),%eax
437f43:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
437f49:	8b 01                	mov    (%ecx),%eax
437f4b:	85 c0                	test   %eax,%eax
437f4d:	74 07                	je     0x437f56
437f4f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
437f53:	50                   	push   %eax
437f54:	eb 15                	jmp    0x437f6b
437f56:	8b 41 04             	mov    0x4(%ecx),%eax
437f59:	85 c0                	test   %eax,%eax
437f5b:	74 19                	je     0x437f76
437f5d:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
437f64:	83 38 00             	cmpl   $0x0,(%eax)
437f67:	74 0d                	je     0x437f76
437f69:	ff 30                	push   (%eax)
437f6b:	8b 0d 80 0b 45 00    	mov    0x450b80,%ecx
437f71:	e8 b4 18 fe ff       	call   0x41982a
437f76:	8b 4d f4             	mov    -0xc(%ebp),%ecx
437f79:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
437f80:	59                   	pop    %ecx
437f81:	c9                   	leave
437f82:	c3                   	ret
437f83:	8b ff                	mov    %edi,%edi
437f85:	55                   	push   %ebp
437f86:	8b ec                	mov    %esp,%ebp
437f88:	6a ff                	push   $0xffffffff
437f8a:	68 e5 3c 42 00       	push   $0x423ce5
437f8f:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
437f95:	50                   	push   %eax
437f96:	53                   	push   %ebx
437f97:	56                   	push   %esi
437f98:	57                   	push   %edi
437f99:	a1 54 02 45 00       	mov    0x450254,%eax
437f9e:	33 c5                	xor    %ebp,%eax
437fa0:	50                   	push   %eax
437fa1:	8d 45 f4             	lea    -0xc(%ebp),%eax
437fa4:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
437faa:	8b f9                	mov    %ecx,%edi
437fac:	8b 4f 38             	mov    0x38(%edi),%ecx
437faf:	c7 07 44 50 40 00    	movl   $0x405044,(%edi)
437fb5:	c7 47 04 30 50 40 00 	movl   $0x405030,0x4(%edi)
437fbc:	c7 47 08 18 50 40 00 	movl   $0x405018,0x8(%edi)
437fc3:	c7 47 0c 04 50 40 00 	movl   $0x405004,0xc(%edi)
437fca:	c7 47 10 d4 4f 40 00 	movl   $0x404fd4,0x10(%edi)
437fd1:	85 c9                	test   %ecx,%ecx
437fd3:	74 10                	je     0x437fe5
437fd5:	8b 01                	mov    (%ecx),%eax
437fd7:	51                   	push   %ecx
437fd8:	8b 70 08             	mov    0x8(%eax),%esi
437fdb:	8b ce                	mov    %esi,%ecx
437fdd:	ff 15 c4 12 45 00    	call   *0x4512c4
437fe3:	ff d6                	call   *%esi
437fe5:	8b 4f 3c             	mov    0x3c(%edi),%ecx
437fe8:	85 c9                	test   %ecx,%ecx
437fea:	74 10                	je     0x437ffc
437fec:	8b 01                	mov    (%ecx),%eax
437fee:	51                   	push   %ecx
437fef:	8b 70 08             	mov    0x8(%eax),%esi
437ff2:	8b ce                	mov    %esi,%ecx
437ff4:	ff 15 c4 12 45 00    	call   *0x4512c4
437ffa:	ff d6                	call   *%esi
437ffc:	8b 4f 34             	mov    0x34(%edi),%ecx
437fff:	85 c9                	test   %ecx,%ecx
438001:	74 05                	je     0x438008
438003:	e8 26 f9 00 00       	call   0x44792e
438008:	f0 ff 0d d4 0b 45 00 	lock decl 0x450bd4
43800f:	e8 84 1a fe ff       	call   0x419a98
438014:	8d 77 40             	lea    0x40(%edi),%esi
438017:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43801b:	8b ce                	mov    %esi,%ecx
43801d:	e8 4d 42 fd ff       	call   0x40c26f
438022:	83 c6 08             	add    $0x8,%esi
438025:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
438029:	80 7e 18 00          	cmpb   $0x0,0x18(%esi)
43802d:	74 07                	je     0x438036
43802f:	56                   	push   %esi
438030:	ff 15 48 11 45 00    	call   *0x451148
438036:	8d 4f 10             	lea    0x10(%edi),%ecx
438039:	e8 f2 cf fd ff       	call   0x415030
43803e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
438041:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
438048:	59                   	pop    %ecx
438049:	5f                   	pop    %edi
43804a:	5e                   	pop    %esi
43804b:	5b                   	pop    %ebx
43804c:	c9                   	leave
43804d:	c3                   	ret
43804e:	8b ff                	mov    %edi,%edi
438050:	55                   	push   %ebp
438051:	8b ec                	mov    %esp,%ebp
438053:	6a ff                	push   $0xffffffff
438055:	68 8f 38 42 00       	push   $0x42388f
43805a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
438060:	50                   	push   %eax
438061:	a1 54 02 45 00       	mov    0x450254,%eax
438066:	33 c5                	xor    %ebp,%eax
438068:	50                   	push   %eax
438069:	8d 45 f4             	lea    -0xc(%ebp),%eax
43806c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
438072:	83 39 00             	cmpl   $0x0,(%ecx)
438075:	74 08                	je     0x43807f
438077:	ff 31                	push   (%ecx)
438079:	ff 15 0c 30 45 00    	call   *0x45300c
43807f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
438082:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
438089:	59                   	pop    %ecx
43808a:	c9                   	leave
43808b:	c3                   	ret
43808c:	8b ff                	mov    %edi,%edi
43808e:	55                   	push   %ebp
43808f:	8b ec                	mov    %esp,%ebp
438091:	6a ff                	push   $0xffffffff
438093:	68 47 30 42 00       	push   $0x423047
438098:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43809e:	50                   	push   %eax
43809f:	56                   	push   %esi
4380a0:	a1 54 02 45 00       	mov    0x450254,%eax
4380a5:	33 c5                	xor    %ebp,%eax
4380a7:	50                   	push   %eax
4380a8:	8d 45 f4             	lea    -0xc(%ebp),%eax
4380ab:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4380b1:	8b f1                	mov    %ecx,%esi
4380b3:	e8 cb fe ff ff       	call   0x437f83
4380b8:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4380bc:	74 14                	je     0x4380d2