43dc5c:	3b c3                	cmp    %ebx,%eax
43dc5e:	74 10                	je     0x43dc70
43dc60:	50                   	push   %eax
43dc61:	ff d7                	call   *%edi
43dc63:	85 c0                	test   %eax,%eax
43dc65:	75 09                	jne    0x43dc70
43dc67:	ff 76 54             	push   0x54(%esi)
43dc6a:	e8 2e 2d ff ff       	call   0x43099d
43dc6f:	59                   	pop    %ecx
43dc70:	8b 46 68             	mov    0x68(%esi),%eax
43dc73:	89 5e 54             	mov    %ebx,0x54(%esi)
43dc76:	89 5e 4c             	mov    %ebx,0x4c(%esi)
43dc79:	89 5e 50             	mov    %ebx,0x50(%esi)
43dc7c:	89 5e 48             	mov    %ebx,0x48(%esi)
43dc7f:	5f                   	pop    %edi
43dc80:	5b                   	pop    %ebx
43dc81:	c9                   	leave
43dc82:	c3                   	ret
43dc83:	8b ff                	mov    %edi,%edi
43dc85:	55                   	push   %ebp
43dc86:	8b ec                	mov    %esp,%ebp
43dc88:	81 ec b4 00 00 00    	sub    $0xb4,%esp
43dc8e:	a1 a8 f6 46 00       	mov    0x46f6a8,%eax
43dc93:	33 c5                	xor    %ebp,%eax
43dc95:	89 45 fc             	mov    %eax,-0x4(%ebp)
43dc98:	8b 45 0c             	mov    0xc(%ebp),%eax
43dc9b:	53                   	push   %ebx
43dc9c:	56                   	push   %esi
43dc9d:	8b 75 08             	mov    0x8(%ebp),%esi
43dca0:	57                   	push   %edi
43dca1:	8b 7d 14             	mov    0x14(%ebp),%edi
43dca4:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
43dcaa:	8b 45 18             	mov    0x18(%ebp),%eax
43dcad:	89 bd 5c ff ff ff    	mov    %edi,-0xa4(%ebp)
43dcb3:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
43dcb9:	e8 6a 69 ff ff       	call   0x434628
43dcbe:	8d 88 c4 00 00 00    	lea    0xc4(%eax),%ecx
43dcc4:	89 8d 54 ff ff ff    	mov    %ecx,-0xac(%ebp)
43dcca:	8d 88 c8 00 00 00    	lea    0xc8(%eax),%ecx
43dcd0:	8d 98 bc 00 00 00    	lea    0xbc(%eax),%ebx
43dcd6:	05 4b 01 00 00       	add    $0x14b,%eax
43dcdb:	89 8d 58 ff ff ff    	mov    %ecx,-0xa8(%ebp)
43dce1:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
43dce7:	85 f6                	test   %esi,%esi
43dce9:	0f 84 a4 01 00 00    	je     0x43de93
43dcef:	83 bd 64 ff ff ff 00 	cmpl   $0x0,-0x9c(%ebp)
43dcf6:	0f 84 97 01 00 00    	je     0x43de93
43dcfc:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
43dd00:	0f 84 8d 01 00 00    	je     0x43de93
43dd06:	80 3e 43             	cmpb   $0x43,(%esi)
43dd09:	75 53                	jne    0x43dd5e
43dd0b:	80 7e 01 00          	cmpb   $0x0,0x1(%esi)
43dd0f:	75 4d                	jne    0x43dd5e
43dd11:	68 30 9c 46 00       	push   $0x469c30
43dd16:	ff 75 10             	push   0x10(%ebp)
43dd19:	ff b5 64 ff ff ff    	push   -0x9c(%ebp)
43dd1f:	e8 f0 3e 00 00       	call   0x441c14
43dd24:	83 c4 0c             	add    $0xc,%esp
43dd27:	85 c0                	test   %eax,%eax
43dd29:	75 27                	jne    0x43dd52
43dd2b:	85 ff                	test   %edi,%edi
43dd2d:	74 0b                	je     0x43dd3a
43dd2f:	66 89 07             	mov    %ax,(%edi)
43dd32:	66 89 47 02          	mov    %ax,0x2(%edi)
43dd36:	66 89 47 04          	mov    %ax,0x4(%edi)
43dd3a:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
43dd40:	85 c0                	test   %eax,%eax
43dd42:	74 03                	je     0x43dd47
43dd44:	83 20 00             	andl   $0x0,(%eax)
43dd47:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
43dd4d:	e9 43 01 00 00       	jmp    0x43de95
43dd52:	33 c0                	xor    %eax,%eax
43dd54:	50                   	push   %eax
43dd55:	50                   	push   %eax
43dd56:	50                   	push   %eax
43dd57:	50                   	push   %eax
43dd58:	50                   	push   %eax
43dd59:	e8 a4 65 ff ff       	call   0x434302
43dd5e:	56                   	push   %esi
43dd5f:	e8 0c d5 ff ff       	call   0x43b270
43dd64:	bf 83 00 00 00       	mov    $0x83,%edi
43dd69:	59                   	pop    %ecx
43dd6a:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
43dd70:	3b c7                	cmp    %edi,%eax
43dd72:	73 2c                	jae    0x43dda0
43dd74:	56                   	push   %esi
43dd75:	ff b5 68 ff ff ff    	push   -0x98(%ebp)
43dd7b:	e8 b0 69 00 00       	call   0x444730
43dd80:	59                   	pop    %ecx
43dd81:	59                   	pop    %ecx
43dd82:	85 c0                	test   %eax,%eax
43dd84:	0f 84 a3 00 00 00    	je     0x43de2d
43dd8a:	56                   	push   %esi
43dd8b:	ff b5 58 ff ff ff    	push   -0xa8(%ebp)
43dd91:	e8 9a 69 00 00       	call   0x444730
43dd96:	59                   	pop    %ecx
43dd97:	59                   	pop    %ecx
43dd98:	85 c0                	test   %eax,%eax
43dd9a:	0f 84 8d 00 00 00    	je     0x43de2d
43dda0:	83 a5 4c ff ff ff 00 	andl   $0x0,-0xb4(%ebp)
43dda7:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
43ddad:	56                   	push   %esi
43ddae:	50                   	push   %eax
43ddaf:	e8 e0 fb ff ff       	call   0x43d994
43ddb4:	59                   	pop    %ecx
43ddb5:	59                   	pop    %ecx
43ddb6:	85 c0                	test   %eax,%eax
43ddb8:	0f 85 d5 00 00 00    	jne    0x43de93
43ddbe:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
43ddc4:	50                   	push   %eax
43ddc5:	53                   	push   %ebx
43ddc6:	50                   	push   %eax
43ddc7:	e8 b9 6f 00 00       	call   0x444d85
43ddcc:	83 c4 0c             	add    $0xc,%esp
43ddcf:	85 c0                	test   %eax,%eax
43ddd1:	0f 84 bc 00 00 00    	je     0x43de93
43ddd7:	0f b7 43 04          	movzwl 0x4(%ebx),%eax
43dddb:	8b 8d 54 ff ff ff    	mov    -0xac(%ebp),%ecx
43dde1:	89 01                	mov    %eax,(%ecx)
43dde3:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
43dde9:	50                   	push   %eax
43ddea:	57                   	push   %edi
43ddeb:	ff b5 68 ff ff ff    	push   -0x98(%ebp)
43ddf1:	e8 bd fc ff ff       	call   0x43dab3
43ddf6:	83 c4 0c             	add    $0xc,%esp
43ddf9:	80 3e 00             	cmpb   $0x0,(%esi)
43ddfc:	74 0a                	je     0x43de08
43ddfe:	8b 85 50 ff ff ff    	mov    -0xb0(%ebp),%eax
43de04:	3b c7                	cmp    %edi,%eax
43de06:	72 0b                	jb     0x43de13
43de08:	8b 85 4c ff ff ff    	mov    -0xb4(%ebp),%eax
43de0e:	be ae c4 45 00       	mov    $0x45c4ae,%esi
43de13:	40                   	inc    %eax
43de14:	50                   	push   %eax
43de15:	56                   	push   %esi
43de16:	57                   	push   %edi
43de17:	ff b5 58 ff ff ff    	push   -0xa8(%ebp)
43de1d:	e8 70 09 00 00       	call   0x43e792
43de22:	83 c4 10             	add    $0x10,%esp
43de25:	85 c0                	test   %eax,%eax
43de27:	0f 85 25 ff ff ff    	jne    0x43dd52
43de2d:	33 f6                	xor    %esi,%esi
43de2f:	39 b5 5c ff ff ff    	cmp    %esi,-0xa4(%ebp)
43de35:	74 11                	je     0x43de48
43de37:	6a 06                	push   $0x6
43de39:	53                   	push   %ebx
43de3a:	ff b5 5c ff ff ff    	push   -0xa4(%ebp)
43de40:	e8 cb 4e ff ff       	call   0x432d10
43de45:	83 c4 0c             	add    $0xc,%esp
43de48:	39 b5 60 ff ff ff    	cmp    %esi,-0xa0(%ebp)
43de4e:	74 16                	je     0x43de66
43de50:	6a 04                	push   $0x4
43de52:	ff b5 54 ff ff ff    	push   -0xac(%ebp)
43de58:	ff b5 60 ff ff ff    	push   -0xa0(%ebp)
43de5e:	e8 ad 4e ff ff       	call   0x432d10
43de63:	83 c4 0c             	add    $0xc,%esp
43de66:	ff b5 68 ff ff ff    	push   -0x98(%ebp)
43de6c:	ff 75 10             	push   0x10(%ebp)
43de6f:	ff b5 64 ff ff ff    	push   -0x9c(%ebp)
43de75:	e8 9a 3d 00 00       	call   0x441c14
43de7a:	83 c4 0c             	add    $0xc,%esp
43de7d:	85 c0                	test   %eax,%eax
43de7f:	75 08                	jne    0x43de89
43de81:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
43de87:	eb 0c                	jmp    0x43de95
43de89:	56                   	push   %esi
43de8a:	56                   	push   %esi
43de8b:	56                   	push   %esi
43de8c:	56                   	push   %esi
43de8d:	56                   	push   %esi
43de8e:	e9 c6 fe ff ff       	jmp    0x43dd59
43de93:	33 c0                	xor    %eax,%eax
43de95:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43de98:	5f                   	pop    %edi
43de99:	5e                   	pop    %esi
43de9a:	33 cd                	xor    %ebp,%ecx
43de9c:	5b                   	pop    %ebx
43de9d:	e8 ef 0a 00 00       	call   0x43e991
43dea2:	c9                   	leave
43dea3:	c3                   	ret
43dea4:	8b ff                	mov    %edi,%edi
43dea6:	55                   	push   %ebp
43dea7:	8b ec                	mov    %esp,%ebp
43dea9:	81 ec c8 01 00 00    	sub    $0x1c8,%esp
43deaf:	a1 a8 f6 46 00       	mov    0x46f6a8,%eax
43deb4:	33 c5                	xor    %ebp,%eax
43deb6:	89 45 fc             	mov    %eax,-0x4(%ebp)
43deb9:	8b 45 08             	mov    0x8(%ebp),%eax
43debc:	53                   	push   %ebx
43debd:	8b d9                	mov    %ecx,%ebx
43debf:	57                   	push   %edi
43dec0:	89 9d 70 fe ff ff    	mov    %ebx,-0x190(%ebp)
43dec6:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
43decc:	e8 57 67 ff ff       	call   0x434628
43ded1:	8b f8                	mov    %eax,%edi
43ded3:	53                   	push   %ebx
43ded4:	8d 85 5c fe ff ff    	lea    -0x1a4(%ebp),%eax
43deda:	50                   	push   %eax
43dedb:	8d 85 50 fe ff ff    	lea    -0x1b0(%ebp),%eax
43dee1:	50                   	push   %eax
43dee2:	68 83 00 00 00       	push   $0x83
43dee7:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
43deed:	50                   	push   %eax
43deee:	ff b5 68 fe ff ff    	push   -0x198(%ebp)
43def4:	e8 8a fd ff ff       	call   0x43dc83
43def9:	83 c4 18             	add    $0x18,%esp
43defc:	85 c0                	test   %eax,%eax
43defe:	75 10                	jne    0x43df10
43df00:	33 c0                	xor    %eax,%eax
43df02:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43df05:	5f                   	pop    %edi
43df06:	33 cd                	xor    %ebp,%ecx
43df08:	5b                   	pop    %ebx
43df09:	e8 83 0a 00 00       	call   0x43e991
43df0e:	c9                   	leave
43df0f:	c3                   	ret
43df10:	c1 e3 04             	shl    $0x4,%ebx
43df13:	03 de                	add    %esi,%ebx
43df15:	ff 73 48             	push   0x48(%ebx)
43df18:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
43df1e:	50                   	push   %eax
43df1f:	e8 0c 68 00 00       	call   0x444730
43df24:	59                   	pop    %ecx
43df25:	59                   	pop    %ecx
43df26:	85 c0                	test   %eax,%eax
43df28:	75 05                	jne    0x43df2f
43df2a:	8b 43 48             	mov    0x48(%ebx),%eax
43df2d:	eb d3                	jmp    0x43df02
43df2f:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
43df35:	50                   	push   %eax
43df36:	e8 35 d3 ff ff       	call   0x43b270
43df3b:	83 c0 05             	add    $0x5,%eax
43df3e:	50                   	push   %eax
43df3f:	89 85 74 fe ff ff    	mov    %eax,-0x18c(%ebp)
43df45:	e8 f1 84 ff ff       	call   0x43643b
43df4a:	59                   	pop    %ecx
43df4b:	59                   	pop    %ecx
43df4c:	89 85 6c fe ff ff    	mov    %eax,-0x194(%ebp)
43df52:	85 c0                	test   %eax,%eax
43df54:	74 aa                	je     0x43df00
43df56:	8b 43 48             	mov    0x48(%ebx),%eax
43df59:	8b 8d 70 fe ff ff    	mov    -0x190(%ebp),%ecx
43df5f:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
43df65:	8d 44 8e 0c          	lea    0xc(%esi,%ecx,4),%eax
43df69:	89 85 58 fe ff ff    	mov    %eax,-0x1a8(%ebp)
43df6f:	8b 00                	mov    (%eax),%eax
43df71:	89 85 48 fe ff ff    	mov    %eax,-0x1b8(%ebp)
43df77:	8d 41 06             	lea    0x6(%ecx),%eax
43df7a:	6b c0 06             	imul   $0x6,%eax,%eax
43df7d:	03 c6                	add    %esi,%eax
43df7f:	6a 06                	push   $0x6
43df81:	50                   	push   %eax
43df82:	89 85 64 fe ff ff    	mov    %eax,-0x19c(%ebp)
43df88:	8d 85 38 fe ff ff    	lea    -0x1c8(%ebp),%eax
43df8e:	50                   	push   %eax
43df8f:	e8 7c 4d ff ff       	call   0x432d10
43df94:	8b 46 04             	mov    0x4(%esi),%eax
43df97:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
43df9d:	51                   	push   %ecx
43df9e:	8b 8d 74 fe ff ff    	mov    -0x18c(%ebp),%ecx
43dfa4:	89 85 4c fe ff ff    	mov    %eax,-0x1b4(%ebp)
43dfaa:	8b 85 6c fe ff ff    	mov    -0x194(%ebp),%eax
43dfb0:	83 c1 fc             	add    $0xfffffffc,%ecx
43dfb3:	83 c0 04             	add    $0x4,%eax
43dfb6:	51                   	push   %ecx
43dfb7:	50                   	push   %eax
43dfb8:	e8 57 3c 00 00       	call   0x441c14
43dfbd:	83 c4 18             	add    $0x18,%esp
43dfc0:	85 c0                	test   %eax,%eax
43dfc2:	0f 85 09 02 00 00    	jne    0x43e1d1
43dfc8:	8b 85 6c fe ff ff    	mov    -0x194(%ebp),%eax
43dfce:	8b 8d 58 fe ff ff    	mov    -0x1a8(%ebp),%ecx
43dfd4:	83 c0 04             	add    $0x4,%eax
43dfd7:	89 43 48             	mov    %eax,0x48(%ebx)
43dfda:	0f b7 85 50 fe ff ff 	movzwl -0x1b0(%ebp),%eax
43dfe1:	89 01                	mov    %eax,(%ecx)
43dfe3:	6a 06                	push   $0x6
43dfe5:	8d 85 50 fe ff ff    	lea    -0x1b0(%ebp),%eax
43dfeb:	50                   	push   %eax
43dfec:	ff b5 64 fe ff ff    	push   -0x19c(%ebp)
43dff2:	e8 19 4d ff ff       	call   0x432d10
43dff7:	83 c4 0c             	add    $0xc,%esp
43dffa:	83 bd 70 fe ff ff 02 	cmpl   $0x2,-0x190(%ebp)
43e001:	0f 85 19 01 00 00    	jne    0x43e120
43e007:	8b 85 5c fe ff ff    	mov    -0x1a4(%ebp),%eax
43e00d:	83 a5 74 fe ff ff 00 	andl   $0x0,-0x18c(%ebp)
43e014:	89 46 04             	mov    %eax,0x4(%esi)
43e017:	8b 87 f4 01 00 00    	mov    0x1f4(%edi),%eax
43e01d:	8b 8f f0 01 00 00    	mov    0x1f0(%edi),%ecx
43e023:	89 85 64 fe ff ff    	mov    %eax,-0x19c(%ebp)
43e029:	8d 87 d0 01 00 00    	lea    0x1d0(%edi),%eax
43e02f:	8b 56 04             	mov    0x4(%esi),%edx
43e032:	3b 10                	cmp    (%eax),%edx
43e034:	74 36                	je     0x43e06c
43e036:	8b 10                	mov    (%eax),%edx
43e038:	ff 85 74 fe ff ff    	incl   -0x18c(%ebp)
43e03e:	89 08                	mov    %ecx,(%eax)
43e040:	8b 8d 64 fe ff ff    	mov    -0x19c(%ebp),%ecx
43e046:	89 95 40 fe ff ff    	mov    %edx,-0x1c0(%ebp)
43e04c:	8b 50 04             	mov    0x4(%eax),%edx
43e04f:	89 48 04             	mov    %ecx,0x4(%eax)
43e052:	8b 8d 40 fe ff ff    	mov    -0x1c0(%ebp),%ecx
43e058:	83 c0 08             	add    $0x8,%eax
43e05b:	83 bd 74 fe ff ff 05 	cmpl   $0x5,-0x18c(%ebp)
43e062:	89 95 64 fe ff ff    	mov    %edx,-0x19c(%ebp)
43e068:	7c c5                	jl     0x43e02f
43e06a:	eb 2d                	jmp    0x43e099
43e06c:	8b 85 74 fe ff ff    	mov    -0x18c(%ebp),%eax
43e072:	85 c0                	test   %eax,%eax
43e074:	74 23                	je     0x43e099
43e076:	8d 84 c7 d0 01 00 00 	lea    0x1d0(%edi,%eax,8),%eax
43e07d:	8b 10                	mov    (%eax),%edx
43e07f:	89 97 d0 01 00 00    	mov    %edx,0x1d0(%edi)
43e085:	8b 50 04             	mov    0x4(%eax),%edx
43e088:	89 97 d4 01 00 00    	mov    %edx,0x1d4(%edi)
43e08e:	89 08                	mov    %ecx,(%eax)
43e090:	8b 8d 64 fe ff ff    	mov    -0x19c(%ebp),%ecx
43e096:	89 48 04             	mov    %ecx,0x4(%eax)
43e099:	83 bd 74 fe ff ff 05 	cmpl   $0x5,-0x18c(%ebp)
43e0a0:	75 72                	jne    0x43e114
43e0a2:	6a 01                	push   $0x1
43e0a4:	ff 76 14             	push   0x14(%esi)
43e0a7:	8d 85 78 fe ff ff    	lea    -0x188(%ebp),%eax
43e0ad:	ff 76 04             	push   0x4(%esi)
43e0b0:	50                   	push   %eax
43e0b1:	6a 7f                	push   $0x7f
43e0b3:	68 a0 9b 46 00       	push   $0x469ba0
43e0b8:	6a 01                	push   $0x1
43e0ba:	6a 00                	push   $0x0
43e0bc:	e8 41 43 00 00       	call   0x442402
43e0c1:	83 c4 20             	add    $0x20,%esp
43e0c4:	85 c0                	test   %eax,%eax
43e0c6:	74 3c                	je     0x43e104
43e0c8:	33 c0                	xor    %eax,%eax
43e0ca:	b9 ff 01 00 00       	mov    $0x1ff,%ecx
43e0cf:	66 21 8c 45 78 fe ff 	and    %cx,-0x188(%ebp,%eax,2)
43e0d6:	ff
43e0d7:	40                   	inc    %eax
43e0d8:	83 f8 7f             	cmp    $0x7f,%eax
43e0db:	72 ed                	jb     0x43e0ca
43e0dd:	68 fe 00 00 00       	push   $0xfe
43e0e2:	ff 35 40 fe 46 00    	push   0x46fe40
43e0e8:	8d 85 78 fe ff ff    	lea    -0x188(%ebp),%eax
43e0ee:	50                   	push   %eax
43e0ef:	e8 9c 83 00 00       	call   0x446490
43e0f4:	83 c4 0c             	add    $0xc,%esp
43e0f7:	f7 d8                	neg    %eax
43e0f9:	1b c0                	sbb    %eax,%eax
43e0fb:	40                   	inc    %eax
43e0fc:	89 87 d4 01 00 00    	mov    %eax,0x1d4(%edi)