43d8c2:	74 43                	je     0x43d907
43d8c4:	66 8b 44 24 56       	mov    0x56(%esp),%ax
43d8c9:	66 83 f8 ff          	cmp    $0xffff,%ax
43d8cd:	74 38                	je     0x43d907
43d8cf:	0f bf c8             	movswl %ax,%ecx
43d8d2:	8b 44 24 48          	mov    0x48(%esp),%eax
43d8d6:	8d 04 48             	lea    (%eax,%ecx,2),%eax
43d8d9:	50                   	push   %eax
43d8da:	ff 15 64 21 45 00    	call   *0x452164
43d8e0:	85 c0                	test   %eax,%eax
43d8e2:	74 23                	je     0x43d907
43d8e4:	50                   	push   %eax
43d8e5:	ff 15 60 21 45 00    	call   *0x452160
43d8eb:	eb 1a                	jmp    0x43d907
43d8ed:	51                   	push   %ecx
43d8ee:	68 3c 2d 41 00       	push   $0x412d3c
43d8f3:	51                   	push   %ecx
43d8f4:	ba 04 01 00 00       	mov    $0x104,%edx
43d8f9:	8b cf                	mov    %edi,%ecx
43d8fb:	e8 b0 79 fd ff       	call   0x4152b0
43d900:	8b c8                	mov    %eax,%ecx
43d902:	e8 d9 b3 fe ff       	call   0x428ce0
43d907:	8b cf                	mov    %edi,%ecx
43d909:	ba d0 19 45 00       	mov    $0x4519d0,%edx
43d90e:	33 c0                	xor    %eax,%eax
43d910:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
43d914:	85 c0                	test   %eax,%eax
43d916:	75 02                	jne    0x43d91a
43d918:	33 ff                	xor    %edi,%edi
43d91a:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
43d91f:	74 5d                	je     0x43d97e
43d921:	8d 44 24 10          	lea    0x10(%esp),%eax
43d925:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
43d92c:	00
43d92d:	50                   	push   %eax
43d92e:	8d 44 24 2a          	lea    0x2a(%esp),%eax
43d932:	33 d2                	xor    %edx,%edx
43d934:	50                   	push   %eax
43d935:	68 14 2d 41 00       	push   $0x412d14
43d93a:	b9 48 2d 41 00       	mov    $0x412d48,%ecx
43d93f:	e8 9c 1b 00 00       	call   0x43f4e0
43d944:	8b 4c 24 10          	mov    0x10(%esp),%ecx
43d948:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
43d94c:	89 44 24 28          	mov    %eax,0x28(%esp)
43d950:	85 c9                	test   %ecx,%ecx
43d952:	75 08                	jne    0x43d95c
43d954:	8b 4c 24 20          	mov    0x20(%esp),%ecx
43d958:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
43d95c:	85 c0                	test   %eax,%eax
43d95e:	78 19                	js     0x43d979
43d960:	ff 74 24 0c          	push   0xc(%esp)
43d964:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
43d968:	e8 63 00 00 00       	call   0x43d9d0
43d96d:	8b f0                	mov    %eax,%esi
43d96f:	8b c8                	mov    %eax,%ecx
43d971:	ff 15 84 23 45 00    	call   *0x452384
43d977:	ff d6                	call   *%esi
43d979:	66 8b 74 24 26       	mov    0x26(%esp),%si
43d97e:	85 ff                	test   %edi,%edi
43d980:	74 19                	je     0x43d99b
43d982:	57                   	push   %edi
43d983:	6a 00                	push   $0x0
43d985:	ff 35 00 12 45 00    	push   0x451200
43d98b:	ff 15 18 21 45 00    	call   *0x452118
43d991:	85 c0                	test   %eax,%eax
43d993:	75 06                	jne    0x43d99b
43d995:	ff 15 6c 20 45 00    	call   *0x45206c
43d99b:	f7 44 24 24 00 10 00 	testl  $0x1000,0x24(%esp)
43d9a2:	00
43d9a3:	74 22                	je     0x43d9c7
43d9a5:	66 83 fe ff          	cmp    $0xffff,%si
43d9a9:	74 1c                	je     0x43d9c7
43d9ab:	8b 44 24 18          	mov    0x18(%esp),%eax
43d9af:	0f bf ce             	movswl %si,%ecx
43d9b2:	8d 04 48             	lea    (%eax,%ecx,2),%eax
43d9b5:	50                   	push   %eax
43d9b6:	ff 15 64 21 45 00    	call   *0x452164
43d9bc:	85 c0                	test   %eax,%eax
43d9be:	74 07                	je     0x43d9c7
43d9c0:	50                   	push   %eax
43d9c1:	ff 15 60 21 45 00    	call   *0x452160
43d9c7:	5f                   	pop    %edi
43d9c8:	5e                   	pop    %esi
43d9c9:	8b c3                	mov    %ebx,%eax
43d9cb:	5b                   	pop    %ebx
43d9cc:	8b e5                	mov    %ebp,%esp
43d9ce:	5d                   	pop    %ebp
43d9cf:	c3                   	ret
43d9d0:	8b ff                	mov    %edi,%edi
43d9d2:	55                   	push   %ebp
43d9d3:	8b ec                	mov    %esp,%ebp
43d9d5:	51                   	push   %ecx
43d9d6:	56                   	push   %esi
43d9d7:	8b f1                	mov    %ecx,%esi
43d9d9:	8b 46 14             	mov    0x14(%esi),%eax
43d9dc:	85 c0                	test   %eax,%eax
43d9de:	75 3c                	jne    0x43da1c
43d9e0:	0f bf 56 0c          	movswl 0xc(%esi),%edx
43d9e4:	8b 0e                	mov    (%esi),%ecx
43d9e6:	81 e2 00 08 00 00    	and    $0x800,%edx
43d9ec:	89 45 fc             	mov    %eax,-0x4(%ebp)
43d9ef:	8d 45 fc             	lea    -0x4(%ebp),%eax
43d9f2:	50                   	push   %eax
43d9f3:	8d 46 0e             	lea    0xe(%esi),%eax
43d9f6:	c1 ea 0b             	shr    $0xb,%edx
43d9f9:	50                   	push   %eax
43d9fa:	ff 76 04             	push   0x4(%esi)
43d9fd:	e8 de 1a 00 00       	call   0x43f4e0
43da02:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43da05:	89 4e 14             	mov    %ecx,0x14(%esi)
43da08:	89 46 10             	mov    %eax,0x10(%esi)
43da0b:	85 c9                	test   %ecx,%ecx
43da0d:	75 0b                	jne    0x43da1a
43da0f:	8b 46 08             	mov    0x8(%esi),%eax
43da12:	89 46 14             	mov    %eax,0x14(%esi)
43da15:	5e                   	pop    %esi
43da16:	8b e5                	mov    %ebp,%esp
43da18:	5d                   	pop    %ebp
43da19:	c3                   	ret
43da1a:	8b c1                	mov    %ecx,%eax
43da1c:	5e                   	pop    %esi
43da1d:	8b e5                	mov    %ebp,%esp
43da1f:	5d                   	pop    %ebp
43da20:	c3                   	ret
43da21:	cc                   	int3
43da22:	cc                   	int3
43da23:	cc                   	int3
43da24:	cc                   	int3
43da25:	cc                   	int3
43da26:	cc                   	int3
43da27:	cc                   	int3
43da28:	cc                   	int3
43da29:	cc                   	int3
43da2a:	cc                   	int3
43da2b:	cc                   	int3
43da2c:	cc                   	int3
43da2d:	cc                   	int3
43da2e:	cc                   	int3
43da2f:	cc                   	int3
43da30:	8b ff                	mov    %edi,%edi
43da32:	55                   	push   %ebp
43da33:	8b ec                	mov    %esp,%ebp
43da35:	51                   	push   %ecx
43da36:	8b 15 5c f7 44 00    	mov    0x44f75c,%edx
43da3c:	8d 45 fc             	lea    -0x4(%ebp),%eax
43da3f:	8b 0d 50 f7 44 00    	mov    0x44f750,%ecx
43da45:	81 e2 00 08 00 00    	and    $0x800,%edx
43da4b:	50                   	push   %eax
43da4c:	68 5e f7 44 00       	push   $0x44f75e
43da51:	ff 35 54 f7 44 00    	push   0x44f754
43da57:	c1 ea 0b             	shr    $0xb,%edx
43da5a:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
43da61:	e8 7a 1a 00 00       	call   0x43f4e0
43da66:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43da69:	89 0d 64 f7 44 00    	mov    %ecx,0x44f764
43da6f:	a3 60 f7 44 00       	mov    %eax,0x44f760
43da74:	85 c9                	test   %ecx,%ecx
43da76:	75 0c                	jne    0x43da84
43da78:	8b 0d 58 f7 44 00    	mov    0x44f758,%ecx
43da7e:	89 0d 64 f7 44 00    	mov    %ecx,0x44f764
43da84:	8b e5                	mov    %ebp,%esp
43da86:	5d                   	pop    %ebp
43da87:	c3                   	ret
43da88:	cc                   	int3
43da89:	cc                   	int3
43da8a:	cc                   	int3
43da8b:	cc                   	int3
43da8c:	cc                   	int3
43da8d:	cc                   	int3
43da8e:	cc                   	int3
43da8f:	cc                   	int3
43da90:	8b ff                	mov    %edi,%edi
43da92:	55                   	push   %ebp
43da93:	8b ec                	mov    %esp,%ebp
43da95:	8b 55 08             	mov    0x8(%ebp),%edx
43da98:	8b 01                	mov    (%ecx),%eax
43da9a:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
43daa0:	85 c0                	test   %eax,%eax
43daa2:	75 0c                	jne    0x43dab0
43daa4:	89 42 04             	mov    %eax,0x4(%edx)
43daa7:	89 51 04             	mov    %edx,0x4(%ecx)
43daaa:	89 11                	mov    %edx,(%ecx)
43daac:	5d                   	pop    %ebp
43daad:	c2 04 00             	ret    $0x4
43dab0:	8b 01                	mov    (%ecx),%eax
43dab2:	89 42 04             	mov    %eax,0x4(%edx)
43dab5:	8b 01                	mov    (%ecx),%eax
43dab7:	89 10                	mov    %edx,(%eax)
43dab9:	89 11                	mov    %edx,(%ecx)
43dabb:	5d                   	pop    %ebp
43dabc:	c2 04 00             	ret    $0x4
43dabf:	cc                   	int3
43dac0:	8b ff                	mov    %edi,%edi
43dac2:	55                   	push   %ebp
43dac3:	8b ec                	mov    %esp,%ebp
43dac5:	8b 45 08             	mov    0x8(%ebp),%eax
43dac8:	8b 50 08             	mov    0x8(%eax),%edx
43dacb:	8b 48 04             	mov    0x4(%eax),%ecx
43dace:	83 fa 04             	cmp    $0x4,%edx
43dad1:	74 04                	je     0x43dad7
43dad3:	89 0a                	mov    %ecx,(%edx)
43dad5:	eb 06                	jmp    0x43dadd
43dad7:	89 0d 78 0c 45 00    	mov    %ecx,0x450c78
43dadd:	8b 50 04             	mov    0x4(%eax),%edx
43dae0:	8b 48 08             	mov    0x8(%eax),%ecx
43dae3:	83 fa 04             	cmp    $0x4,%edx
43dae6:	74 15                	je     0x43dafd
43dae8:	89 4a 04             	mov    %ecx,0x4(%edx)
43daeb:	c7 40 08 ff ff ff ff 	movl   $0xffffffff,0x8(%eax)
43daf2:	c7 40 04 ff ff ff ff 	movl   $0xffffffff,0x4(%eax)
43daf9:	5d                   	pop    %ebp
43dafa:	c2 04 00             	ret    $0x4
43dafd:	89 0d 74 0c 45 00    	mov    %ecx,0x450c74
43db03:	c7 40 08 ff ff ff ff 	movl   $0xffffffff,0x8(%eax)
43db0a:	c7 40 04 ff ff ff ff 	movl   $0xffffffff,0x4(%eax)
43db11:	5d                   	pop    %ebp
43db12:	c2 04 00             	ret    $0x4
43db15:	cc                   	int3
43db16:	cc                   	int3
43db17:	cc                   	int3
43db18:	cc                   	int3
43db19:	cc                   	int3
43db1a:	cc                   	int3
43db1b:	cc                   	int3
43db1c:	cc                   	int3
43db1d:	cc                   	int3
43db1e:	cc                   	int3
43db1f:	cc                   	int3
43db20:	6a 78                	push   $0x78
43db22:	ff 15 78 20 45 00    	call   *0x452078
43db28:	33 c0                	xor    %eax,%eax
43db2a:	c2 18 00             	ret    $0x18
43db2d:	cc                   	int3
43db2e:	cc                   	int3
43db2f:	cc                   	int3
43db30:	6a 78                	push   $0x78
43db32:	ff 15 78 20 45 00    	call   *0x452078
43db38:	83 c8 ff             	or     $0xffffffff,%eax
43db3b:	c3                   	ret
43db3c:	cc                   	int3
43db3d:	cc                   	int3
43db3e:	cc                   	int3
43db3f:	cc                   	int3
43db40:	8b 81 20 04 00 00    	mov    0x420(%ecx),%eax
43db46:	83 b8 2c 03 00 00 00 	cmpl   $0x0,0x32c(%eax)
43db4d:	75 15                	jne    0x43db64
43db4f:	83 b8 34 03 00 00 0c 	cmpl   $0xc,0x334(%eax)
43db56:	72 0c                	jb     0x43db64
43db58:	80 b8 38 03 00 00 00 	cmpb   $0x0,0x338(%eax)
43db5f:	75 03                	jne    0x43db64
43db61:	33 c0                	xor    %eax,%eax
43db63:	c3                   	ret
43db64:	b8 01 00 00 00       	mov    $0x1,%eax
43db69:	c3                   	ret
43db6a:	cc                   	int3
43db6b:	cc                   	int3
43db6c:	cc                   	int3
43db6d:	cc                   	int3
43db6e:	cc                   	int3
43db6f:	cc                   	int3
43db70:	8b ff                	mov    %edi,%edi
43db72:	55                   	push   %ebp
43db73:	8b ec                	mov    %esp,%ebp
43db75:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
43db79:	56                   	push   %esi
43db7a:	8b f1                	mov    %ecx,%esi
43db7c:	c7 06 54 12 40 00    	movl   $0x401254,(%esi)
43db82:	74 19                	je     0x43db9d
43db84:	56                   	push   %esi
43db85:	6a 00                	push   $0x0
43db87:	ff 35 00 12 45 00    	push   0x451200
43db8d:	ff 15 18 21 45 00    	call   *0x452118
43db93:	85 c0                	test   %eax,%eax
43db95:	75 06                	jne    0x43db9d
43db97:	ff 15 6c 20 45 00    	call   *0x45206c
43db9d:	8b c6                	mov    %esi,%eax
43db9f:	5e                   	pop    %esi
43dba0:	5d                   	pop    %ebp
43dba1:	c2 04 00             	ret    $0x4
43dba4:	cc                   	int3
43dba5:	cc                   	int3
43dba6:	cc                   	int3
43dba7:	cc                   	int3
43dba8:	cc                   	int3
43dba9:	cc                   	int3
43dbaa:	cc                   	int3
43dbab:	cc                   	int3
43dbac:	cc                   	int3
43dbad:	cc                   	int3
43dbae:	cc                   	int3
43dbaf:	cc                   	int3
43dbb0:	8b ff                	mov    %edi,%edi
43dbb2:	55                   	push   %ebp
43dbb3:	8b ec                	mov    %esp,%ebp
43dbb5:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
43dbb9:	56                   	push   %esi
43dbba:	8b f1                	mov    %ecx,%esi
43dbbc:	c7 06 d4 11 40 00    	movl   $0x4011d4,(%esi)
43dbc2:	74 19                	je     0x43dbdd
43dbc4:	56                   	push   %esi
43dbc5:	6a 00                	push   $0x0
43dbc7:	ff 35 00 12 45 00    	push   0x451200
43dbcd:	ff 15 18 21 45 00    	call   *0x452118
43dbd3:	85 c0                	test   %eax,%eax
43dbd5:	75 06                	jne    0x43dbdd
43dbd7:	ff 15 6c 20 45 00    	call   *0x45206c
43dbdd:	8b c6                	mov    %esi,%eax
43dbdf:	5e                   	pop    %esi
43dbe0:	5d                   	pop    %ebp
43dbe1:	c2 04 00             	ret    $0x4
43dbe4:	cc                   	int3
43dbe5:	cc                   	int3
43dbe6:	cc                   	int3
43dbe7:	cc                   	int3
43dbe8:	cc                   	int3
43dbe9:	cc                   	int3
43dbea:	cc                   	int3
43dbeb:	cc                   	int3
43dbec:	cc                   	int3
43dbed:	cc                   	int3
43dbee:	cc                   	int3
43dbef:	cc                   	int3
43dbf0:	8b ff                	mov    %edi,%edi
43dbf2:	55                   	push   %ebp
43dbf3:	8b ec                	mov    %esp,%ebp
43dbf5:	56                   	push   %esi
43dbf6:	8b f1                	mov    %ecx,%esi
43dbf8:	ba 04 01 00 00       	mov    $0x104,%edx
43dbfd:	8d 4e 08             	lea    0x8(%esi),%ecx
43dc00:	c7 06 ff ff ff ff    	movl   $0xffffffff,(%esi)
43dc06:	51                   	push   %ecx
43dc07:	ff 75 08             	push   0x8(%ebp)
43dc0a:	c7 46 04 ff ff ff ff 	movl   $0xffffffff,0x4(%esi)
43dc11:	51                   	push   %ecx
43dc12:	e8 99 76 fd ff       	call   0x4152b0
43dc17:	8b c8                	mov    %eax,%ecx
43dc19:	e8 c2 b0 fe ff       	call   0x428ce0
43dc1e:	33 c0                	xor    %eax,%eax
43dc20:	66 89 86 14 02 00 00 	mov    %ax,0x214(%esi)
43dc27:	66 89 86 1c 04 00 00 	mov    %ax,0x41c(%esi)
43dc2e:	66 89 86 24 06 00 00 	mov    %ax,0x624(%esi)
43dc35:	89 86 2c 08 00 00    	mov    %eax,0x82c(%esi)
43dc3b:	89 86 30 08 00 00    	mov    %eax,0x830(%esi)
43dc41:	e8 ba f7 fe ff       	call   0x42d400
43dc46:	05 a0 86 01 00       	add    $0x186a0,%eax
43dc4b:	89 86 10 02 00 00    	mov    %eax,0x210(%esi)
43dc51:	8b c6                	mov    %esi,%eax
43dc53:	5e                   	pop    %esi
43dc54:	5d                   	pop    %ebp
43dc55:	c2 04 00             	ret    $0x4