43e94e:	8b c6                	mov    %esi,%eax
43e950:	f7 d8                	neg    %eax
43e952:	1b c0                	sbb    %eax,%eax
43e954:	25 a9 ff f8 7f       	and    $0x7ff8ffa9,%eax
43e959:	05 57 00 07 80       	add    $0x80070057,%eax
43e95e:	85 f6                	test   %esi,%esi
43e960:	74 10                	je     0x43e972
43e962:	51                   	push   %ecx
43e963:	8d 85 48 fb ff ff    	lea    -0x4b8(%ebp),%eax
43e969:	8b d6                	mov    %esi,%edx
43e96b:	50                   	push   %eax
43e96c:	51                   	push   %ecx
43e96d:	e8 3e 69 fd ff       	call   0x4152b0
43e972:	8b c8                	mov    %eax,%ecx
43e974:	e8 67 a3 fe ff       	call   0x428ce0
43e979:	85 c0                	test   %eax,%eax
43e97b:	0f 88 a0 00 00 00    	js     0x43ea21
43e981:	6a 06                	push   $0x6
43e983:	ff 15 e4 21 45 00    	call   *0x4521e4
43e989:	6a 0a                	push   $0xa
43e98b:	ff 15 e4 21 45 00    	call   *0x4521e4
43e991:	53                   	push   %ebx
43e992:	5b                   	pop    %ebx
43e993:	90                   	nop
43e994:	53                   	push   %ebx
43e995:	5b                   	pop    %ebx
43e996:	90                   	nop
43e997:	6a 01                	push   $0x1
43e999:	68 f0 e1 43 00       	push   $0x43e1f0
43e99e:	ff 15 44 20 45 00    	call   *0x452044
43e9a4:	a3 a4 12 45 00       	mov    %eax,0x4512a4
43e9a9:	b8 01 00 00 00       	mov    $0x1,%eax
43e9ae:	5f                   	pop    %edi
43e9af:	5e                   	pop    %esi
43e9b0:	5b                   	pop    %ebx
43e9b1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43e9b4:	33 cd                	xor    %ebp,%ecx
43e9b6:	e8 95 e5 00 00       	call   0x44cf50
43e9bb:	8b e5                	mov    %ebp,%esp
43e9bd:	5d                   	pop    %ebp
43e9be:	c3                   	ret
43e9bf:	e8 2c f3 ff ff       	call   0x43dcf0
43e9c4:	83 c0 10             	add    $0x10,%eax
43e9c7:	74 11                	je     0x43e9da
43e9c9:	e8 22 f3 ff ff       	call   0x43dcf0
43e9ce:	83 c0 14             	add    $0x14,%eax
43e9d1:	c7 40 04 e2 00 00 00 	movl   $0xe2,0x4(%eax)
43e9d8:	eb 28                	jmp    0x43ea02
43e9da:	33 c0                	xor    %eax,%eax
43e9dc:	c7 40 04 e2 00 00 00 	movl   $0xe2,0x4(%eax)
43e9e3:	eb 1d                	jmp    0x43ea02
43e9e5:	e8 06 f3 ff ff       	call   0x43dcf0
43e9ea:	83 c0 10             	add    $0x10,%eax
43e9ed:	74 0a                	je     0x43e9f9
43e9ef:	e8 fc f2 ff ff       	call   0x43dcf0
43e9f4:	83 c0 14             	add    $0x14,%eax
43e9f7:	eb 02                	jmp    0x43e9fb
43e9f9:	33 c0                	xor    %eax,%eax
43e9fb:	c7 40 04 e6 00 00 00 	movl   $0xe6,0x4(%eax)
43ea02:	c7 40 08 0d fc ff ff 	movl   $0xfffffc0d,0x8(%eax)
43ea09:	81 3d 30 1a 45 00 0d 	cmpl   $0xfffffc0d,0x451a30
43ea10:	fc ff ff
43ea13:	c7 00 20 2f 41 00    	movl   $0x412f20,(%eax)
43ea19:	75 06                	jne    0x43ea21
43ea1b:	ff 15 58 20 45 00    	call   *0x452058
43ea21:	e8 ea f7 ff ff       	call   0x43e210
43ea26:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43ea29:	33 c0                	xor    %eax,%eax
43ea2b:	5f                   	pop    %edi
43ea2c:	5e                   	pop    %esi
43ea2d:	33 cd                	xor    %ebp,%ecx
43ea2f:	5b                   	pop    %ebx
43ea30:	e8 1b e5 00 00       	call   0x44cf50
43ea35:	8b e5                	mov    %ebp,%esp
43ea37:	5d                   	pop    %ebp
43ea38:	c3                   	ret
43ea39:	cc                   	int3
43ea3a:	cc                   	int3
43ea3b:	cc                   	int3
43ea3c:	cc                   	int3
43ea3d:	cc                   	int3
43ea3e:	cc                   	int3
43ea3f:	cc                   	int3
43ea40:	8b ff                	mov    %edi,%edi
43ea42:	55                   	push   %ebp
43ea43:	8b ec                	mov    %esp,%ebp
43ea45:	83 ec 14             	sub    $0x14,%esp
43ea48:	8b d1                	mov    %ecx,%edx
43ea4a:	56                   	push   %esi
43ea4b:	80 fa 01             	cmp    $0x1,%dl
43ea4e:	74 05                	je     0x43ea55
43ea50:	80 fa 02             	cmp    $0x2,%dl
43ea53:	75 7d                	jne    0x43ead2
43ea55:	83 3d 64 f0 44 00 00 	cmpl   $0x0,0x44f064
43ea5c:	74 56                	je     0x43eab4
43ea5e:	a0 68 f0 44 00       	mov    0x44f068,%al
43ea63:	3c 04                	cmp    $0x4,%al
43ea65:	73 04                	jae    0x43ea6b
43ea67:	84 c0                	test   %al,%al
43ea69:	75 49                	jne    0x43eab4
43ea6b:	a1 50 f0 44 00       	mov    0x44f050,%eax
43ea70:	25 00 08 00 00       	and    $0x800,%eax
43ea75:	83 c8 00             	or     $0x0,%eax
43ea78:	74 3a                	je     0x43eab4
43ea7a:	a1 58 f0 44 00       	mov    0x44f058,%eax
43ea7f:	33 f6                	xor    %esi,%esi
43ea81:	25 00 08 00 00       	and    $0x800,%eax
43ea86:	3b 05 58 f0 44 00    	cmp    0x44f058,%eax
43ea8c:	75 26                	jne    0x43eab4
43ea8e:	3b 35 5c f0 44 00    	cmp    0x44f05c,%esi
43ea94:	75 1e                	jne    0x43eab4
43ea96:	39 35 04 15 45 00    	cmp    %esi,0x451504
43ea9c:	75 2f                	jne    0x43eacd
43ea9e:	b9 01 00 00 00       	mov    $0x1,%ecx
43eaa3:	be 04 15 45 00       	mov    $0x451504,%esi
43eaa8:	33 c0                	xor    %eax,%eax
43eaaa:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
43eaae:	85 c0                	test   %eax,%eax
43eab0:	75 1b                	jne    0x43eacd
43eab2:	eb 1e                	jmp    0x43ead2
43eab4:	83 3d 04 15 45 00 00 	cmpl   $0x0,0x451504
43eabb:	74 10                	je     0x43eacd
43eabd:	33 c9                	xor    %ecx,%ecx
43eabf:	be 04 15 45 00       	mov    $0x451504,%esi
43eac4:	b8 01 00 00 00       	mov    $0x1,%eax
43eac9:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
43eacd:	80 fa 02             	cmp    $0x2,%dl
43ead0:	75 5b                	jne    0x43eb2d
43ead2:	83 3d 6c 1a 45 00 00 	cmpl   $0x0,0x451a6c
43ead9:	a1 f4 19 45 00       	mov    0x4519f4,%eax
43eade:	89 45 f8             	mov    %eax,-0x8(%ebp)
43eae1:	a1 f0 19 45 00       	mov    0x4519f0,%eax
43eae6:	89 45 f4             	mov    %eax,-0xc(%ebp)
43eae9:	a1 ec 19 45 00       	mov    0x4519ec,%eax
43eaee:	89 45 f0             	mov    %eax,-0x10(%ebp)
43eaf1:	a1 e8 19 45 00       	mov    0x4519e8,%eax
43eaf6:	89 45 ec             	mov    %eax,-0x14(%ebp)
43eaf9:	88 55 fc             	mov    %dl,-0x4(%ebp)
43eafc:	75 2f                	jne    0x43eb2d
43eafe:	83 3d 64 f0 44 00 01 	cmpl   $0x1,0x44f064
43eb05:	75 26                	jne    0x43eb2d
43eb07:	ff 35 ac 12 45 00    	push   0x4512ac
43eb0d:	8d 45 f8             	lea    -0x8(%ebp),%eax
43eb10:	50                   	push   %eax
43eb11:	8d 45 f4             	lea    -0xc(%ebp),%eax
43eb14:	50                   	push   %eax
43eb15:	8d 45 f0             	lea    -0x10(%ebp),%eax
43eb18:	50                   	push   %eax
43eb19:	8d 45 ec             	lea    -0x14(%ebp),%eax
43eb1c:	50                   	push   %eax
43eb1d:	8d 45 fc             	lea    -0x4(%ebp),%eax
43eb20:	50                   	push   %eax
43eb21:	6a 06                	push   $0x6
43eb23:	6a 37                	push   $0x37
43eb25:	e8 46 88 00 00       	call   0x447370
43eb2a:	83 c4 20             	add    $0x20,%esp
43eb2d:	5e                   	pop    %esi
43eb2e:	8b e5                	mov    %ebp,%esp
43eb30:	5d                   	pop    %ebp
43eb31:	c3                   	ret
43eb32:	cc                   	int3
43eb33:	cc                   	int3
43eb34:	cc                   	int3
43eb35:	cc                   	int3
43eb36:	cc                   	int3
43eb37:	cc                   	int3
43eb38:	cc                   	int3
43eb39:	cc                   	int3
43eb3a:	cc                   	int3
43eb3b:	cc                   	int3
43eb3c:	cc                   	int3
43eb3d:	cc                   	int3
43eb3e:	cc                   	int3
43eb3f:	cc                   	int3
43eb40:	8b ff                	mov    %edi,%edi
43eb42:	55                   	push   %ebp
43eb43:	8b ec                	mov    %esp,%ebp
43eb45:	83 ec 5c             	sub    $0x5c,%esp
43eb48:	53                   	push   %ebx
43eb49:	56                   	push   %esi
43eb4a:	b8 03 90 ff ff       	mov    $0xffff9003,%eax
43eb4f:	c7 45 f0 04 00 00 00 	movl   $0x4,-0x10(%ebp)
43eb56:	57                   	push   %edi
43eb57:	66 89 45 b0          	mov    %ax,-0x50(%ebp)
43eb5b:	33 db                	xor    %ebx,%ebx
43eb5d:	66 89 45 e0          	mov    %ax,-0x20(%ebp)
43eb61:	83 ce ff             	or     $0xffffffff,%esi
43eb64:	66 89 45 c8          	mov    %ax,-0x38(%ebp)
43eb68:	33 d2                	xor    %edx,%edx
43eb6a:	8d 45 f8             	lea    -0x8(%ebp),%eax
43eb6d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
43eb70:	50                   	push   %eax
43eb71:	8d 45 b2             	lea    -0x4e(%ebp),%eax
43eb74:	89 5d f4             	mov    %ebx,-0xc(%ebp)
43eb77:	50                   	push   %eax
43eb78:	68 cc 2f 41 00       	push   $0x412fcc
43eb7d:	b9 10 31 41 00       	mov    $0x413110,%ecx
43eb82:	89 5d ec             	mov    %ebx,-0x14(%ebp)
43eb85:	c7 45 a4 10 31 41 00 	movl   $0x413110,-0x5c(%ebp)
43eb8c:	c7 45 ac f0 ed 43 00 	movl   $0x43edf0,-0x54(%ebp)
43eb93:	66 89 75 b2          	mov    %si,-0x4e(%ebp)
43eb97:	c7 45 d4 10 31 41 00 	movl   $0x413110,-0x2c(%ebp)
43eb9e:	c7 45 dc 00 ee 43 00 	movl   $0x43ee00,-0x24(%ebp)
43eba5:	66 89 75 e2          	mov    %si,-0x1e(%ebp)
43eba9:	c7 45 bc 10 31 41 00 	movl   $0x413110,-0x44(%ebp)
43ebb0:	c7 45 c4 10 ee 43 00 	movl   $0x43ee10,-0x3c(%ebp)
43ebb7:	66 89 75 ca          	mov    %si,-0x36(%ebp)
43ebbb:	89 5d f8             	mov    %ebx,-0x8(%ebp)
43ebbe:	e8 1d 09 00 00       	call   0x43f4e0
43ebc3:	8b 7d f8             	mov    -0x8(%ebp),%edi
43ebc6:	85 ff                	test   %edi,%edi
43ebc8:	75 03                	jne    0x43ebcd
43ebca:	8b 7d ac             	mov    -0x54(%ebp),%edi
43ebcd:	8d 45 fc             	lea    -0x4(%ebp),%eax
43ebd0:	8b cf                	mov    %edi,%ecx
43ebd2:	50                   	push   %eax
43ebd3:	68 19 00 02 00       	push   $0x20019
43ebd8:	6a 00                	push   $0x0
43ebda:	68 ac 31 41 00       	push   $0x4131ac
43ebdf:	68 02 00 00 80       	push   $0x80000002
43ebe4:	ff 15 84 23 45 00    	call   *0x452384
43ebea:	ff d7                	call   *%edi
43ebec:	85 c0                	test   %eax,%eax
43ebee:	75 62                	jne    0x43ec52
43ebf0:	8d 45 f8             	lea    -0x8(%ebp),%eax
43ebf3:	89 5d f8             	mov    %ebx,-0x8(%ebp)
43ebf6:	50                   	push   %eax
43ebf7:	8d 45 e2             	lea    -0x1e(%ebp),%eax
43ebfa:	33 d2                	xor    %edx,%edx
43ebfc:	50                   	push   %eax
43ebfd:	68 dc 2f 41 00       	push   $0x412fdc
43ec02:	b9 10 31 41 00       	mov    $0x413110,%ecx
43ec07:	e8 d4 08 00 00       	call   0x43f4e0
43ec0c:	8b 75 f8             	mov    -0x8(%ebp),%esi
43ec0f:	85 f6                	test   %esi,%esi
43ec11:	75 03                	jne    0x43ec16
43ec13:	8b 75 dc             	mov    -0x24(%ebp),%esi
43ec16:	8d 45 f0             	lea    -0x10(%ebp),%eax
43ec19:	8b ce                	mov    %esi,%ecx
43ec1b:	50                   	push   %eax
43ec1c:	8d 45 ec             	lea    -0x14(%ebp),%eax
43ec1f:	50                   	push   %eax
43ec20:	8d 45 f4             	lea    -0xc(%ebp),%eax
43ec23:	50                   	push   %eax
43ec24:	6a 00                	push   $0x0
43ec26:	68 80 31 41 00       	push   $0x413180
43ec2b:	ff 75 fc             	push   -0x4(%ebp)
43ec2e:	ff 15 84 23 45 00    	call   *0x452384
43ec34:	ff d6                	call   *%esi
43ec36:	85 c0                	test   %eax,%eax
43ec38:	75 14                	jne    0x43ec4e
43ec3a:	83 7d f4 04          	cmpl   $0x4,-0xc(%ebp)
43ec3e:	75 0e                	jne    0x43ec4e
43ec40:	83 7d f0 04          	cmpl   $0x4,-0x10(%ebp)
43ec44:	75 08                	jne    0x43ec4e
43ec46:	33 db                	xor    %ebx,%ebx
43ec48:	39 5d ec             	cmp    %ebx,-0x14(%ebp)
43ec4b:	0f 95 c3             	setne  %bl
43ec4e:	66 8b 75 e2          	mov    -0x1e(%ebp),%si
43ec52:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
43ec56:	74 37                	je     0x43ec8f
43ec58:	8d 45 f8             	lea    -0x8(%ebp),%eax
43ec5b:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
43ec62:	50                   	push   %eax
43ec63:	8d 45 ca             	lea    -0x36(%ebp),%eax
43ec66:	33 d2                	xor    %edx,%edx
43ec68:	50                   	push   %eax
43ec69:	68 f0 2f 41 00       	push   $0x412ff0
43ec6e:	b9 10 31 41 00       	mov    $0x413110,%ecx
43ec73:	e8 68 08 00 00       	call   0x43f4e0
43ec78:	8b 7d f8             	mov    -0x8(%ebp),%edi
43ec7b:	85 ff                	test   %edi,%edi
43ec7d:	75 03                	jne    0x43ec82
43ec7f:	8b 7d c4             	mov    -0x3c(%ebp),%edi
43ec82:	ff 75 fc             	push   -0x4(%ebp)
43ec85:	8b cf                	mov    %edi,%ecx
43ec87:	ff 15 84 23 45 00    	call   *0x452384
43ec8d:	ff d7                	call   *%edi
43ec8f:	f7 45 c8 00 10 00 00 	testl  $0x1000,-0x38(%ebp)
43ec96:	74 23                	je     0x43ecbb
43ec98:	66 8b 45 ca          	mov    -0x36(%ebp),%ax
43ec9c:	66 83 f8 ff          	cmp    $0xffff,%ax
43eca0:	74 19                	je     0x43ecbb
43eca2:	8b 4d bc             	mov    -0x44(%ebp),%ecx
43eca5:	98                   	cwtl
43eca6:	8d 04 41             	lea    (%ecx,%eax,2),%eax
43eca9:	50                   	push   %eax
43ecaa:	ff 15 64 21 45 00    	call   *0x452164
43ecb0:	85 c0                	test   %eax,%eax
43ecb2:	74 07                	je     0x43ecbb
43ecb4:	50                   	push   %eax
43ecb5:	ff 15 60 21 45 00    	call   *0x452160
43ecbb:	f7 45 e0 00 10 00 00 	testl  $0x1000,-0x20(%ebp)
43ecc2:	74 21                	je     0x43ece5
43ecc4:	66 83 fe ff          	cmp    $0xffff,%si
43ecc8:	74 1b                	je     0x43ece5
43ecca:	8b 45 d4             	mov    -0x2c(%ebp),%eax
43eccd:	0f bf ce             	movswl %si,%ecx
43ecd0:	8d 04 48             	lea    (%eax,%ecx,2),%eax
43ecd3:	50                   	push   %eax
43ecd4:	ff 15 64 21 45 00    	call   *0x452164
43ecda:	85 c0                	test   %eax,%eax
43ecdc:	74 07                	je     0x43ece5
43ecde:	50                   	push   %eax
43ecdf:	ff 15 60 21 45 00    	call   *0x452160
43ece5:	f7 45 b0 00 10 00 00 	testl  $0x1000,-0x50(%ebp)
43ecec:	74 25                	je     0x43ed13
43ecee:	66 8b 45 b2          	mov    -0x4e(%ebp),%ax
43ecf2:	66 83 f8 ff          	cmp    $0xffff,%ax
43ecf6:	74 1b                	je     0x43ed13
43ecf8:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
43ecfb:	0f bf d0             	movswl %ax,%edx
43ecfe:	8d 0c 51             	lea    (%ecx,%edx,2),%ecx
43ed01:	51                   	push   %ecx
43ed02:	ff 15 64 21 45 00    	call   *0x452164
43ed08:	85 c0                	test   %eax,%eax
43ed0a:	74 07                	je     0x43ed13
43ed0c:	50                   	push   %eax
43ed0d:	ff 15 60 21 45 00    	call   *0x452160
43ed13:	5f                   	pop    %edi
43ed14:	5e                   	pop    %esi
43ed15:	8b c3                	mov    %ebx,%eax
43ed17:	5b                   	pop    %ebx
43ed18:	8b e5                	mov    %ebp,%esp
43ed1a:	5d                   	pop    %ebp
43ed1b:	c3                   	ret
43ed1c:	cc                   	int3
43ed1d:	cc                   	int3
43ed1e:	cc                   	int3
43ed1f:	cc                   	int3
43ed20:	8b ff                	mov    %edi,%edi
43ed22:	55                   	push   %ebp
43ed23:	8b ec                	mov    %esp,%ebp
43ed25:	83 ec 24             	sub    $0x24,%esp
43ed28:	83 3d fc 1c 45 00 00 	cmpl   $0x0,0x451cfc
43ed2f:	56                   	push   %esi
43ed30:	0f 85 ab 00 00 00    	jne    0x43ede1
43ed36:	b8 20 90 ff ff       	mov    $0xffff9020,%eax
43ed3b:	c7 45 e0 c0 30 41 00 	movl   $0x4130c0,-0x20(%ebp)
43ed42:	66 89 45 ec          	mov    %ax,-0x14(%ebp)
43ed46:	33 d2                	xor    %edx,%edx
43ed48:	83 c8 ff             	or     $0xffffffff,%eax
43ed4b:	c7 45 e8 20 ee 43 00 	movl   $0x43ee20,-0x18(%ebp)
43ed52:	66 89 45 ee          	mov    %ax,-0x12(%ebp)
43ed56:	b9 c0 30 41 00       	mov    $0x4130c0,%ecx
43ed5b:	8d 45 fc             	lea    -0x4(%ebp),%eax
43ed5e:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
43ed65:	50                   	push   %eax
43ed66:	8d 45 ee             	lea    -0x12(%ebp),%eax
43ed69:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)