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
4380be:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4380c2:	85 f6                	test   %esi,%esi
4380c4:	74 0c                	je     0x4380d2
4380c6:	8b 0d 80 0b 45 00    	mov    0x450b80,%ecx
4380cc:	56                   	push   %esi
4380cd:	e8 58 17 fe ff       	call   0x41982a
4380d2:	8b c6                	mov    %esi,%eax
4380d4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4380d7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4380de:	59                   	pop    %ecx
4380df:	5e                   	pop    %esi
4380e0:	c9                   	leave
4380e1:	c2 04 00             	ret    $0x4
4380e4:	cc                   	int3
4380e5:	cc                   	int3
4380e6:	cc                   	int3
4380e7:	cc                   	int3
4380e8:	cc                   	int3
4380e9:	cc                   	int3
4380ea:	cc                   	int3
4380eb:	cc                   	int3
4380ec:	cc                   	int3
4380ed:	cc                   	int3
4380ee:	cc                   	int3
4380ef:	cc                   	int3
4380f0:	8b ff                	mov    %edi,%edi
4380f2:	55                   	push   %ebp
4380f3:	8b ec                	mov    %esp,%ebp
4380f5:	ff 75 18             	push   0x18(%ebp)
4380f8:	8b 4d 08             	mov    0x8(%ebp),%ecx
4380fb:	32 d2                	xor    %dl,%dl
4380fd:	ff 75 14             	push   0x14(%ebp)
438100:	ff 75 10             	push   0x10(%ebp)
438103:	8d 49 f0             	lea    -0x10(%ecx),%ecx
438106:	ff 75 0c             	push   0xc(%ebp)
438109:	e8 45 38 00 00       	call   0x43b953
43810e:	5d                   	pop    %ebp
43810f:	c2 14 00             	ret    $0x14
438112:	cc                   	int3
438113:	cc                   	int3
438114:	cc                   	int3
438115:	cc                   	int3
438116:	cc                   	int3
438117:	cc                   	int3
438118:	cc                   	int3
438119:	cc                   	int3
43811a:	cc                   	int3
43811b:	cc                   	int3
43811c:	cc                   	int3
43811d:	cc                   	int3
43811e:	cc                   	int3
43811f:	cc                   	int3
438120:	8b ff                	mov    %edi,%edi
438122:	55                   	push   %ebp
438123:	8b ec                	mov    %esp,%ebp
438125:	8b 45 08             	mov    0x8(%ebp),%eax
438128:	83 c0 10             	add    $0x10,%eax
43812b:	50                   	push   %eax
43812c:	e8 1f ae ff ff       	call   0x432f50
438131:	5d                   	pop    %ebp
438132:	c2 04 00             	ret    $0x4
438135:	8b ff                	mov    %edi,%edi
438137:	55                   	push   %ebp
438138:	8b ec                	mov    %esp,%ebp
43813a:	83 ec 0c             	sub    $0xc,%esp
43813d:	8b 45 28             	mov    0x28(%ebp),%eax
438140:	33 d2                	xor    %edx,%edx
438142:	53                   	push   %ebx
438143:	8b 5d 18             	mov    0x18(%ebp),%ebx
438146:	56                   	push   %esi
438147:	89 10                	mov    %edx,(%eax)
438149:	8b f1                	mov    %ecx,%esi
43814b:	8b 45 2c             	mov    0x2c(%ebp),%eax
43814e:	8b 4d 14             	mov    0x14(%ebp),%ecx
438151:	57                   	push   %edi
438152:	8b fa                	mov    %edx,%edi
438154:	89 75 f8             	mov    %esi,-0x8(%ebp)
438157:	89 10                	mov    %edx,(%eax)
438159:	89 11                	mov    %edx,(%ecx)
43815b:	89 13                	mov    %edx,(%ebx)
43815d:	8b 55 1c             	mov    0x1c(%ebp),%edx
438160:	21 3a                	and    %edi,(%edx)
438162:	8b 86 34 01 00 00    	mov    0x134(%esi),%eax
438168:	8b 80 80 06 00 00    	mov    0x680(%eax),%eax
43816e:	83 f8 01             	cmp    $0x1,%eax
438171:	0f 84 33 01 00 00    	je     0x4382aa
438177:	83 f8 05             	cmp    $0x5,%eax
43817a:	0f 84 2a 01 00 00    	je     0x4382aa
438180:	83 f8 06             	cmp    $0x6,%eax
438183:	7e 17                	jle    0x43819c
438185:	83 f8 08             	cmp    $0x8,%eax
438188:	0f 8e 1c 01 00 00    	jle    0x4382aa
43818e:	83 f8 0a             	cmp    $0xa,%eax
438191:	7e 09                	jle    0x43819c
438193:	83 f8 0d             	cmp    $0xd,%eax
438196:	0f 8e 0e 01 00 00    	jle    0x4382aa
43819c:	21 7d f4             	and    %edi,-0xc(%ebp)
43819f:	8d 45 f4             	lea    -0xc(%ebp),%eax
4381a2:	50                   	push   %eax
4381a3:	51                   	push   %ecx
4381a4:	8b cb                	mov    %ebx,%ecx
4381a6:	e8 e9 65 fe ff       	call   0x41e794
4381ab:	8b f8                	mov    %eax,%edi
4381ad:	85 ff                	test   %edi,%edi
4381af:	0f 88 02 01 00 00    	js     0x4382b7
4381b5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4381b9:	8d 45 fc             	lea    -0x4(%ebp),%eax
4381bc:	6a 03                	push   $0x3
4381be:	5b                   	pop    %ebx
4381bf:	50                   	push   %eax
4381c0:	68 84 7a 40 00       	push   $0x407a84
4381c5:	ff 15 58 30 45 00    	call   *0x453058
4381cb:	85 c0                	test   %eax,%eax
4381cd:	78 2c                	js     0x4381fb
4381cf:	ff 15 60 30 45 00    	call   *0x453060
4381d5:	8b f8                	mov    %eax,%edi
4381d7:	85 ff                	test   %edi,%edi
4381d9:	78 0d                	js     0x4381e8
4381db:	e8 6d e8 00 00       	call   0x446a4d
4381e0:	8b d8                	mov    %eax,%ebx
4381e2:	ff 15 64 30 45 00    	call   *0x453064
4381e8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4381eb:	51                   	push   %ecx
4381ec:	8b 11                	mov    (%ecx),%edx
4381ee:	8b 72 08             	mov    0x8(%edx),%esi
4381f1:	8b ce                	mov    %esi,%ecx
4381f3:	ff 15 c4 12 45 00    	call   *0x4512c4
4381f9:	ff d6                	call   *%esi
4381fb:	8b 75 08             	mov    0x8(%ebp),%esi
4381fe:	85 ff                	test   %edi,%edi
438200:	78 2e                	js     0x438230
438202:	ff 75 28             	push   0x28(%ebp)
438205:	8b 4d f8             	mov    -0x8(%ebp),%ecx
438208:	81 c1 f0 00 00 00    	add    $0xf0,%ecx
43820e:	83 fb 02             	cmp    $0x2,%ebx
438211:	8b 5d 2c             	mov    0x2c(%ebp),%ebx
438214:	53                   	push   %ebx
438215:	56                   	push   %esi
438216:	68 98 6b 40 00       	push   $0x406b98
43821b:	6a 05                	push   $0x5
43821d:	5a                   	pop    %edx
43821e:	75 09                	jne    0x438229
438220:	e8 e9 ed 00 00       	call   0x44700e
438225:	8b f8                	mov    %eax,%edi
438227:	eb 0a                	jmp    0x438233
438229:	e8 a8 69 fe ff       	call   0x41ebd6
43822e:	eb f5                	jmp    0x438225
438230:	8b 5d 2c             	mov    0x2c(%ebp),%ebx
438233:	81 ff 02 10 04 80    	cmp    $0x80041002,%edi
438239:	75 12                	jne    0x43824d
43823b:	8b 45 24             	mov    0x24(%ebp),%eax
43823e:	89 30                	mov    %esi,(%eax)
438240:	8b 45 20             	mov    0x20(%ebp),%eax
438243:	83 20 00             	andl   $0x0,(%eax)
438246:	33 ff                	xor    %edi,%edi
438248:	e9 8c 00 00 00       	jmp    0x4382d9
43824d:	85 ff                	test   %edi,%edi
43824f:	78 3b                	js     0x43828c
438251:	8b 45 20             	mov    0x20(%ebp),%eax
438254:	8b 75 24             	mov    0x24(%ebp),%esi
438257:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
43825d:	8b 03                	mov    (%ebx),%eax
43825f:	89 06                	mov    %eax,(%esi)
438261:	e8 e7 e7 00 00       	call   0x446a4d
438266:	8b 0e                	mov    (%esi),%ecx
438268:	50                   	push   %eax
438269:	e8 c1 ec 00 00       	call   0x446f2f
43826e:	8b f8                	mov    %eax,%edi
438270:	85 ff                	test   %edi,%edi
438272:	79 43                	jns    0x4382b7
438274:	8b 45 28             	mov    0x28(%ebp),%eax
438277:	8b 4d f8             	mov    -0x8(%ebp),%ecx
43827a:	ff 30                	push   (%eax)
43827c:	8d 89 f0 00 00 00    	lea    0xf0(%ecx),%ecx
438282:	ff 33                	push   (%ebx)