43dc52:	33 d2                	xor    %edx,%edx
43dc54:	33 c0                	xor    %eax,%eax
43dc56:	3b c3                	cmp    %ebx,%eax
43dc58:	1b c0                	sbb    %eax,%eax
43dc5a:	f7 d8                	neg    %eax
43dc5c:	03 45 34             	add    0x34(%ebp),%eax
43dc5f:	03 c2                	add    %edx,%eax
43dc61:	8a 55 8b             	mov    -0x75(%ebp),%dl
43dc64:	03 c8                	add    %eax,%ecx
43dc66:	eb 15                	jmp    0x43dc7d
43dc68:	03 4d e8             	add    -0x18(%ebp),%ecx
43dc6b:	eb 10                	jmp    0x43dc7d
43dc6d:	03 4d b8             	add    -0x48(%ebp),%ecx
43dc70:	eb 0b                	jmp    0x43dc7d
43dc72:	41                   	inc    %ecx
43dc73:	83 fe 03             	cmp    $0x3,%esi
43dc76:	74 05                	je     0x43dc7d
43dc78:	b2 01                	mov    $0x1,%dl
43dc7a:	88 55 8b             	mov    %dl,-0x75(%ebp)
43dc7d:	46                   	inc    %esi
43dc7e:	83 fe 04             	cmp    $0x4,%esi
43dc81:	72 9e                	jb     0x43dc21
43dc83:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
43dc87:	7c 13                	jl     0x43dc9c
43dc89:	7f 06                	jg     0x43dc91
43dc8b:	83 7f 20 00          	cmpl   $0x0,0x20(%edi)
43dc8f:	76 0b                	jbe    0x43dc9c
43dc91:	8b 7f 20             	mov    0x20(%edi),%edi
43dc94:	3b f9                	cmp    %ecx,%edi
43dc96:	76 04                	jbe    0x43dc9c
43dc98:	2b f9                	sub    %ecx,%edi
43dc9a:	eb 02                	jmp    0x43dc9e
43dc9c:	33 ff                	xor    %edi,%edi
43dc9e:	8b 45 84             	mov    -0x7c(%ebp),%eax
43dca1:	8b 40 14             	mov    0x14(%eax),%eax
43dca4:	25 c0 01 00 00       	and    $0x1c0,%eax
43dca9:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
43dcaf:	83 f8 40             	cmp    $0x40,%eax
43dcb2:	74 33                	je     0x43dce7
43dcb4:	3d 00 01 00 00       	cmp    $0x100,%eax
43dcb9:	75 04                	jne    0x43dcbf
43dcbb:	84 d2                	test   %dl,%dl
43dcbd:	75 28                	jne    0x43dce7
43dcbf:	57                   	push   %edi
43dcc0:	ff 75 80             	push   -0x80(%ebp)
43dcc3:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
43dcc9:	ff 75 10             	push   0x10(%ebp)
43dccc:	ff 75 0c             	push   0xc(%ebp)
43dccf:	50                   	push   %eax
43dcd0:	e8 7b 02 00 00       	call   0x43df50
43dcd5:	83 c4 14             	add    $0x14,%esp
43dcd8:	33 ff                	xor    %edi,%edi
43dcda:	8b 10                	mov    (%eax),%edx
43dcdc:	89 55 0c             	mov    %edx,0xc(%ebp)
43dcdf:	8b 70 04             	mov    0x4(%eax),%esi
43dce2:	89 75 10             	mov    %esi,0x10(%ebp)
43dce5:	eb 06                	jmp    0x43dced
43dce7:	8b 75 10             	mov    0x10(%ebp),%esi
43dcea:	8b 55 0c             	mov    0xc(%ebp),%edx
43dced:	33 c0                	xor    %eax,%eax
43dcef:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
43dcf5:	0f be 84 05 74 ff ff 	movsbl -0x8c(%ebp,%eax,1),%eax
43dcfc:	ff
43dcfd:	83 e8 20             	sub    $0x20,%eax
43dd00:	0f 84 66 01 00 00    	je     0x43de6c
43dd06:	83 e8 04             	sub    $0x4,%eax
43dd09:	0f 84 42 01 00 00    	je     0x43de51
43dd0f:	83 e8 07             	sub    $0x7,%eax
43dd12:	0f 84 15 01 00 00    	je     0x43de2d
43dd18:	83 e8 4b             	sub    $0x4b,%eax
43dd1b:	74 0f                	je     0x43dd2c
43dd1d:	48                   	dec    %eax
43dd1e:	83 e8 01             	sub    $0x1,%eax
43dd21:	0f 84 66 01 00 00    	je     0x43de8d
43dd27:	e9 8f 01 00 00       	jmp    0x43debb
43dd2c:	85 db                	test   %ebx,%ebx
43dd2e:	75 26                	jne    0x43dd56
43dd30:	83 7d 38 10          	cmpl   $0x10,0x38(%ebp)
43dd34:	8d 45 24             	lea    0x24(%ebp),%eax
43dd37:	72 03                	jb     0x43dd3c
43dd39:	8b 45 24             	mov    0x24(%ebp),%eax
43dd3c:	ff 75 34             	push   0x34(%ebp)
43dd3f:	50                   	push   %eax
43dd40:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
43dd46:	56                   	push   %esi
43dd47:	52                   	push   %edx
43dd48:	50                   	push   %eax
43dd49:	e8 78 fc ff ff       	call   0x43d9c6
43dd4e:	83 c4 14             	add    $0x14,%esp
43dd51:	e9 5a 01 00 00       	jmp    0x43deb0
43dd56:	39 5d 34             	cmp    %ebx,0x34(%ebp)
43dd59:	77 6a                	ja     0x43ddc5
43dd5b:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
43dd61:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43dd64:	e8 9a b1 fe ff       	call   0x428f03
43dd69:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
43dd6c:	e8 a3 02 00 00       	call   0x43e014
43dd71:	50                   	push   %eax
43dd72:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43dd75:	e8 89 b1 fe ff       	call   0x428f03
43dd7a:	8b c3                	mov    %ebx,%eax
43dd7c:	2b 45 34             	sub    0x34(%ebp),%eax
43dd7f:	50                   	push   %eax
43dd80:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
43dd86:	8d 85 4c ff ff ff    	lea    -0xb4(%ebp),%eax
43dd8c:	ff 75 10             	push   0x10(%ebp)
43dd8f:	ff 75 0c             	push   0xc(%ebp)
43dd92:	50                   	push   %eax
43dd93:	e8 b8 01 00 00       	call   0x43df50
43dd98:	8b c8                	mov    %eax,%ecx
43dd9a:	83 c4 14             	add    $0x14,%esp
43dd9d:	83 7d 38 10          	cmpl   $0x10,0x38(%ebp)
43dda1:	8b 01                	mov    (%ecx),%eax
43dda3:	89 45 0c             	mov    %eax,0xc(%ebp)
43dda6:	8b 41 04             	mov    0x4(%ecx),%eax
43dda9:	89 45 10             	mov    %eax,0x10(%ebp)
43ddac:	8d 45 24             	lea    0x24(%ebp),%eax
43ddaf:	72 03                	jb     0x43ddb4
43ddb1:	8b 45 24             	mov    0x24(%ebp),%eax
43ddb4:	ff 75 34             	push   0x34(%ebp)
43ddb7:	50                   	push   %eax
43ddb8:	ff 71 04             	push   0x4(%ecx)
43ddbb:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
43ddc1:	ff 31                	push   (%ecx)
43ddc3:	eb 83                	jmp    0x43dd48
43ddc5:	83 7d 38 10          	cmpl   $0x10,0x38(%ebp)
43ddc9:	8d 4d 24             	lea    0x24(%ebp),%ecx
43ddcc:	72 03                	jb     0x43ddd1
43ddce:	8b 4d 24             	mov    0x24(%ebp),%ecx
43ddd1:	8b 45 34             	mov    0x34(%ebp),%eax
43ddd4:	2b c3                	sub    %ebx,%eax
43ddd6:	50                   	push   %eax
43ddd7:	51                   	push   %ecx
43ddd8:	56                   	push   %esi
43ddd9:	52                   	push   %edx
43ddda:	8d 85 3c ff ff ff    	lea    -0xc4(%ebp),%eax
43dde0:	50                   	push   %eax
43dde1:	e8 e0 fb ff ff       	call   0x43d9c6
43dde6:	8b c8                	mov    %eax,%ecx
43dde8:	83 c4 14             	add    $0x14,%esp
43ddeb:	8b 01                	mov    (%ecx),%eax
43dded:	89 45 0c             	mov    %eax,0xc(%ebp)
43ddf0:	8b 41 04             	mov    0x4(%ecx),%eax
43ddf3:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
43ddf6:	89 45 10             	mov    %eax,0x10(%ebp)
43ddf9:	e8 16 02 00 00       	call   0x43e014
43ddfe:	50                   	push   %eax
43ddff:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43de02:	e8 fc b0 fe ff       	call   0x428f03
43de07:	83 7d 38 10          	cmpl   $0x10,0x38(%ebp)
43de0b:	8d 4d 24             	lea    0x24(%ebp),%ecx
43de0e:	72 03                	jb     0x43de13
43de10:	8b 4d 24             	mov    0x24(%ebp),%ecx
43de13:	8b 45 34             	mov    0x34(%ebp),%eax
43de16:	03 c1                	add    %ecx,%eax
43de18:	53                   	push   %ebx
43de19:	2b c3                	sub    %ebx,%eax
43de1b:	50                   	push   %eax
43de1c:	ff 75 10             	push   0x10(%ebp)
43de1f:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
43de25:	ff 75 0c             	push   0xc(%ebp)
43de28:	e9 1b ff ff ff       	jmp    0x43dd48
43de2d:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
43de31:	0f 86 84 00 00 00    	jbe    0x43debb
43de37:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
43de3b:	8d 45 d8             	lea    -0x28(%ebp),%eax
43de3e:	72 03                	jb     0x43de43
43de40:	8b 45 d8             	mov    -0x28(%ebp),%eax
43de43:	6a 01                	push   $0x1
43de45:	50                   	push   %eax
43de46:	8d 85 2c ff ff ff    	lea    -0xd4(%ebp),%eax
43de4c:	e9 f5 fe ff ff       	jmp    0x43dd46
43de51:	83 7d bc 10          	cmpl   $0x10,-0x44(%ebp)
43de55:	8d 45 a8             	lea    -0x58(%ebp),%eax
43de58:	72 03                	jb     0x43de5d
43de5a:	8b 45 a8             	mov    -0x58(%ebp),%eax
43de5d:	ff 75 b8             	push   -0x48(%ebp)
43de60:	50                   	push   %eax
43de61:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
43de67:	e9 da fe ff ff       	jmp    0x43dd46
43de6c:	6a 01                	push   $0x1
43de6e:	ff 75 80             	push   -0x80(%ebp)
43de71:	8d 85 1c ff ff ff    	lea    -0xe4(%ebp),%eax
43de77:	56                   	push   %esi
43de78:	52                   	push   %edx
43de79:	50                   	push   %eax
43de7a:	e8 d1 00 00 00       	call   0x43df50
43de7f:	83 c4 14             	add    $0x14,%esp
43de82:	8b 10                	mov    (%eax),%edx
43de84:	89 55 0c             	mov    %edx,0xc(%ebp)
43de87:	8b 70 04             	mov    0x4(%eax),%esi
43de8a:	89 75 10             	mov    %esi,0x10(%ebp)
43de8d:	81 bd 6c ff ff ff 00 	cmpl   $0x100,-0x94(%ebp)
43de94:	01 00 00
43de97:	75 22                	jne    0x43debb
43de99:	57                   	push   %edi
43de9a:	ff 75 80             	push   -0x80(%ebp)
43de9d:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
43dea3:	56                   	push   %esi
43dea4:	52                   	push   %edx
43dea5:	50                   	push   %eax
43dea6:	e8 a5 00 00 00       	call   0x43df50
43deab:	83 c4 14             	add    $0x14,%esp
43deae:	33 ff                	xor    %edi,%edi
43deb0:	8b 10                	mov    (%eax),%edx
43deb2:	89 55 0c             	mov    %edx,0xc(%ebp)
43deb5:	8b 70 04             	mov    0x4(%eax),%esi
43deb8:	89 75 10             	mov    %esi,0x10(%ebp)
43debb:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
43dec1:	40                   	inc    %eax
43dec2:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
43dec8:	83 f8 04             	cmp    $0x4,%eax
43decb:	0f 82 24 fe ff ff    	jb     0x43dcf5
43ded1:	83 7d e8 01          	cmpl   $0x1,-0x18(%ebp)
43ded5:	76 2f                	jbe    0x43df06
43ded7:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
43dedb:	8d 4d d8             	lea    -0x28(%ebp),%ecx
43dede:	72 03                	jb     0x43dee3
43dee0:	8b 4d d8             	mov    -0x28(%ebp),%ecx
43dee3:	8b 45 e8             	mov    -0x18(%ebp),%eax
43dee6:	41                   	inc    %ecx
43dee7:	48                   	dec    %eax
43dee8:	50                   	push   %eax
43dee9:	51                   	push   %ecx
43deea:	56                   	push   %esi
43deeb:	52                   	push   %edx
43deec:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
43def2:	50                   	push   %eax
43def3:	e8 ce fa ff ff       	call   0x43d9c6
43def8:	83 c4 14             	add    $0x14,%esp
43defb:	8b 10                	mov    (%eax),%edx
43defd:	89 55 0c             	mov    %edx,0xc(%ebp)
43df00:	8b 70 04             	mov    0x4(%eax),%esi
43df03:	89 75 10             	mov    %esi,0x10(%ebp)
43df06:	8b 45 84             	mov    -0x7c(%ebp),%eax
43df09:	57                   	push   %edi
43df0a:	ff 75 80             	push   -0x80(%ebp)
43df0d:	83 60 20 00          	andl   $0x0,0x20(%eax)
43df11:	83 60 24 00          	andl   $0x0,0x24(%eax)
43df15:	56                   	push   %esi
43df16:	8b b5 64 ff ff ff    	mov    -0x9c(%ebp),%esi
43df1c:	52                   	push   %edx
43df1d:	56                   	push   %esi
43df1e:	e8 2d 00 00 00       	call   0x43df50
43df23:	83 c4 14             	add    $0x14,%esp
43df26:	8d 4d a8             	lea    -0x58(%ebp),%ecx
43df29:	e8 a6 f3 fd ff       	call   0x41d2d4
43df2e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
43df31:	e8 9e f3 fd ff       	call   0x41d2d4
43df36:	8d 4d c0             	lea    -0x40(%ebp),%ecx
43df39:	e8 96 f3 fd ff       	call   0x41d2d4
43df3e:	8d 4d 24             	lea    0x24(%ebp),%ecx
43df41:	e8 8e f3 fd ff       	call   0x41d2d4
43df46:	8b c6                	mov    %esi,%eax
43df48:	e8 db 1a 00 00       	call   0x43fa28
43df4d:	c2 38 00             	ret    $0x38
43df50:	55                   	push   %ebp
43df51:	8b ec                	mov    %esp,%ebp
43df53:	56                   	push   %esi
43df54:	8b 75 18             	mov    0x18(%ebp),%esi
43df57:	85 f6                	test   %esi,%esi
43df59:	74 10                	je     0x43df6b
43df5b:	ff 75 14             	push   0x14(%ebp)
43df5e:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43df61:	e8 9d af fe ff       	call   0x428f03
43df66:	83 ee 01             	sub    $0x1,%esi
43df69:	75 f0                	jne    0x43df5b
43df6b:	8b 45 08             	mov    0x8(%ebp),%eax
43df6e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43df71:	5e                   	pop    %esi
43df72:	89 08                	mov    %ecx,(%eax)
43df74:	8b 4d 10             	mov    0x10(%ebp),%ecx
43df77:	89 48 04             	mov    %ecx,0x4(%eax)
43df7a:	5d                   	pop    %ebp
43df7b:	c3                   	ret
43df7c:	56                   	push   %esi
43df7d:	8b f1                	mov    %ecx,%esi
43df7f:	ff 76 08             	push   0x8(%esi)
43df82:	e8 07 ee 00 00       	call   0x44cd8e
43df87:	ff 76 10             	push   0x10(%esi)
43df8a:	e8 ff ed 00 00       	call   0x44cd8e
43df8f:	ff 76 14             	push   0x14(%esi)
43df92:	e8 f7 ed 00 00       	call   0x44cd8e
43df97:	ff 76 18             	push   0x18(%esi)
43df9a:	e8 ef ed 00 00       	call   0x44cd8e
43df9f:	83 c4 10             	add    $0x10,%esp
43dfa2:	5e                   	pop    %esi
43dfa3:	c3                   	ret
43dfa4:	56                   	push   %esi
43dfa5:	8b f1                	mov    %ecx,%esi
43dfa7:	ff 76 08             	push   0x8(%esi)
43dfaa:	e8 df ed 00 00       	call   0x44cd8e
43dfaf:	ff 76 0c             	push   0xc(%esi)
43dfb2:	e8 d7 ed 00 00       	call   0x44cd8e
43dfb7:	ff 76 10             	push   0x10(%esi)
43dfba:	e8 cf ed 00 00       	call   0x44cd8e
43dfbf:	83 c4 0c             	add    $0xc,%esp
43dfc2:	5e                   	pop    %esi
43dfc3:	c3                   	ret
43dfc4:	55                   	push   %ebp
43dfc5:	8b ec                	mov    %esp,%ebp
43dfc7:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
43dfcb:	72 02                	jb     0x43dfcf
43dfcd:	8b 09                	mov    (%ecx),%ecx
43dfcf:	8b 45 08             	mov    0x8(%ebp),%eax
43dfd2:	89 08                	mov    %ecx,(%eax)
43dfd4:	5d                   	pop    %ebp
43dfd5:	c2 04 00             	ret    $0x4
43dfd8:	55                   	push   %ebp
43dfd9:	8b ec                	mov    %esp,%ebp
43dfdb:	56                   	push   %esi
43dfdc:	57                   	push   %edi
43dfdd:	ff 75 08             	push   0x8(%ebp)
43dfe0:	8b f9                	mov    %ecx,%edi
43dfe2:	8b 17                	mov    (%edi),%edx
43dfe4:	8b 72 18             	mov    0x18(%edx),%esi
43dfe7:	8b ce                	mov    %esi,%ecx
43dfe9:	ff 15 54 43 49 00    	call   *0x494354
43dfef:	8b cf                	mov    %edi,%ecx
43dff1:	ff d6                	call   *%esi
43dff3:	8b 45 08             	mov    0x8(%ebp),%eax
43dff6:	5f                   	pop    %edi
43dff7:	5e                   	pop    %esi
43dff8:	5d                   	pop    %ebp
43dff9:	c2 04 00             	ret    $0x4
43dffc:	56                   	push   %esi
43dffd:	57                   	push   %edi
43dffe:	8b f9                	mov    %ecx,%edi
43e000:	8b 07                	mov    (%edi),%eax
43e002:	8b 70 0c             	mov    0xc(%eax),%esi
43e005:	8b ce                	mov    %esi,%ecx
43e007:	ff 15 54 43 49 00    	call   *0x494354
43e00d:	8b cf                	mov    %edi,%ecx
43e00f:	ff d6                	call   *%esi
43e011:	5f                   	pop    %edi
43e012:	5e                   	pop    %esi
43e013:	c3                   	ret
43e014:	56                   	push   %esi
43e015:	57                   	push   %edi
43e016:	8b f9                	mov    %ecx,%edi
43e018:	8b 07                	mov    (%edi),%eax
43e01a:	8b 70 0c             	mov    0xc(%eax),%esi
43e01d:	8b ce                	mov    %esi,%ecx
43e01f:	ff 15 54 43 49 00    	call   *0x494354
43e025:	8b cf                	mov    %edi,%ecx
43e027:	ff d6                	call   *%esi
43e029:	5f                   	pop    %edi
43e02a:	5e                   	pop    %esi
43e02b:	c3                   	ret
43e02c:	c2 04 00             	ret    $0x4